Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
The dm-stats facility provides a means to store a string as auxilliary data to a region that is set either when the region is created or via the @stats_set_aux method:
@stats_create - /1 dmstats this_is_aux_data
@stats_set_aux 1 this_is_aux_data_too
The userspace dmstats support will use this to track groups of regions defined by the user by storing a string description of the group members and other properties in the aux_data field.
Since users can create and delete groups at any time there needs to be a mechanism to remove a previously stored value or to set the field to the empty string.
This is not currently possible as the empty string is treated as whitespace leading to EINVAL from the message ioctl (as a workaround it is possible to set the field to a dummy character like '-' but this is not ideal).
Adding a new @stats_clear_aux message seems like the simplest change and should be a simple patch.
Version-Release number of selected component (if applicable):
kernel-3.10.0-*
How reproducible:
100%
Steps to Reproduce:
1. Create a region with aux_data
2. Attempt to re-set it to empty aux_data with @stats_set_aux
Actual results:
EINVAL with the empty string; at least one character must be set.
Expected results:
Ability to remove previously stored aux_data.
Additional info:
WIP groups support: https://git.fedorahosted.org/cgit/lvm2.git/log/?h=dev-bmr-dmstats-groups
Created attachment 1134589[details]
dm-stats: add @stats_clear_aux message
Untested patch to add a @stats_clear_aux message. This was chosen over modifying the @stats_set_aux message to avoid the need to add optional arguments (as @stats_create uses for the precise_timestamps and histogram extensions).
While working on the patch for this I realised that the current dm-stats code in the kernel actually now assigns a default hard-coded aux_data (and program_id) of "-" - I'd mistakenly thought that these values were added only during output if these fields had a NULL pointer in the dm_stats structure.
Re-setting the field to "-" using @stats_set_aux does work (although it looks a bit weird) so this change is not necessary for the current groups support.
Closing NOTABUG.