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
I've no objections to @stats_clear_aux
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.
Is this documented? If not, then Documentation/device-mapper/statistics.txt may need a patch.