summaryrefslogtreecommitdiff
path: root/WHATS_NEW_DM
diff options
context:
space:
mode:
Diffstat (limited to 'WHATS_NEW_DM')
-rw-r--r--WHATS_NEW_DM699
1 files changed, 698 insertions, 1 deletions
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 2d0b05c..ba26c02 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,3 +1,700 @@
+Version 1.02.196 - 02nd August 2023
+===================================
+
+Version 1.02.195 - 21st April 2023
+==================================
+
+Version 1.02.193 - 21st March 2023
+==================================
+
+Version 1.02.191 - 21st February 2023
+=====================================
+ Improve parallel creation of /dev/mapper/control device node.
+ Import previous ID_FS_* udev records in 13-dm-disk.rules for suspended DM dev.
+ Remove NAME="mapper/control" rule from 10-dm.rules to avoid udev warnings.
+
+Version 1.02.189 - 22nd December 2022
+=====================================
+ Improve 'dmsetup create' without given table line with new kernels.
+
+Version 1.02.187 - 10th November 2022
+=====================================
+ Add DM_REPORT_GROUP_JSON_STD for more JSON standard compliant output format.
+
+Version 1.02.185 - 18th May 2022
+================================
+
+Version 1.02.183 - 07th February 2022
+=====================================
+ Unmangle UUIDs for DM_DEVICE_LIST ioctl.
+
+Version 1.02.181 - 20th October 2021
+====================================
+ Add IMA support with 'dmsetup measure' command.
+ Add defines DM_NAME_LIST_FLAG_HAS_UUID, DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID.
+ Enhance tracking of activated devices when preloading dm tree.
+ Fix bug in construction of cache table line (regression from 1.02.159).
+
+Version 1.02.179 - 11th August 2021
+===================================
+
+Version 1.02.177 - 07th May 2021
+================================
+ Configure proceeds without libaio to allow build of device-mapper only.
+ Fix symbol versioning build with -O2 -flto.
+ Add dm_tree_node_add_thin_pool_target_v1 with crop_metadata support.
+
+Version 1.02.175 - 08th January 2021
+====================================
+
+Version 1.02.173 - 09th August 2020
+===================================
+ Add support for VDO in blkdeactivate script.
+
+Version 1.02.171 - 26th March 2020
+==================================
+ Try to remove all created devices on dm preload tree error path.
+ Fix dm_list interators with gcc 10 optimization (-ftree-pta).
+ Dmeventd handles timer without looping on short intervals.
+
+Version 1.02.169 - 11th February 2020
+=====================================
+ Enhance error messages for device creation.
+
+Version 1.02.167 - 30th November 2019
+=====================================
+
+Version 1.02.165 - 23rd October 2019
+====================================
+ Add support for DM_DEVICE_GET_TARGET_VERSION.
+ Add debug of dmsetup udevcomplete with hexa print DM_COOKIE_COMPLETED.
+ Fix versioning of dm_stats_create_region and dm_stats_create_region.
+
+Version 1.02.163 - 15th June 2019
+=================================
+
+Version 1.02.161 - 10th June 2019
+=================================
+
+Version 1.02.159 - 07th June 2019
+=================================
+ Parsing of cache status understand no_discard_passdown.
+ Ensure migration_threshold for cache is at least 8 chunks.
+
+Version 1.02.155 - 18th December 2018
+=====================================
+ Include correct internal header inside libdm list.c.
+ Enhance ioctl flattening and add parameters only when needed.
+ Add DM_DEVICE_ARM_POLL for API completness matching kernel.
+ Do not add parameters for RESUME with DM_DEVICE_CREATE dm task.
+ Fix dmstats report printing no output.
+
+Version 1.02.153 - 31st October 2018
+====================================
+
+Version 1.02.151 - 10th October 2018
+====================================
+ Add hot fix to avoiding locking collision when monitoring thin-pools.
+
+Version 1.02.150 - 01 August 2018
+=================================
+ Add vdo plugin for monitoring VDO devices.
+
+Version 1.02.149 - 19th July 2018
+=================================
+
+Version 1.02.148 - 18th June 2018
+=================================
+
+Version 1.02.147 - 13th June 2018
+=================================
+
+Version 1.02.147-rc1 - 24th May 2018
+====================================
+ Reuse uname() result for mirror target.
+ Recognize also mounted btrfs through dm_device_has_mounted_fs().
+ Add missing log_error() into dm_stats_populate() returning 0.
+ Avoid calling dm_stats_populat() for DM devices without any stats regions.
+ Support DM_DEBUG_WITH_LINE_NUMBERS envvar for debug msg with source:line.
+ Configured command for thin pool threshold handling gets whole environment.
+ Fix tests for failing dm_snprintf() in stats code.
+ Parsing mirror status accepts 'userspace' keyword in status.
+ Introduce dm_malloc_aligned for page alignment of buffers.
+
+Version 1.02.146 - 18th December 2017
+=====================================
+ Activation tree of thin pool skips duplicated check of pool status.
+ Remove code supporting replicator target.
+ Do not ignore failure of _info_by_dev().
+ Propagate delayed resume for pvmove subvolumes.
+ Suppress integrity encryption keys in 'table' output unless --showkeys supplied.
+
+Version 1.02.145 - 3rd November 2017
+====================================
+ Keep Install section only in dm-event.socket systemd unit.
+ Issue a specific error with dmsetup status if device is unknown.
+ Fix RT_LIBS reference in generated libdevmapper.pc for pkg-config
+
+Version 1.02.144 - 6th October 2017
+===================================
+ Schedule exit when received SIGTERM in dmeventd.
+ Also try to unmount /boot on blkdeactivate -u if on top of supported device.
+ Use blkdeactivate -r wait in blk-availability systemd service/initscript.
+ Add blkdeactivate -r wait option to wait for MD resync/recovery/reshape.
+ Fix blkdeactivate regression with failing DM/MD devs deactivation (1.02.142).
+ Fix typo in blkdeactivate's '--{dm,lvm,mpath}options' option name.
+ Correct return value testing when get reserved values for reporting.
+ Take -S with dmsetup suspend/resume/clear/wipe_table/remove/deps/status/table.
+
+Version 1.02.143 - 13th September 2017
+======================================
+ Restore umask when creation of node fails.
+ Add --concise to dmsetup create for many devices with tables in one command.
+ Accept minor number without major in library when it knows dm major number.
+ Introduce single-line concise table output format: dmsetup table --concise
+
+Version 1.02.142 - 20th July 2017
+=================================
+ Create /dev/disk/by-part{uuid,label} and gpt-auto-root symlinks with udev.
+
+Version 1.02.141 - 28th June 2017
+=================================
+ Fix reusing of dm_task structure for status reading (used by dmeventd).
+ Add dm_percent_to_round_float for adjusted percentage rounding.
+ Reset array with dead rimage devices once raid gets in sync.
+ Drop unneeded --config option from raid dmeventd plugin.
+ dm_get_status_raid() handle better some incosistent md statuses.
+ Accept truncated files in calls to dm_stats_update_regions_from_fd().
+ Restore Warning by 5% increment when thin-pool is over 80% (1.02.138).
+
+Version 1.02.140 - 3rd May 2017
+===============================
+ Add missing configure --enable-dmfilemapd status message and fix --disable.
+
+Version 1.02.139 - 13th April 2017
+==================================
+ Fix assignment in _target_version() when dm task can't run.
+ Flush stdout on each iteration when using --count or --interval.
+ Show detailed error message when execvp fails while starting dmfilemapd.
+ Fix segmentation fault when dmfilemapd is run with no arguments.
+ Numerous minor dmfilemapd fixes from coverity.
+
+Version 1.02.138 - 28th March 2017
+==================================
+ Support additional raid5/6 configurations.
+ Provide dm_tree_node_add_cache_target@base compatible symbol.
+ Support DM_CACHE_FEATURE_METADATA2, new cache metadata format 2.
+ Improve code to handle mode mask for cache nodes.
+ Cache status check for passthrough also require trailing space.
+ Add extra memory page when limiting pthread stack size in dmeventd.
+ Avoids immediate resume when preloaded device is smaller.
+ Do not suppress kernel key description in dmsetup table output for dm-crypt.
+ Support configurable command executed from dmeventd thin plugin.
+ Support new R|r human readable units output format.
+ Thin dmeventd plugin reacts faster on lvextend failure path with umount.
+ Add dm_stats_bind_from_fd() to bind a stats handle from a file descriptor.
+ Do not try call callback when reverting activation on error path.
+ Fix file mapping for extents with physically adjacent extents in dmstats.
+ Validation vsnprintf result in runtime translate of dm_log (1.02.136).
+ Separate filemap extent allocation from region table in dmstats.
+ Fix segmentation fault when filemap region creation fails in dmstats.
+ Fix performance of region cleanup for failed filemap creation in dmstats.
+ Fix very slow region deletion with many regions in dmstats.
+
+Version 1.02.137 - 30th November 2016
+=====================================
+ Document raid status values.
+ Always exit dmsetup with success when asked to display help/version.
+
+Version 1.02.136 - 5th November 2016
+====================================
+ Log failure of raid device with log_error level.
+ Use dm_log_with_errno and translate runtime to dm_log only when needed.
+ Make log messages from dm and lvm library different from dmeventd.
+ Notice and Info messages are again logged from dmeventd and its plugins.
+ Dmeventd now also respects DM_ABORT_ON_INTERNAL_ERRORS as libdm based tool.
+ Report as non default dm logging also when logging with errno was changed.
+ Use log_level() macro to consistently decode message log level in dmeventd.
+ Still produce output when dmsetup dependency tree building finds dev missing.
+ Check and report pthread_sigmask() failure in dmeventd.
+ Check mem alloc fail in _canonicalize_field_ids().
+ Use unsigned math when checking more then 31 legs of raid.
+ Fix 'dmstats delete' with dmsetup older than v1.02.129
+ Fix stats walk segfault with dmsetup older than v1.02.129
+
+Version 1.02.135 - 26th September 2016
+======================================
+ Fix man entry for dmsetup status.
+ Introduce new dm_config_parse_without_dup_node_check().
+ Don't omit last entry in dmstats list --group.
+
+Version 1.02.134 - 7th September 2016
+=====================================
+ Improve explanation of udev fallback in libdevmapper.h.
+
+Version 1.02.133 - 10th August 2016
+===================================
+ Add dm_report_destroy_rows/dm_report_group_output_and_pop_all for lvm shell.
+ Adjust group handling and json production for lvm shell.
+
+Version 1.02.132 - 28th July 2016
+=================================
+ Fix json reporting to escape '"' character that may appear in reported string.
+
+Version 1.02.131 - 15th July 2016
+=================================
+ Disable queueing on mpath devs in blk-availability systemd service/initscript.
+ Add new -m|--mpathoption disablequeueing to blkdeactivate.
+ Automatically group regions with 'create --segments' unless --nogroup.
+ Fix resource leak when deleting the first member of a group.
+ Allow --bounds with 'create --filemap' for dmstats.
+ Enable creation of filemap regions with histograms.
+ Enable histogram aggregation for regions with more than one area.
+ Enable histogram aggregation for groups of regions.
+ Add a --filemap option to 'dmstats create' to allow mapping of files.
+ Add dm_stats_create_regions_from_fd() to map file extents to regions.
+
+Version 1.02.130 - 6th July 2016
+================================
+ Minor fixes from coverity.
+
+Version 1.02.129 - 6th July 2016
+================================
+ Update default dmstats field selections for groups.
+ Add 'obj_type', 'group_id', and 'statsname' fields to dmstats reports.
+ Add --area, --region, and --group to dmstats to control object selection.
+ Add --alias, --groupid, --regions to dmstats for group creation and deletion.
+ Add 'group' and 'ungroup' commands to dmstats.
+ Allow dm_stats_delete_group() to optionally delete all group members.
+ Add dm_stats_get_object_type() to return the type of object present.
+ Add dm_stats_walk_init() allowing control of objects visited by walks.
+ Add dm_stats_get_group_descriptor() to return the member list as a string.
+ Introduce dm_stats_get_nr_groups() and dm_stats_group_present().
+ Add dm_stats_{get,set}_alias() to set and retrieve alias names for groups.
+ Add dm_stats_get_group_id() to return the group ID for a given region.
+ Add dm_stats_{create,delete}_group() to allow grouping of stats regions.
+ Add enum-driven dm_stats_get_{metric,counter}() interfaces.
+ Add dm_bitset_parse_list() to parse a string representation of a bitset.
+ Thin dmeventd plugin umounts lvm2 volume only when pool is 95% or more.
+
+Version 1.02.128 - 25th June 2016
+=================================
+ Recognize 'all' keyword used in selection as synonym for "" (no selection).
+ Add dm_report_set_selection to set selection for multiple output of report.
+ Add DM_REPORT_OUTPUT_MULTIPLE_TIMES flag for multiple output of same report.
+ Move field width handling/sort init from dm_report_object to dm_report_output.
+ Add _LOG_BYPASS_REPORT flag for bypassing any log report currently set.
+ Introduce DM_REPORT_GROUP_JSON for report group with JSON output format.
+ Introduce DM_REPORT_GROUP_BASIC for report group with basic report output.
+ Introduce DM_REPORT_GROUP_SINGLE for report group having single report only.
+ Add dm_report_group_{create,push,pop,destroy} to support report grouping.
+
+Version 1.02.127 - 11th June 2016
+=================================
+ Fix blkdeactivate regression causing skipping of dm + md devices. (1.02.126)
+
+Version 1.02.126 - 3rd June 2016
+================================
+ Report passthrough caching mode when parsing cache mode.
+
+Version 1.02.125 - 14th May 2016
+================================
+ Show library version in message even if dm driver version is unavailable.
+
+Version 1.02.124 - 30th April 2016
+==================================
+ Add dm_udev_wait_immediate to libdevmapper for waiting outside the library.
+
+Version 1.02.123 - 23rd April 2016
+==================================
+ Do not strip LVM- when debug reporting not found uuid.
+
+Version 1.02.122 - 9th April 2016
+=================================
+ Change log_debug ioctl flags from single characters into words.
+
+Version 1.02.121 - 26th March 2016
+==================================
+ Adjust raid status function.
+
+Version 1.02.120 - 11th March 2016
+==================================
+ Improve parsing of cache status and report Fail, Error, needs_check, ro.
+
+Version 1.02.119 - 4th March 2016
+=================================
+ Fix dm_config_write_node and variants to return error on subsection failures.
+ Remove 4096 char limit due to buffer size if writing dm_config_node.
+
+Version 1.02.118 - 26th February 2016
+=====================================
+ Fix string boundary check in _get_canonical_field_name().
+ Always initialized hist struct in _stats_parse_histogram().
+
+Version 1.02.117 - 21st February 2016
+=====================================
+ Improve status parsing for thin-pool and thin devices.
+
+Version 1.02.116 - 15th February 2016
+=====================================
+ Use fully aligned allocations for dm_pool_strdup/strndup() (1.02.64).
+ Fix thin-pool table parameter feature order to match kernel output.
+
+Version 1.02.115 - 25th January 2016
+====================================
+ Fix man page for dmsetup udevcreatecookie.
+
+Version 1.02.114 - 14th December 2015
+=====================================
+ Better support for dmsetup static linkage.
+ Extend validity checks on dmeventd client socket.
+
+Version 1.02.113 - 5th December 2015
+====================================
+ Mirror plugin in dmeventd uses dm_get_status_mirror().
+ Add dm_get_status_mirror() for parsing mirror status line.
+
+Version 1.02.112 - 28th November 2015
+=====================================
+ Show error message when trying to create unsupported raid type.
+ Improve preloading sequence of an active thin-pool target.
+ Drop extra space from cache target line to fix unneded table reloads.
+
+Version 1.02.111 - 23rd November 2015
+=====================================
+ Extend dm_hash to support multiple values with the same key.
+ Add missing check for allocation inside dm_split_lvm_name().
+ Test dm_task_get_message_response for !NULL in dm_stats_print_region().
+ Add checks for failing dm_stats_create() in dmsetup.
+ Add missing fifo close when failed to initialize client connection.
+
+Version 1.02.110 - 30th October 2015
+====================================
+ Disable thin monitoring plugin when it fails too often (>10 times).
+ Fix/restore parsing of empty field '-' when processing dmeventd event.
+ Enhance dm_tree_node_size_changed() to recognize size reduction.
+ Support exit on idle for dmenventd (1 hour).
+ Add support to allow unmonitor device from plugin itself.
+ New design for thread co-operation in dmeventd.
+ Dmeventd read device status with 'noflush'.
+ Dmeventd closes control device when no device is monitored.
+ Thin plugin for dmeventd improved percentage usage.
+ Snapshot plugin for dmeventd improved percentage usage.
+ Add dm_hold_control_dev to allow holding of control device open.
+ Add dm_report_compact_given_fields to remove given empty fields from report.
+ Use libdm status parsing and local mem raid dmeventd plugin.
+ Use local mem pool and lock only lvm2 execution for mirror dmeventd plugin.
+ Lock protect only lvm2 execution for snapshot and thin dmeventd plugin.
+ Use local mempool for raid and mirror plugins.
+ Reworked thread initialization for dmeventd plugins.
+ Dmeventd handles snapshot overflow for now equally as invalid.
+ Convert dmeventd to use common logging macro system from libdm.
+ Return -ENOMEM when device registration fails instead of 0 (=success).
+ Enforce writethrough mode for cleaner policy.
+ Add support for recognition and deactivation of MD devices to blkdeactivate.
+ Move target status functions out of libdm-deptree.
+ Correct use of max_write_behind parameter when generating raid target line.
+ Fix dm-event systemd service to make sure it is executed before mounting.
+
+Version 1.02.109 - 22nd September 2015
+======================================
+ Update man pages for dmsetup and dmstats.
+ Improve help text for dmsetup.
+ Use --noflush and --nolockfs when removing device with --force.
+ Parse new Overflow status string for snapshot target.
+ Check dir path components are valid if using dm_create_dir, error out if not.
+ Fix /dev/mapper handling to remove dangling entries if symlinks are found.
+ Make it possible to use blank value as selection for string list report field.
+
+Version 1.02.108 - 15th September 2015
+======================================
+ Do not check for full thin pool when activating without messages (1.02.107).
+
+Version 1.02.107 - 5th September 2015
+=====================================
+ Parse thin-pool status with one single routine internally.
+ Add --histogram to select default histogram fields for list and report.
+ Add report fields for displaying latency histogram configuration and data.
+ Add dmstats --bounds to specify histogram boundaries for a new region.
+ Add dm_histogram_to_string() to format histogram data in string form.
+ Add public methods to libdm to access numerical histogram config and data.
+ Parse and store histogram data in dm_stats_list() and dm_stats_populate().
+ Add an argument to specify histogram bounds to dm_stats_create_region().
+ Add dm_histogram_bounds_from_{string,uint64_t}() to parse histogram bounds.
+ Add dm_histogram handle type to represent a latency histogram and its bounds.
+ Fix devmapper.pc pkgconfig file to not reference non-existent rt.pc file.
+ Reinstate dm_task_get_info@Base to libdevmapper exports. (1.02.106)
+
+Version 1.02.106 - 26th August 2015
+===================================
+ Add 'precise' column to statistics reports.
+ Add --precise switch to 'dmstats create' to request nanosecond counters.
+ Add precise argument to dm_stats_create_region().
+ Add support to libdm-stats for precise_timestamps
+
+Version 1.02.105 - 17th August 2015
+===================================
+ Fix 'dmstats list -o all' segfault.
+ Separate dmstats statistics fields from region information fields.
+ Add interval and interval_ns fields to dmstats reports.
+ Do not include internal glibc headers in libdm-timestamp.c (1.02.104)
+ Exit immediately if no device is supplied to dmsetup wipe_table.
+ Suppress dmsetup report headings when no data is output. (1.02.104)
+ Adjust dmsetup usage/help output selection to match command invoked.
+ Fix dmsetup -o all to select correct fields in splitname report.
+ Restructure internal dmsetup argument handling across all commands.
+ Add dm_report_is_empty() to indicate there is no data awaiting output.
+ Add more arg validation for dm_tree_node_add_cache_target().
+ Add --alldevices switch to replace use of --force for stats create / delete.
+
+Version 1.02.104 - 10th August 2015
+===================================
+ Add dmstats.8 man page
+ Add dmstats --segments switch to create one region per device segment.
+ Add dmstats --regionid, --allregions to specify a single / all stats regions.
+ Add dmstats --allprograms for stats commands that filter by program ID.
+ Add dmstats --auxdata and --programid args to specify aux data and program ID.
+ Add report stats sub-command to provide repeating stats reports.
+ Add clear, delete, list, and print stats sub-commands.
+ Add create stats sub-command and --start, --length, --areas and --areasize.
+ Recognize 'dmstats' as an alias for 'dmsetup stats' when run with this name.
+ Add a 'stats' command to dmsetup to configure, manage and report stats data.
+ Add statistics fields to dmsetup -o.
+ Add libdm-stats library to allow management of device-mapper statistics.
+ Add --nosuffix to suppress dmsetup unit suffixes in report output.
+ Add --units to control dmsetup report field output units.
+ Add support to redisplay column headings for repeating column reports.
+ Fix report header and row resource leaks.
+ Report timestamps of ioctls with dmsetup -vvv.
+ Recognize report field name variants without any underscores too.
+ Add dmsetup --interval and --count to repeat reports at specified intervals.
+ Add dm_timestamp functions to libdevmapper.
+ Recognise vg/lv name format in dmsetup.
+ Move size display code to libdevmapper as dm_size_to_string.
+
+Version 1.02.103 - 24th July 2015
+=================================
+ Introduce libdevmapper wrappers for all malloc-related functions.
+
+Version 1.02.102 - 7th July 2015
+================================
+ Include tool.h for default non-library use.
+ Introduce format macros with embedded % such as FMTu64.
+
+Version 1.02.101 - 3rd July 2015
+================================
+ Add experimental support to passing messages in suspend tree.
+ Add dm_report_value_cache_{set,get} to support caching during report/select.
+ Add dm_report_reserved_handler to handle report reserved value actions.
+ Support dynamic value in select: DM_REPORT_FIELD_RESERVED_VALUE_DYNAMIC_VALUE.
+ Support fuzzy names in select: DM_REPORT_FIELD_RESERVED_VALUE_FUZZY_NAMES.
+ Thin pool trace messages show a device name and major:minor.
+
+Version 1.02.100 - 30th June 2015
+=================================
+ Add since, after, until and before time operators to be used in selection.
+ Add support for time in reports and selection: DM_REPORT_FIELD_TYPE_TIME.
+ Support report reserved value ranges: DM_REPORT_FIELD_RESERVED_VALUE_RANGE.
+ Support report reserved value names: DM_REPORT_FIELD_RESERVED_VALUE_NAMED.
+ Add DM_CONFIG_VALUE_FMT_{INT_OCTAL,STRING_NO_QUOTES} config value format flag.
+ Add DM_CONFIG_VALUE_FMT_COMMON_{ARRAY,EXTRA_SPACE} config value format flag.
+ Add dm_config_value_{get,set}_format_flags to get and set config value format.
+
+Version 1.02.99 - 20th June 2015
+================================
+ New dm_tree_node_set_thin_pool_read_only(DM_1_02_99) for read-only thin pool.
+ Enhance error message when thin-pool message fails.
+ Fix dmeventd logging to avoid threaded use of static variable.
+ Remove redundant dmeventd SIGALRM coded.
+
+Version 1.02.98 - 12th June 2015
+================================
+ Add dm_task_get_errno() to return any unexpected errno from a dm ioctl call.
+ Use copy of errno made after each dm ioctl call in case errno changes later.
+
+Version 1.02.97 - 15th May 2015
+===============================
+ New dm_task_get_info(DM_1_02_97) supports internal_suspend state.
+ New symbols are versioned and comes with versioned symbol name (DM_1_02_97).
+
+Version 1.02.96 - 2nd May 2015
+==============================
+ Fix selection to not match if using reserved value in criteria with >,<,>=,<.
+ Fix selection to not match reserved values for size fields if using >,<,>=,<.
+ Include uuid or device number in log message after ioctl failure.
+ Add DM_INTERNAL_SUSPEND_FLAG to dm-ioctl.h.
+ Install blkdeactivate script and its man page with make install_device-mapper.
+
+Version 1.02.95 - 15th March 2015
+=================================
+ Makefile regenerated.
+
+Version 1.02.94 - 4th March 2015
+================================
+ Add dm_report_object_is_selected for generalized interface for report/select.
+
+Version 1.02.93 - 21st January 2015
+===================================
+ Reduce severity of ioctl error message when dmeventd waitevent is interrupted.
+ Report 'unknown version' when incompatible version numbers were not obtained.
+ Report more info from thin pool status (out of data, metadata-ro, fail).
+ Support error_if_no_space for thin pool target.
+ Fix segfault while using selection with regex and unbuffered reporting.
+ Add dm_report_compact_fields to remove empty fields from report output.
+ Remove unimplemented dm_report_set_output_selection from libdevmapper.h.
+
+Version 1.02.92 - 24th November 2014
+====================================
+ Fix memory corruption with sorting empty string lists (1.02.86).
+ Fix man dmsetup.8 syntax warning of Groff
+ Accept unquoted strings and / in place of {} when parsing configs.
+
+Version 1.02.91 - 11th November 2014
+====================================
+ Update cache creation and dm_config_node to pass policy.
+ Allow activation of any thin-pool if transaction_id supplied is 0.
+ Don't print uninitialized stack bytes when non-root uses dm_check_version().
+ Fix selection criteria to not match reserved values when using >, <, >=, <.
+ Add DM_LIST_HEAD_INIT macro to libdevmapper.h.
+ Fix dm_is_dm_major to not issue error about missing /proc lines for dm module.
+
+Version 1.02.90 - 1st September 2014
+====================================
+ Restore proper buffer size for parsing mountinfo line (1.02.89)
+
+Version 1.02.89 - 26th August 2014
+==================================
+ Improve libdevmapper-event select() error handling.
+ Add extra check for matching transation_id after message submitting.
+ Add dm_report_field_string_list_unsorted for str. list report without sorting.
+ Support --deferred with dmsetup remove to defer removal of open devices.
+ Update dm-ioctl.h to include DM_DEFERRED_REMOVE flag.
+ Add support for selection to match string list subset, recognize { } operator.
+ Fix string list selection with '[value]' to not match list that's superset.
+ Fix string list selection to match whole words only, not prefixes.
+
+Version 1.02.88 - 5th August 2014
+=================================
+ Add dm_tree_set_optional_uuid_suffixes to handle upgrades.
+
+Version 1.02.87 - 23rd July 2014
+================================
+ Fix dm_report_field_string_list to handle delimiter with multiple chars.
+ Add dm_report_field_reserved_value for per-field reserved value definition.
+
+Version 1.02.86 - 23rd June 2014
+================================
+ Make "help" and "?" reporting fields implicit.
+ Recognize implicit "selected" field if using dm_report_init_with_selection.
+ Add support for implicit reporting fields which are predefined in libdm.
+ Add DM_REPORT_FIELD_TYPE_PERCENT: separate number and percent fields.
+ Add dm_percent_range_t,dm_percent_to_float,dm_make_percent to libdm for reuse.
+ Add dm_report_reserved_value to libdevmapper for reserved value definition.
+ Also display field types when listing all fields in selection help.
+ Recognize "help" keyword in selection string to show brief help for selection.
+ Always order items reported as string list field lexicographically.
+ Add dm_report_field_string_list to libdevmapper for direct string list report.
+ Add DM_REPORT_FIELD_TYPE_STRING_LIST: separate string and string list fields.
+ Add dm_str_list to libdevmapper for string list type definition and its reuse.
+ Add dmsetup -S/--select to define selection criteria for dmsetup reports.
+ Add dm_report_init_with_selection to initialize report with selection criteria.
+ Add DM_REPORT_FIELD_TYPE_SIZE: separate number and size reporting fields.
+ Use RemoveOnStop for dm-event.socket systemd unit.
+ Document env var 'DM_DEFAULT_NAME_MANGLING_MODE' in dmsetup man page.
+ Warn user about incorrect use of cookie with 'dmsetup remove --force'.
+ Also recognize 'help'/'?' as reserved sort key name to show help.
+ Add dm_units_to_factor for size unit parsing.
+ Increase bitset size for minors for thin dmeventd plugin.
+
+Version 1.02.85 - 10th April 2014
+=================================
+ Check for sprintf error when building internal device path.
+ Check for sprintf error when creating path for dm control node.
+ When buffer for dm_get_library_version() is too small, return error code.
+ Always reinitialize _name_mangling_mode in dm_lib_init().
+ Add tracking flag about implicitly added devices into dm_tree.
+ Stop timeout thread immediately when the last worker thread is finished.
+ Fix dmeventd logging with parallel wait event processing.
+ Reuse _node_send_messages() for validation of transaction_id in preload.
+ Transaction_id could be lower by one only when messages are prepared.
+ Do not call callback when preload fails.
+ Wrap is_selinux_enabled() to be called just once.
+ Use correctly signed 64b constant when working with raid volumes.
+ Exit dmeventd with pidfile cleanup instead of raising SIGKILL on DIE request.
+ Add new DM_EVENT_GET_PARAMETERS request to dmeventd protocol.
+ Do not use systemd's reload for dmeventd restart, use dmeventd -R instead.
+ Drop cryptsetup rules from 10-dm.rules - cryptsetup >= 1.1.3 sets them.
+
+Version 1.02.84 - 20th January 2014
+===================================
+ Revert activation of activated nodes if a node preload callback fails.
+ Avoid busy looping on CPU when dmeventd reads event DM_WAIT_RETRY.
+ Ensure global mutex is held when working with dmeventd thread.
+ Drop taking timeout mutex for un/registering dmeventd monitor.
+ Allow section names in config file data to be quoted strings.
+ Close fifos before exiting in dmeventd restart() error path.
+ Move printf format string directly into dm_asprintf args list.
+ Catch invalid use of string sort values when reporting numerical fields.
+
+Version 1.02.83 - 13th November 2013
+====================================
+ Consistently report on stderr when device is not found for dmsetup info.
+ Skip race errors when non-udev dmsetup build runs on udev-enabled system.
+ Skip error message when holders are not present in sysfs.
+ Use __linux__ instead of linux define to make libdevmapper.h C compliant.
+ Use mutex to avoid possible race while creating/destroying memory pools.
+ Require libpthread to build now.
+
+Version 1.02.82 - 4th October 2013
+==================================
+ Define symbolic names for subsystem udev flags in libdevmapper for easier use.
+ Make subsystem udev rules responsible for importing DM_SUBSYSTEM_UDEV_FLAG*.
+
+Version 1.02.81 - 23rd September 2013
+=====================================
+ Tidy dmeventd fifo initialisation.
+
+Version 1.02.80 - 20th September 2013
+=====================================
+ Detect invalid sector supplied to 'dmsetup message'.
+ Free any previously-set string if a dm_task_set_* function is called again.
+ Do not allow passing empty new name for dmsetup rename.
+ Display any output returned by 'dmsetup message'.
+ Add dm_task_get_message_response to libdevmapper.
+
+Version 1.02.79 - 13th August 2013
+==================================
+ Create dmeventd timeout threads as "detached" so exit status is freed.
+ Add DM_ABORT_ON_INTERNAL_ERRORS env var support to abort on internal errors.
+
+Version 1.02.78 - 24th July 2013
+================================
+ Process thin messages once to active thin pool target for dm_tree.
+ Optimize out setting the same value or read_ahead.
+ Add DM_ARRAY_SIZE public macro.
+ Move syslog code out of signal handle in dmeventd.
+ Add DM_TO_STRING public macro.
+ Always return success on dmeventd -V command call.
+ Fix parsing of 64bit snapshot status in dmeventd snapshot plugin.
+ Add dm_get_status_snapshot() for parsing snapshot status.
+ Detecte mounted fs also via reading /proc/self/mountinfo.
+ Add dm_mountinfo_read() for parsing /proc/self/mountinfo.
+ Report error for nonexisting devices in dmeventd communication.
+ Prevent double free error after dmeventd call of _fill_device_data().
+ Update dmevent structure message_data to simplify/fix error path handling.
+ Validate passed params to dm_get_status_raid/thin/thin_pool().
+ Fix 'dmsetup splitname -o' to not fail if used without '-c' switch (1.02.68).
+ Add dm_config_write_{node_out/one_node_out} for enhanced config output.
+ Add dm_config_value_is_bool to check for boolean value in supported formats.
+ Fix config node lookup inside empty sections to not return the section itself.
+ Append discards and read-only fields to exported struct dm_status_thin_pool.
+ Fix segfault for truncated string token in config file after the first '"'.
+ Close open dmeventd FIFO file descriptors on exec (FD_CLOEXEC).
+ Fix resource leak in error path of dmeventd's umount of thin volume.
+ Automatically deactivate failed preloaded dm tree node.
+ Add DM_DISABLE_UDEV environment variable to manage dev nodes by libdm only.
+ Fix dm_task_set_cookie to properly process udev flags if udev_sync disabled.
+
Version 1.02.77 - 15th October 2012
===================================
Support unmount of thin volumes from pool above thin pool threshold.
@@ -425,7 +1122,7 @@ Version 1.02.37 - 15th September 2009
Version 1.02.36 - 6th August 2009
=================================
Add udevcookies, udevcomplete, udevcomplete_all and --noudevwait to dmsetup.
- Add libdevmapper functions to support synchronisation with udev.
+ Add libdevmapper functions to support synchronization with udev.
Version 1.02.35 - 28th July 2009
================================