]>
Commit | Line | Data |
---|---|---|
1 | Version 2.03.26 - | |
2 | ================== | |
3 | Use log/report_command_log=1 config setting by default for JSON output format. | |
4 | lvextend fix unreleased memory pools on RAID | |
5 | ||
6 | Version 2.03.25 - 12nd July 2024 | |
7 | ================================ | |
8 | Utilize more radix_tree instead of dm_hash and btree. | |
9 | Refactor DM uuid caching from device_mapper directory. | |
10 | Enhance checking for DM uuid device. | |
11 | Fix lvm shell command completion on tab key (2.03.24). | |
12 | Avoid lockd_vg call to lvmlockd for local VGs. | |
13 | Allow forced change of locktype from none. | |
14 | Handle OPTIONS defined in /etc/sysconfig/lvmlockd. | |
15 | ||
16 | Version 2.03.24 - 16th May 2024 | |
17 | =============================== | |
18 | Lvconvert supports VDO options for thin-pool with vdo conversion. | |
19 | Improve placement to .data.rel.ro and .rodata sections. | |
20 | Fix support for -y and -W when creating thinpool with vdo. | |
21 | Bettter support for runtime valgrind detection. | |
22 | Allow command interruption when communicating with dmeventd. | |
23 | Fix resize of VDO volume used for thin pool data volume. | |
24 | Use -Wl,-z,now and -Wl,--as-needed for compilation by default. | |
25 | Require 3.7 as minimal version for sanlock. | |
26 | Share code for closing opened desriptors on program startup. | |
27 | Fix memleak in lvmcache. | |
28 | Add configure --with-default-event-activation=ON setting. | |
29 | Fix return value from reporter function when hitting internal error. | |
30 | Skip checking of pools for lvremove and vgremove commands. | |
31 | VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version. | |
32 | Fix lvs reporting for VDO volumes with new upstream kernel driver. | |
33 | Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it. | |
34 | Fix table line generation for cache snapshots using cachevol. | |
35 | Enhance lvconvert support for external origins stacking. | |
36 | When swapping LV names also swap properties like hostname, time and data. | |
37 | Fix removal of stacked external origins. | |
38 | Lock filesystem when converting volume to read-only external origin. | |
39 | Support external origin between different thin-pool. | |
40 | Improve validation of acceptable volumes for external origins. | |
41 | Reduce amount of preloaded devices for complex device trees. | |
42 | Avoid logging problems from monitoring snapshots with inactive origins. | |
43 | Check for cache policy module presence in kernel's builtin modules file. | |
44 | Add configure --with-modulesdir to select kernel modules directory. | |
45 | Support creation of thin-pool with VDO use for its data volume. | |
46 | ||
47 | Version 2.03.23 - 21st November 2023 | |
48 | ==================================== | |
49 | Set the first lv_attr flag for raid integrity images to i or I. | |
50 | Add -A option for pvs and pvscan to show PVs outside devices file. | |
51 | Improve searched_devnames temp file usage to prevent redundant scanning. | |
52 | Change default search_for_devnames from auto to all. | |
53 | Add lvmdevices --refresh to search for missing PVIDs on all devices. | |
54 | Add comparison between old and new entries in lvmdevices --check. | |
55 | Fix device_id matching order - match non-devname first. | |
56 | Fix "lvconvert -m 0" when there is other than first in-sync leg. | |
57 | Use system.devices as default for dmeventd when dmeventd.devices is undefined. | |
58 | Accept WWIDs containing QEMU HARDDISK for device_id. | |
59 | Improve handling of non-standard WWID prefixes used for device_id. | |
60 | Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus. | |
61 | Fix hint calculation for pools with zero or error segment. | |
62 | Configure supports --disable-shared to build only static binaries. | |
63 | Configure supports --without-{blkid|systemd|udev} for easier static build. | |
64 | Refresh device ids if the system changes. | |
65 | Fix pvmove when specifying raid components as moved LVs. | |
66 | Enhance error detection for lvm_import_vdo. | |
67 | Support PV lists with thin lvconvert. | |
68 | Fix support for lvm_import_vdo with SCSI VDO volumes. | |
69 | Fix locking issue leading to hanging concurrent vgchange --refresh. | |
70 | Recognize lvm.conf report/headings=2 for full column names in report headings. | |
71 | Add --headings none|abbrev|full cmd line option to set report headings type. | |
72 | Fix conversion to thin pool using lvmlockd. | |
73 | Fix conversion from thick into thin volume using lvmlockd. | |
74 | Require writable LV for conversion to vdo pool. | |
75 | Fix return value from lvconvert integrity remove. | |
76 | Preserve UUID for pool metadata spare. | |
77 | Preserve UUID for swapped pool metadata. | |
78 | Rewrite validation of device name entries used as device_id. | |
79 | ||
80 | version 2.03.22 - 02nd August 2023 | |
81 | ================================== | |
82 | Fix pv_major/pv_minor report field types so they are integers, not strings. | |
83 | Add lvmdevices --delnotfound to delete entries for missing devices. | |
84 | Always use cachepool name for metadata backup LV for lvconvert --repair. | |
85 | Make metadata backup LVs read-only after pool's lvconvert --repair. | |
86 | Improve VDO and Thin support with lvmlockd. | |
87 | Handle 'lvextend --usepolicies' for pools for all activation variants. | |
88 | Fix memleak in vgchange autoactivation setup. | |
89 | Update py-compile building script. | |
90 | Support conversion from thick to fully provisioned thin LV. | |
91 | Cache/Thin-pool can use error and zero volumes for testing. | |
92 | Individual thin volume can be cached, but cannot take snapshot. | |
93 | Better internal support for handling error and zero target (for testing). | |
94 | Resize COW above trimmed maximal size is does not return error. | |
95 | Support parsing of vdo geometry format version 4. | |
96 | Add lvm.conf thin_restore and cache_restore settings. | |
97 | Handle multiple mounts while resizing volume with a FS. | |
98 | Handle leading/trailing spaces in sys_wwid and sys_serial used by device_id. | |
99 | Enhance lvm_import_vdo and use snapshot when converting VDO volume. | |
100 | Fix parsing of VDO metadata. | |
101 | Fix failing -S|--select for non-reporting cmds if using LV info/status fields. | |
102 | Allow snapshots of raid+integrity LV. | |
103 | Fix multisegment RAID1 allocator to prevent using single disk for more legs. | |
104 | ||
105 | version 2.03.21 - 21st April 2023 | |
106 | ================================= | |
107 | Fix activation of vdo-pool for with 0 length headers (converted pools). | |
108 | Avoid printing internal init messages when creation integration devices. | |
109 | Allow (write)cache over raid+integrity LV. | |
110 | ||
111 | version 2.03.20 - 21st March 2023 | |
112 | ================================= | |
113 | Fix segfault if using -S|--select with log/report_command_log=1 setting. | |
114 | Configure now fails when requested lvmlockd dependencies are missing. | |
115 | Add some configure Gentoo enhancements for static builds. | |
116 | ||
117 | version 2.03.19 - 21st February 2023 | |
118 | ==================================== | |
119 | Configure supports --with-systemd-run executed from udev rules. | |
120 | Enhancement for build with MuslC systemd and non-bash system shells (dash). | |
121 | Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. | |
122 | Ensure udev is processing origin LV before its thick snapshots LVs. | |
123 | Fix and improve runtime memory size detection for VDO volumes. | |
124 | ||
125 | version 2.03.18 - 22nd December 2022 | |
126 | ==================================== | |
127 | Fix issues reported by coverity scan. | |
128 | Fix warning for thin pool overprovisioning on lvextend (2.03.17). | |
129 | Add support for writecache metadata_only and pause_writeback settings. | |
130 | Fix missing error messages in lvmdbusd. | |
131 | ||
132 | Version 2.03.17 - 10th November 2022 | |
133 | ==================================== | |
134 | Add new options (--fs, --fsmode) for FS handling when resizing LVs. | |
135 | Fix 'lvremove -S|--select LV' to not also remove its historical LV right away. | |
136 | Fix lv_active field type to binary so --select and --binary applies properly. | |
137 | Switch to use mallinfo2 and use it only with glibc. | |
138 | Error out in lvm shell if using a cmd argument not supported in the shell. | |
139 | Fix lvm shell's lastlog command to report previous pre-command failures. | |
140 | Extend VDO and VDOPOOL without flushing and locking fs. | |
141 | Add --valuesonly option to lvmconfig to print only values without keys. | |
142 | Updates configure with recent autoconf tooling. | |
143 | Fix lvconvert --test --type vdo-pool execution. | |
144 | Add json_std output format for more JSON standard compliant version of output. | |
145 | Fix vdo_slab_size_mb value for converted VDO volume. | |
146 | Fix many corner cases in device_id, including handling of S/N duplicates. | |
147 | Fix various issues in lvmdbusd. | |
148 | ||
149 | Version 2.03.16 - 18th May 2022 | |
150 | =============================== | |
151 | Fix segfault when handling selection with historical LVs. | |
152 | Add support --vdosettings with lvcreate, lvconvert, lvchange. | |
153 | Filtering multipath devices respects blacklist setting from multipath | |
154 | configuration. | |
155 | lvmdevices support for removing by device id using --deviceidtype and | |
156 | --deldev. | |
157 | Display writecache block size with lvs -o writecache_block_size. | |
158 | Improve cachesettings description in man lvmcache. | |
159 | Fix lossing of delete message on thin-pool extension. | |
160 | ||
161 | Version 2.03.15 - 07th February 2022 | |
162 | ==================================== | |
163 | Remove service based autoactivation. global/event_activation = 0 is NOOP. | |
164 | Improve support for metadata profiles for --type writecache. | |
165 | Use cache or active DM device when available with new kernels. | |
166 | Introduce function to utilize UUIDs from DM_DEVICE_LIST. | |
167 | Increase some hash table size to better support large device sets. | |
168 | ||
169 | Version 2.03.14 - 20th October 2021 | |
170 | =================================== | |
171 | Device scanning is skipping directories on different filesystems. | |
172 | Print info message with too many or too large archived files. | |
173 | Reduce metadata readings during scanning phase. | |
174 | Optimize computation of crc32 check sum with multiple PVs. | |
175 | Enhance recover path on cache creation failure. | |
176 | Filter out unsupported MQ/SMQ cache policy setting. | |
177 | Fix memleak in mpath filter. | |
178 | Support newer location for VDO statistics. | |
179 | Add support for VDO async-unsafe write policy. | |
180 | Improve lvm_import_vdo script. | |
181 | Support VDO LV with lvcreate -ky. | |
182 | Fix lvconvert for VDO LV bigger then 2T. | |
183 | Create VDO LVs automatically without zeroing. | |
184 | Rename vdoimport to lvm_import_vdo. | |
185 | ||
186 | Version 2.03.13 - 11th August 2021 | |
187 | ================================== | |
188 | Changes in udev support: | |
189 | - obtain_device_list_from_udev defaults to 0. | |
190 | - see devices/external_device_info_source, | |
191 | devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help | |
192 | in lvm.conf | |
193 | Fix devices file handling of loop with deleted backing file. | |
194 | Fix devices file handling of scsi_debug WWIDs. | |
195 | Fix many static analysis issues. | |
196 | Support --poolmetadataspare with vgsplit and vgmerge. | |
197 | Fix detection of active components of external origin volume. | |
198 | Add vdoimport tool to support conversion of VDO volumes. | |
199 | Support configurable allocation/vdo_pool_header_size. | |
200 | Fix handling of lvconvert --type vdo-pool --virtualsize. | |
201 | Simplified handling of archive() and backup() internal calls. | |
202 | Add 'idm' locking type for IDM lock manager. | |
203 | Fix load of kvdo target when it is not present in memory (2.03.12). | |
204 | ||
205 | Version 2.03.12 - 07th May 2021 | |
206 | =============================== | |
207 | Allow attaching cache to thin data volume. | |
208 | Fix memleak when generating list of outdated pvs. | |
209 | Better hyphenation usage in man pages. | |
210 | Replace use of deprecated security_context_t with char*. | |
211 | Configure supports AIO_LIBS and AIO_CFLAGS. | |
212 | Improve build process for static builds. | |
213 | New --setautoactivation option to modify LV or VG auto activation. | |
214 | New metadata based autoactivation property for LVs and VGs. | |
215 | Improve signal handling with lvmpolld. | |
216 | Signal handler can interrupt command also for SIGTERM. | |
217 | Lvreduce --yes support. | |
218 | Add configure option --with/out-symvers for non-glibc builds. | |
219 | Report error when the filesystem is missing on fsadm resized volume. | |
220 | Handle better blockdev with --getsize64 support for fsadm. | |
221 | Do not include editline/history.h when using editline library. | |
222 | Support error and zero segtype for thin-pool data for testing. | |
223 | Support mixed extension for striped, error and zero segtypes. | |
224 | Support resize also for stacked virtual volumes. | |
225 | Skip dm-zero devices just like with dm-error target. | |
226 | Reduce ioctl() calls when checking target status. | |
227 | Merge polling does not fail, when LV is found to be already merged. | |
228 | Poll volumes with at least 100ms delays. | |
229 | Do not flush dm cache when cached LV is going to be removed. | |
230 | New lvmlockctl_kill_command configuration option. | |
231 | Support interruption while waiting on device close before deactivation. | |
232 | Flush thin-pool messages before removing more thin volumes. | |
233 | Improve hash function with less collisions and make it faster. | |
234 | Reduce ioctl count when deactivating volumes. | |
235 | Reduce number of metadata parsing. | |
236 | Enhance performance of lvremove and vgremove commands. | |
237 | Support interruption when taking archive and backup. | |
238 | Accelerate large lvremoves. | |
239 | Speedup search for cached device nodes. | |
240 | Speedup command initialization. | |
241 | Add devices file feature, off by default for now. | |
242 | Support extension of writecached volumes. | |
243 | Fix problem with unbound variable usage within fsadm. | |
244 | Fix IMSM MD RAID detection on 4k devices. | |
245 | Check for presence of VDO target before starting any conversion. | |
246 | Support metatadata profiles with volume VDO pool conversions. | |
247 | Support -Zn for conversion of already formatted VDO pools. | |
248 | Avoid removing LVs on error path of lvconvert during creation volumes. | |
249 | Fix crashing lvdisplay when thin volume was waiting for merge. | |
250 | Support option --errorwhenfull when converting volume to thin-pool. | |
251 | Improve thin-performance profile support conversion to thin-pool. | |
252 | Add workaround to avoid read of internal 'converted' devices. | |
253 | Prohibit merging snapshot into the read-only thick snapshot origin. | |
254 | Restore support for flipping rw/r permissions for thin snapshot origin. | |
255 | Support resize of cached volumes. | |
256 | Disable autoactivation with global/event_activation=0. | |
257 | Check if lvcreate passes read_only_volume_list with tags and skips zeroing. | |
258 | Allocation prints better error when metadata cannot fit on a single PV. | |
259 | Pvmove can better resolve full thin-pool tree move. | |
260 | Limit pool metadata spare to 16GiB. | |
261 | Improves conversion and allocation of pool metadata. | |
262 | Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. | |
263 | Enhance lvdisplay to report raid available/partial. | |
264 | Support online rename of VDO pools. | |
265 | Improve removal of pmspare when last pool is removed. | |
266 | Fix problem with wiping of converted LVs. | |
267 | Fix memleak in scanning (2.03.11). | |
268 | Fix corner case allocation for thin-pools. | |
269 | ||
270 | Version 2.03.11 - 08th January 2021 | |
271 | =================================== | |
272 | Fix pvck handling MDA at offset different from 4096. | |
273 | Partial or degraded activation of writecache is not allowed. | |
274 | Enhance error handling for fsadm and handle correct fsck result. | |
275 | Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. | |
276 | Support using BLKZEROOUT for clearing devices. | |
277 | Support interruption when wipping LVs. | |
278 | Support interruption for bcache waiting. | |
279 | Fix bcache when device has too many failing writes. | |
280 | Fix bcache waiting for IO completion with failing disks. | |
281 | Configure use own python path name order to prefer using python3. | |
282 | Add configure --enable-editline support as an alternative to readline. | |
283 | Enhance reporting and error handling when creating thin volumes. | |
284 | Enable vgsplit for VDO volumes. | |
285 | Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. | |
286 | Use revert_lv() on reload error path after vg_revert(). | |
287 | Configure --with-integrity enabled. | |
288 | Restore lost signal blocking while VG lock is held. | |
289 | Improve estimation of needed extents when creating thin-pool. | |
290 | Use extra 1% when resizing thin-pool metadata LV with --use-policy. | |
291 | Enhance --use-policy percentage rounding. | |
292 | Configure --with-vdo and --with-writecache as internal segments. | |
293 | Improving VDO man page examples. | |
294 | Allow pvmove of writecache origin. | |
295 | Report integrity fields. | |
296 | Integrity volumes defaults to journal mode. | |
297 | Switch code base to use flexible array syntax. | |
298 | Fix 64bit math when calculation cachevol size. | |
299 | Preserve uint32_t for seqno handling. | |
300 | Switch from mmap to plain read when loading regular files. | |
301 | Update lvmvdo man page and better explain DISCARD usage. | |
302 | ||
303 | Version 2.03.10 - 09th August 2020 | |
304 | ================================== | |
305 | Add writecache and integrity support to lvmdbusd. | |
306 | Generate unique cachevol name when default required from lvcreate. | |
307 | Converting RAID1 volume to one with same number of legs now succeeds with a | |
308 | warning. | |
309 | Fix conversion to raid from striped lagging type. | |
310 | Fix conversion to 'mirrored' mirror log with larger regionsize. | |
311 | Zero pool metadata on allocation (disable with allocation/zero_metadata=0). | |
312 | Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). | |
313 | Add lvcreate of new cache or writecache lv with single command. | |
314 | Fix running out of free buffers for async writing for larger writes. | |
315 | Add integrity with raid capability. | |
316 | Fix support for lvconvert --repair used by foreign apps (i.e. Docker). | |
317 | ||
318 | Version 2.03.09 - 26th March 2020 | |
319 | ================================= | |
320 | Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). | |
321 | Fix showing of a dm kernel error when uncaching a volume with cachevol. | |
322 | ||
323 | Version 2.03.08 - 11th February 2020 | |
324 | ==================================== | |
325 | Prevent problematic snapshots of writecache volumes. | |
326 | Add error handling for failing allocation in _reserve_area(). | |
327 | Fix memleak in syncing of internal cache. | |
328 | Fix pvck dump_current_text memleak. | |
329 | Fix lvmlockd result code on error path for _query_lock_lv(). | |
330 | Update pvck man page and help output. | |
331 | Reject invalid writecache high/low_watermark setting. | |
332 | Report writecache status. | |
333 | Accept more output lines from vdo_format. | |
334 | Prohibit reshaping of stacked raid LVs. | |
335 | Avoid running cache input arg validation when creating vdo pool. | |
336 | Prevent raid reshaping of stacked volumes. | |
337 | Added VDO lvmdbusd methods for enable/disable compression & dedupe. | |
338 | Added VDO lvmdbusd method for converting LV to VDO pool. | |
339 | ||
340 | Version 2.03.07 - 30th November 2019 | |
341 | ==================================== | |
342 | Subcommand in vgck for repairing headers and metadata. | |
343 | Ensure minimum required region size on striped RaidLV creation. | |
344 | Fix resize of thin-pool with data and metadata of different segtype. | |
345 | Improve mirror type leg splitting. | |
346 | Improve error path handling in daemons on shutdown. | |
347 | Fix activation order when removing merged snapshot. | |
348 | Experimental VDO support for lvmdbusd. | |
349 | ||
350 | Version 2.03.06 - 23rd October 2019 | |
351 | =================================== | |
352 | Add _cpool suffix to cache-pool LV name when used by caching LV. | |
353 | No longer store extra UUID for cmeta and cdata cachevol layer. | |
354 | Enhance activation of cache devices with cachevols. | |
355 | Add _cvol in list of protected suffixes and start use it with DM UUID. | |
356 | Rename LV converted to cachevol to use _cvol suffix. | |
357 | Use normal LVs for wiping of cachevols. | |
358 | Reload cleanered cache DM only with cleaner policy. | |
359 | Fix cmd return when zeroing of cachevol fails. | |
360 | Extend lvs to show all VDO properties. | |
361 | Preserve VDO write policy with vdopool. | |
362 | Increase default vdo bio threads to 4. | |
363 | Continue report when cache_status fails. | |
364 | Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. | |
365 | Fix cmirrord usage of header files from device_mapper subdir. | |
366 | Allow standalone activation of VDO pool just like for thin-pools. | |
367 | Activate thin-pool layered volume as 'read-only' device. | |
368 | Ignore crypto devices with UUID signature CRYPT-SUBDEV. | |
369 | Enhance validation for thin and cache pool conversion and swapping. | |
370 | Improve internal removal of cached devices. | |
371 | Synchronize with udev when dropping snapshot. | |
372 | Add missing device synchronization point before removing pvmove node. | |
373 | Correctly set read_ahead for LVs when pvmove is finished. | |
374 | Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. | |
375 | Prevent creating VGs with PVs with different logical block sizes. | |
376 | Fix metadata writes from corrupting with large physical block size. | |
377 | ||
378 | Version 2.03.05 - 15th June 2019 | |
379 | ================================ | |
380 | Fix command definition for pvchange -a. | |
381 | Add vgck --updatemetadata command that will repair metadata problems. | |
382 | Improve VG reading to work if one good copy of metadata is found. | |
383 | Report/display/scan commands that read VGs will no longer write/repair. | |
384 | Move metadata repairs from VG reading to VG writing. | |
385 | Add config setting md_component_checks to control MD component checks. | |
386 | Add end of device MD component checks when dev has no udev info. | |
387 | ||
388 | Version 2.03.04 - 10th June 2019 | |
389 | ================================ | |
390 | Remove unused_duplicate_devs from cmd causing segfault in dmeventd. | |
391 | ||
392 | Version 2.03.03 - 07th June 2019 | |
393 | ================================ | |
394 | Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. | |
395 | Add pvck --dump option to extract metadata. | |
396 | Fix signal delivery checking race in libdaemon (lvmetad). | |
397 | Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. | |
398 | Skip autoactivation for a PV when PV size does not match device size. | |
399 | Remove first-pvscan-initialization which should no longer be needed. | |
400 | Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. | |
401 | Ignore foreign and shared PVs for pvscan online files. | |
402 | Add config setting to control fields in debug file and verbose output. | |
403 | Add command[pid] and timestamp to debug file and verbose output. | |
404 | Fix missing growth of _pmsmare volume when extending _tmeta volume. | |
405 | Automatically grow thin metadata, when thin data gets too big. | |
406 | Add synchronization with udev before removing cached devices. | |
407 | Add support for caching VDO LVs and VDOPOOL LVs. | |
408 | Add support for vgsplit with cached devices. | |
409 | Query mpath device only once per command for its state. | |
410 | Use device INFO instead of STATUS when checking for mpath device uuid. | |
411 | Change default io_memory_size from 4 to 8 MiB. | |
412 | Add config setting io_memory_size to set bcache size. | |
413 | Fix pvscan autoactivation for concurrent pvscans. | |
414 | Change scan_lvs default to 0 so LVs are not scanned for PVs. | |
415 | Thin-pool selects power-of-2 chunk size by default. | |
416 | Cache selects power-of-2 chunk size by default. | |
417 | Support reszing for VDOPoolLV and VDOLV. | |
418 | Improve -lXXX%VG modifier which improves cache segment estimation. | |
419 | Ensure migration_threshold for cache is at least 8 chunks. | |
420 | Restore missing man info lvcreate --zero for thin-pools. | |
421 | Drop misleadning comment for metadata minimum_io_size for VDO segment. | |
422 | Add device hints to reduce scanning. | |
423 | Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. | |
424 | Fix generator quering lvmconfig unpresent config option. | |
425 | Fix memleak on bcache error path code. | |
426 | Fix missing unlock on lvm2 dmeventd plugin error path initialization. | |
427 | Improve Makefile dependency tracking. | |
428 | Move VDO support towards V2 target (6.2) support. | |
429 | ||
430 | Version 2.03.02 - 18th December 2018 | |
431 | ==================================== | |
432 | Fix missing proper initialization of pv_list struct when adding pv. | |
433 | Fix (de)activation of RaidLVs with visible SubLVs. | |
434 | Prohibit mirrored 'mirror' log via lvcreate and lvconvert. | |
435 | Use sync io if async io_setup fails, or use_aio=0 is set in config. | |
436 | Fix more issues reported by coverity scan. | |
437 | ||
438 | Version 2.03.01 - 31st October 2018 | |
439 | =================================== | |
440 | ||
441 | Version 2.03.00 - 10th October 2018 | |
442 | =================================== | |
443 | Add hot fix to avoiding locking collision when monitoring thin-pools. | |
444 | Allow raid4 -> linear conversion request. | |
445 | Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. | |
446 | Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. | |
447 | Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. | |
448 | Reduce max concurrent aios to avoid EMFILE with many devices. | |
449 | Fix lvconvert conversion attempts to linear. | |
450 | Fix lvconvert raid0/raid0_meta -> striped regression. | |
451 | Fix lvconvert --splitmirror for mirror type (2.02.178). | |
452 | Do not pair cache policy and cache metadata format. | |
453 | lvconvert: reject conversions on raid1 LVs with split tracked SubLVs | |
454 | lvconvert: reject conversions on raid1 split tracked SubLVs | |
455 | Add basic creation support for VDO target. | |
456 | Never send any discard ioctl with test mode. | |
457 | Fix thin-pool alloc which needs same PV for data and metadata. | |
458 | Extend list of non-memlocked areas with newly linked libs. | |
459 | Enhance vgcfgrestore to check for active LVs in restored VG. | |
460 | Configure supports --disable-silent-rules for verbose builds. | |
461 | Fix unmonitoring of merging snapshots. | |
462 | Cache can uses metadata format 2 with cleaner policy. | |
463 | Fix check if resized PV can also fit metadata area. | |
464 | Avoid showing internal error in lvs output or pvmoved LVs. | |
465 | Remove clvmd | |
466 | Remove lvmlib (api) | |
467 | Remove lvmetad | |
468 | Use versionsort to fix archive file expiry beyond 100000 files. | |
469 | ||
470 | Version 2.02.178-rc1 - 24th May 2018 | |
471 | ==================================== | |
472 | Add libaio dependency for build. | |
473 | Remove lvm1 and pool format handling and add filter to ignore them. | |
474 | Move some filter checks to after disks are read. | |
475 | Rework disk scanning and when it is used. | |
476 | Add new io layer and shift code to using it. | |
477 | Fix lvconvert's return code on degraded -m raid1 conversion. | |
478 | --enable-testing switch for ./configure has been removed. | |
479 | --with-snapshots switch for ./configure has been removed. | |
480 | --with-mirrors switch for ./configure has been removed. | |
481 | --with-raid switch for ./configure has been removed. | |
482 | --with-thin switch for ./configure has been removed. | |
483 | --with-cache switch for ./configure has been removed. | |
484 | Include new unit-test framework and unit tests. | |
485 | Extend validation of region_size for mirror segment. | |
486 | Reload whole device stack when reinitilizing mirror log. | |
487 | Mirrors without monitoring are WARNING and not blocking on error. | |
488 | Detect too big region_size with clustered mirrors. | |
489 | Fix evaluation of maximal region size for mirror log. | |
490 | Enhance mirror log size estimation and use smaller size when possible. | |
491 | Fix incorrect mirror log size calculation on 32bit arch. | |
492 | Enhance preloading tree creating. | |
493 | Fix regression on acceptance of any LV on lvconvert. | |
494 | Restore usability of thin LV to be again external origin for another thin. | |
495 | Keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload. | |
496 | Write systemd and non-systemd rule in 69-dm-lvm-metad.rules, GOTO active one. | |
497 | Add test for activation/volume_list (Sub)LV remnants. | |
498 | Disallow usage of cache format 2 with mq cache policy. | |
499 | Again accept striped LV as COW LV with lvconvert -s (2.02.169). | |
500 | Fix raid target version testing for supported features. | |
501 | Allow activation of pools when thin/cache_check tool is missing. | |
502 | Remove RaidLV on creation failure when rmeta devices can't be activated. | |
503 | Add prioritized_section() to restore cookie boundaries (2.02.177). | |
504 | Enhance error messages when read error happens. | |
505 | Enhance mirror log initialization for old mirror target. | |
506 | Skip private crypto and stratis devices. | |
507 | Skip frozen raid devices from scanning. | |
508 | Activate RAID SubLVs on read_only_volume_list readwrite. | |
509 | Offer convenience type raid5_n converting to raid10. | |
510 | Automatically avoid reading invalid snapshots during device scan. | |
511 | Ensure COW device is writable even for read-only thick snapshots. | |
512 | Support activation of component LVs in read-only mode. | |
513 | Extend internal library to recognize and work with component LV. | |
514 | Skip duplicate check for active LV when prompting for its removal. | |
515 | Activate correct lock holding LV when it is cached. | |
516 | Do not modify archived metadata when removing striped raid. | |
517 | Fix memleak on error path when obtaining lv_raid_data_offset. | |
518 | Fix compatibility size test of extended external origin. | |
519 | Add external_origin visiting in for_each_sub_lv(). | |
520 | Ensure cluster commands drop their device cache before locking VG. | |
521 | Do not report LV as remotely active when it's locally exclusive in cluster. | |
522 | Add deprecate messages for usage of mirrors with mirrorlog. | |
523 | Separate reporting of monitoring status and error status. | |
524 | Improve validation of created strings in vgimportclone. | |
525 | Add missing initialisation of mem pool in systemd generator. | |
526 | Do not reopen output streams for multithreaded users of liblvm. | |
527 | Configure ensures /usr/bin dir is checked for dmpd tools. | |
528 | Restore pvmove support for wide-clustered active volumes (2.02.177). | |
529 | Avoid non-exclusive activation of exclusive segment types. | |
530 | Fix trimming sibling PVs when doing a pvmove of raid subLVs. | |
531 | Preserve exclusive activation during thin snaphost merge. | |
532 | Avoid exceeding array bounds in allocation tag processing. | |
533 | Add --lockopt to common options and add option to skip selected locks. | |
534 | ||
535 | Version 2.02.177 - 18th December 2017 | |
536 | ===================================== | |
537 | When writing text metadata content, use complete 4096 byte blocks. | |
538 | Change text format metadata alignment from 512 to 4096 bytes. | |
539 | When writing metadata, consistently skip mdas marked as failed. | |
540 | Refactor and adjust text format metadata alignment calculation. | |
541 | Fix python3 path in lvmdbusd to use value detected by configure. | |
542 | Reduce checks for active LVs in vgchange before background polling. | |
543 | Ensure _node_send_message always uses clean status of thin pool. | |
544 | Fix lvmlockd to use pool lock when accessing _tmeta volume. | |
545 | Report expected sanlock_convert errors only when retries fail. | |
546 | Avoid blocking in sanlock_convert on SH to EX lock conversion. | |
547 | Deactivate missing raid LV legs (_rimage_X-missing_Y_Z) on decativation. | |
548 | Skip read-modify-write when entire block is replaced. | |
549 | Categorise I/O with reason annotations in debug messages. | |
550 | Allow extending of raid LVs created with --nosync after a failed repair. | |
551 | Command will lock memory only when suspending volumes. | |
552 | Merge segments when pvmove is finished. | |
553 | Remove label_verify that has never been used. | |
554 | Ensure very large numbers used as arguments are not casted to lower values. | |
555 | Enhance reading and validation of options stripes and stripes_size. | |
556 | Fix printing of default stripe size when user is not using stripes. | |
557 | Activation code for pvmove automatically discovers holding LVs for resume. | |
558 | Make a pvmove LV locking holder. | |
559 | Do not change critical section counter on resume path without real resume. | |
560 | Enhance activation code to automatically suspend pvmove participants. | |
561 | Prevent conversion of thin volumes to snapshot origin when lvmlockd is used. | |
562 | Correct the steps to change lock type in lvmlockd man page. | |
563 | Retry lock acquisition on recognized sanlock errors. | |
564 | Fix lock manager error codes in lvmlockd. | |
565 | Remove unnecessary single read from lvmdiskscan. | |
566 | Check raid reshape flags in vg_validate(). | |
567 | Add support for pvmove of cache and snapshot origins. | |
568 | Avoid using precommitted metadata for suspending pvmove tree. | |
569 | Ehnance pvmove locking. | |
570 | Deactivate activated LVs on error path when pvmove activation fails. | |
571 | Add "io" to log/debug_classes for logging low-level I/O. | |
572 | Eliminate redundant nested VG metadata in VG struct. | |
573 | Avoid importing persistent filter in vgscan/pvscan/vgrename. | |
574 | Fix memleak of string buffer when vgcfgbackup runs in secure mode. | |
575 | Do not print error when clvmd cannot find running clvmd. | |
576 | Prevent start of new merge of snapshot if origin is already being merged. | |
577 | Fix offered type for raid6_n_6 to raid5 conversion (raid5_n). | |
578 | Deactivate sub LVs when removing unused cache-pool. | |
579 | Do not take backup with suspended devices. | |
580 | Avoid RAID4 activation on incompatible kernels under all circumstances. | |
581 | Reject conversion request to striped/raid0 on 2-legged raid4/5. | |
582 | ||
583 | Version 2.02.176 - 3rd November 2017 | |
584 | ==================================== | |
585 | Keep Install section only in lvm2-{lvmetad,lvmpolld}.socket systemd unit. | |
586 | Fix segfault in lvm_pv_remove in liblvm. (2.02.173) | |
587 | Do not allow storing VG metadata with LV without any segment. | |
588 | Fix printed message when thin snapshot was already merged. | |
589 | Remove created spare LV when creation of thin-pool failed. | |
590 | Avoid reading ignored metadata when mda gets used again. | |
591 | Fix detection of moved PVs in vgsplit. (2.02.175) | |
592 | Ignore --stripes/--stripesize on RAID takeover | |
593 | Improve used paths for generated systemd units and init shells. | |
594 | Disallow creation of snapshot of mirror/raid subLV (was never supported). | |
595 | Fix regression in more advanced vgname extraction in lvconvert (2.02.169). | |
596 | Allow lvcreate to be used for caching of _tdata LV. | |
597 | Avoid internal error when resizing cache type _tdata LV (not yet supported). | |
598 | Show original converted names when lvconverting LV to pool volume. | |
599 | Move lib code used only by liblvm into metadata-liblvm.c. | |
600 | Distinguish between device not found and excluded by filter. | |
601 | Monitor external origin LVs. | |
602 | Remove the replicator code, including configure --with-replicators. | |
603 | Allow lvcreate --type mirror to work with 100%FREE. | |
604 | Improve selection of resource name for complex volume activation lock. | |
605 | Avoid cutting first character of resource name for activation lock. | |
606 | Support for encrypted devices in fsadm. | |
607 | Improve thin pool overprovisioning and repair warning messages. | |
608 | Fix incorrect adjustment of region size on striped RaidLVs. | |
609 | ||
610 | Version 2.02.175 - 6th October 2017 | |
611 | =================================== | |
612 | Use --help with blockdev when checking for --getsize64 support in fsadm. | |
613 | Dump lvmdbusd debug information with SIGUSR1. | |
614 | Fix metadata corruption in vgsplit and vgmerge intermediate states. | |
615 | Add PV_MOVED_VG PV status flag to mark PVs moving between VGs. | |
616 | Fix lvmdbus hang and recognise unknown VG correctly. | |
617 | Improve error messages when command rules fail. | |
618 | Require LV name with pvmove in a shared VG. | |
619 | Allow shared active mirror LVs with lvmlockd, dlm, and cmirrord. | |
620 | Support lvconvert --repair with cache and cachepool volumes. | |
621 | lvconvert --repair respects --poolmetadataspare option. | |
622 | Mark that we don't plan to develop liblvm2app and python bindings any further. | |
623 | Fix thin pool creation in shared VG. (2.02.173) | |
624 | ||
625 | Version 2.02.174 - 13th September 2017 | |
626 | ====================================== | |
627 | Prevent raid1 split with trackchanges in a shared VG. | |
628 | Avoid double unlocking of client & lockspace mutexes in lvmlockd. | |
629 | Fix leaking of file descriptor for non-blocking filebased locking. | |
630 | Fix check for 2nd mda at end of disk fits if using pvcreate --restorefile. | |
631 | Use maximum metadataarea size that fits with pvcreate --restorefile. | |
632 | Always clear cached bootloaderarea when wiping label e.g. in pvcreate. | |
633 | Disallow --bootloaderareasize with pvcreate --restorefile. | |
634 | Fix lvmlockd check for running lock managers during lock adoption. | |
635 | Add --withgeneralpreamble and --withlocalpreamble to lvmconfig. | |
636 | Improve makefiles' linking. | |
637 | Fix some paths in generated makefiles to respected configured settings. | |
638 | Add warning when creating thin-pool with zeroing and chunk size >= 512KiB. | |
639 | Introduce exit code 4 EINIT_FAILED to replace -1 when initialisation fails. | |
640 | Add synchronization points with udev during reshape of raid LVs. | |
641 | ||
642 | Version 2.02.173 - 20th July 2017 | |
643 | ================================= | |
644 | Add synchronization points with udev during conversion of raid LVs. | |
645 | Improve --size args validation and report more detailed error message. | |
646 | Initialize debugging mutex before any debug message in clvmd. | |
647 | Log error instead of warn when noticing connection problem with lvmetad. | |
648 | Fix memory leak in lvmetad when working with duplicates. | |
649 | Remove restrictions on reshaping open and clustered raid devices. | |
650 | Add incompatible data_offset to raid metadata to fix reshape activation. | |
651 | Accept 'lvm -h' and 'lvm --help' as well as 'lvm help' for help. | |
652 | Suppress error message from accept() on clean lvmetad shutdown. | |
653 | Tidy clvmd client list processing and fix segfaults. | |
654 | Protect clvmd debug log messages with mutex and add client id. | |
655 | Fix shellcheck reported issues for script files. | |
656 | ||
657 | Version 2.02.172 - 28th June 2017 | |
658 | ================================= | |
659 | Add missing NULL to argv array when spliting cmdline arguments. | |
660 | Add display_percent helper function for printing percent values. | |
661 | lvconvert --repair handles failing raid legs (present but marked 'D'ead). | |
662 | Do not lvdisplay --maps unset settings of cache pool. | |
663 | Fix lvdisplay --maps for cache pool without policy settings. | |
664 | Support aborting of flushing cache LV. | |
665 | Reenable conversion of data and metadata thin-pool volumes to raid. | |
666 | Improve raid status reporting with lvs. | |
667 | No longer necessary to '--force' a repair for RAID1. | |
668 | Linear to RAID1 upconverts now use "recover" sync action, not "resync". | |
669 | Improve lvcreate --cachepool arg validation. | |
670 | Limit maximum size of thin-pool for specific chunk size. | |
671 | Print a warning about in-use PVs with no VG using them. | |
672 | Disable automatic clearing of PVs that look like in-use orphans. | |
673 | Cache format2 flag is now using segment name type field. | |
674 | Support storing status flags via segtype name field. | |
675 | Stop using '--yes' mode when fsadm runs without terminal. | |
676 | Extend validation of filesystems resized by fsadm. | |
677 | Enhance lvconvert automatic settings of possible (raid) LV types. | |
678 | Allow lvchange to change properties on a thin pool data sub LV. | |
679 | Fix lvcreate extent percentage calculation for mirrors. | |
680 | Don't reinstate still-missing devices when correcting inconsistent metadata. | |
681 | Properly handle subshell return codes in fsadm. | |
682 | Disallow cachepool creation with policy cleaner and mode writeback. | |
683 | ||
684 | Version 2.02.171 - 3rd May 2017 | |
685 | =============================== | |
686 | Fix memory warnings by using mempools for command definition processing. | |
687 | Fix running commands from a script file. | |
688 | Add pvcreate prompt when device size doesn't match setphysicalvolumesize. | |
689 | lvconvert - preserve region size on raid1 image count changes | |
690 | Adjust pvresize/pvcreate messages and prompt if underlying dev size differs. | |
691 | raid - sanely handle insufficient space on takeover. | |
692 | Fix configure --enable-notify-dbus status message. | |
693 | Change configure option name prefix from --enable-lockd to --enable-lvmlockd. | |
694 | lvcreate - raise mirror/raid default regionsize to 2MiB | |
695 | Add missing configurable prefix to configuration file installation directory. | |
696 | ||
697 | Version 2.02.170 - 13th April 2017 | |
698 | ================================== | |
699 | Introduce global/fsadm_executable to make fsadm path configurable. | |
700 | Look for limited thin pool metadata size when using 16G metadata. | |
701 | Add lvconvert pool creation rule disallowing options with poolmetadata. | |
702 | Fix lvconvert when the same LV is incorrectly reused in options. | |
703 | Fix lvconvert VG name validation in option values. | |
704 | Fix missing lvmlockd LV locks in lvchange and lvconvert. | |
705 | Fix dmeventd setup for lvchange --poll. | |
706 | Fix use of --poll and --monitor with lvchange and vgchange. | |
707 | Disallow lvconvert of hidden LV to a pool. | |
708 | Ignore --partial option when not used for activation. | |
709 | Allow --activationmode option with lvchange --refresh. | |
710 | Better message on lvconvert --regionsize | |
711 | Allow valid lvconvert --regionsize change | |
712 | Add raid10 alias raid10_near | |
713 | Handle insufficient PVs on lvconvert takeover | |
714 | Fix SIGINT blocking to prevent corrupted metadata | |
715 | Fix systemd unit existence check for lvmconf --services --startstopservices. | |
716 | Check and use PATH_MAX buffers when creating vgrename device paths. | |
717 | ||
718 | Version 2.02.169 - 28th March 2017 | |
719 | ================================== | |
720 | Automatically decide whether '-' in a man page is a hyphen or a minus sign. | |
721 | Add build-time configuration command line to 'lvm version' output. | |
722 | Handle known table line parameter order change in specific raid target vsns. | |
723 | Conditionally reject raid convert to striped/raid0* after reshape. | |
724 | Ensure raid6 upconversion restrictions. | |
725 | Adjust mirror & raid dmeventd plugins for new lvconvert --repair behaviour. | |
726 | Disable lvmetad when lvconvert --repair is run. | |
727 | Remove obsolete lvmchange binary - convert to built-in command. | |
728 | Show more information for cached volumes in lvdisplay [-m]. | |
729 | Add option for lvcreate/lvconvert --cachemetadataformat auto|1|2. | |
730 | Support cache segment with configurable metadata format. | |
731 | Add allocation/cache_metadata_format profilable settings. | |
732 | Use function cache_set_params() for both lvcreate and lvconvert. | |
733 | Skip rounding on cache chunk size boudary when create cache LV. | |
734 | Improve cache_set_params support for chunk_size selection. | |
735 | Fix metadata profile allocation/cache_[mode|policy] setting. | |
736 | Fix missing support for using allocation/cache_pool_chunk_size setting. | |
737 | Upstream git moved to https://sourceware.org/git/?p=lvm2 | |
738 | Support conversion of raid type, stripesize and number of disks | |
739 | Reject writemostly/writebehind in lvchange during resynchronization. | |
740 | Deactivate active origin first before removal for improved workflow. | |
741 | Fix regression of accepting both --type and -m with lvresize. (2.02.158) | |
742 | Add lvconvert --swapmetadata, new specific way to swap pool metadata LVs. | |
743 | Add lvconvert --startpoll, new specific way to start polling conversions. | |
744 | Add lvconvert --mergethin, new specific way to merge thin snapshots. | |
745 | Add lvconvert --mergemirrors, new specific way to merge split mirrors. | |
746 | Add lvconvert --mergesnapshot, new specific way to combine cow LVs. | |
747 | Split up lvconvert code based on command definitions. | |
748 | Split up lvchange code based on command definitions. | |
749 | Generate help output and man pages from command definitions. | |
750 | Verify all command line items against command definition. | |
751 | Match every command run to one command definition. | |
752 | Specify every allowed command definition/syntax in command-lines.in. | |
753 | Add extra memory page when limiting pthread stack size in clvmd. | |
754 | Support striped/raid0* <-> raid10_near conversions. | |
755 | Support shrinking of RaidLVs. | |
756 | Support region size changes on existing RaidLVs. | |
757 | Avoid parallel usage of cpg_mcast_joined() in clvmd with corosync. | |
758 | Support raid6_{ls,rs,la,ra}_6 segment types and conversions from/to it. | |
759 | Support raid6_n_6 segment type and conversions from/to it. | |
760 | Support raid5_n segment type and conversions from/to it. | |
761 | Support new internal command _dmeventd_thin_command. | |
762 | Introduce new dmeventd/thin_command configurable setting. | |
763 | Use new default units 'r' for displaying sizes. | |
764 | Also unmount mount point on top of MD device if using blkdeactivate -u. | |
765 | Restore check preventing resize of cache type volumes (2.02.158). | |
766 | Add missing udev sync when flushing dirty cache content. | |
767 | vgchange -p accepts only uint32 numbers. | |
768 | Report thin LV date for merged LV when the merge is in progress. | |
769 | Detect if snapshot merge really started before polling for progress. | |
770 | Checking LV for merging origin requires also it has merged snapshot. | |
771 | Extend validation of metadata processing. | |
772 | Enable usage of cached volumes as snapshot origin LV. | |
773 | Fix displayed lv name when splitting snapshot (2.02.146). | |
774 | Warn about command not making metadata backup just once per command. | |
775 | Enable usage of cached volume as thin volume's external origin. | |
776 | Support cache volume activation with -real layer. | |
777 | Improve search of lock-holder for external origin and thin-pool. | |
778 | Support status checking of cache volume used in layer. | |
779 | Avoid shifting by one number of blocks when clearing dirty cache volume. | |
780 | Extend metadata validation of external origin LV use count. | |
781 | Fix dm table when the last user of active external origin is removed. | |
782 | Improve reported lvs status for active external origin volume. | |
783 | Fix table load for splitted RAID LV and require explicit activation. | |
784 | Always active splitted RAID LV exclusively locally. | |
785 | Do not use LV RAID status bit for segment status. | |
786 | Check segtype directly instead of checking RAID in segment status. | |
787 | Reusing exiting code for raid image removal. | |
788 | Fix pvmove leaving -pvmove0 error device in clustered VG. | |
789 | Avoid adding extra '_' at end of raid extracted images or metadata. | |
790 | Optimize another _rmeta clearing code. | |
791 | Fix deactivation of raid orphan devices for clustered VG. | |
792 | Fix lvconvert raid1 to mirror table reload order. | |
793 | Add internal function for separate mirror log preparation. | |
794 | Fix segfault in lvmetad from missing NULL in daemon_reply_simple. | |
795 | Simplify internal _info_run() and use _setup_task_run() for mknod. | |
796 | Better API for internal function _setup_task_run. | |
797 | Avoid using lv_has_target_type() call within lv_info_with_seg_status. | |
798 | Simplify internal lv_info_with_seg_status API. | |
799 | Decide which status is needed in one place for lv_info_with_seg_status. | |
800 | Fix matching of LV segment when checking for it info status. | |
801 | Report log_warn when status cannot be parsed. | |
802 | Test segment type before accessing segment members when checking status. | |
803 | Implement compatible target function for stripe segment. | |
804 | Use status info to report merge failed and snapshot invalid lvs fields. | |
805 | ||
806 | Version 2.02.168 - 30th November 2016 | |
807 | ===================================== | |
808 | Display correct sync_percent on large RaidLVs | |
809 | lvmdbusd --blackboxsize <n> added, used to override default size of 16 | |
810 | Allow a transiently failed RaidLV to be refreshed | |
811 | Use lv_update_and_reload() inside mirror code where it applies. | |
812 | Preserve mirrored status for temporary layered mirrors. | |
813 | Use transient raid check before repairing raid volume. | |
814 | Implement transient status check for raid volumes. | |
815 | Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification. | |
816 | Avoid duplicated underscore in name of extracted LV image. | |
817 | Missing stripe filler now could be also 'zero'. | |
818 | lvconvert --repair accepts --interval and --background option. | |
819 | More efficiently prepare _rmeta devices when creating a new raid LV. | |
820 | ||
821 | Version 2.02.167 - 5th November 2016 | |
822 | ==================================== | |
823 | Use log_error in regex and sysfs filter to describe reason of failure. | |
824 | Fix blkdeactivate to deactivate dev stack if dev on top already unmounted. | |
825 | Prevent non-synced raid1 repair unless --force | |
826 | Prevent raid4 creation/conversion on non-supporting kernels | |
827 | Add direct striped -> raid4 conversion | |
828 | Fix raid4 parity image pair position on conversions from striped/raid0* | |
829 | Fix a few unconverted return code values for some lvconvert error path. | |
830 | Disable lvconvert of thin pool to raid while active. | |
831 | Disable systemd service start rate limiting for lvm2-pvscan@.service. | |
832 | ||
833 | Version 2.02.166 - 26th September 2016 | |
834 | ====================================== | |
835 | Fix lvm2-activation-generator to read all LVM2 config sources. (2.02.155) | |
836 | Fix lvchange-rebuild-raid.sh to cope with older target versions. | |
837 | Use dm_config_parse_without_dup_node_check() to speedup metadata reading. | |
838 | Fix lvconvert --repair regression | |
839 | Fix reported origin lv field for cache volumes. (2.02.133) | |
840 | Always specify snapshot cow LV for monitoring not internal LV. (2.02.165) | |
841 | Fix lvchange --discard|--zero for active thin-pool. | |
842 | Enforce 4MiB or 25% metadata free space for thin pool operations. | |
843 | Fix lock-holder device for thin pool with inactive thin volumes. | |
844 | Use --alloc normal for mirror logs even if the mimages were stricter. | |
845 | Use O_DIRECT to gather metadata in lvmdump. | |
846 | Ignore creation_time when checking for matching metadata for lvmetad. | |
847 | Fix possible NULL pointer derefence when checking for monitoring. | |
848 | Add lvmreport(7) man page. | |
849 | Don't install lvmraid(7) man page when raid excluded. (2.02.165) | |
850 | Report 0% as dirty (copy%) for cache without any used block. | |
851 | Fix lvm2api reporting of cache data and metadata percent. | |
852 | Restore reporting of metadata usage for cache volumes (2.02.155). | |
853 | Support raid scrubbing on cache origin LV. | |
854 | ||
855 | Version 2.02.165 - 7th September 2016 | |
856 | ===================================== | |
857 | Add lvmraid(7) man page. | |
858 | Use udev db to check for mpath components before running pvscan for lvmetad. | |
859 | Use lsblk -s and lsblk -O in lvmdump only if these options are supported. | |
860 | Fix number of stripes shown in lvcreate raid10 message when too many. | |
861 | Change lvmdbusd to use new lvm shell facilities. | |
862 | Do not monitor cache-pool metadata when LV is just being cleared. | |
863 | Add allocation/cache_pool_max_chunks to prevent misuse of cache target. | |
864 | Give error not segfault in lvconvert --splitmirrors when PV lies outside LV. | |
865 | Fix typo in report/columns_as_rows config option name recognition (2.02.99). | |
866 | Avoid PV tags when checking allocation against parallel PVs. | |
867 | Disallow mirror conversions of raid10 volumes. | |
868 | Fix dmeventd unmonitoring when segment type (and dso) changes. | |
869 | Don't allow lvconvert --repair on raid0 devices or attempt to monitor them. | |
870 | No longer adjust incorrect number of raid stripes supplied to lvcreate. | |
871 | Move lcm and gcd to lib/misc. | |
872 | Fix vgsplit of external origins. (2.02.162) | |
873 | Prohibit creation of RAID LVs unless VG extent size is at least the page size. | |
874 | Suppress some unnecessary --stripesize parameter warnings. | |
875 | Fix 'pvmove -n name ...' to prohibit collocation of RAID SubLVs | |
876 | ||
877 | Version 2.02.164 - 15th August 2016 | |
878 | =================================== | |
879 | Fix selection of PVs when allocating raid0_meta. | |
880 | Fix sdbus socket leak leading to hang in lvmnotify. | |
881 | Specify max stripes for raid LV types: raid0:64; 1:10; 4,5:63; 6:62; 10:32. | |
882 | Avoid double suffix when naming _rmeta LV paired with _rimage LV. | |
883 | ||
884 | Version 2.02.163 - 10th August 2016 | |
885 | =================================== | |
886 | Add profile for lvmdbusd which uses lvm shell json report output. | |
887 | Restrict in-command modification of some parms in lvm shell. | |
888 | Apply LVM_COMMAND_PROFILE early for lvm shell. | |
889 | Refactor reporting so lvm shell log report collects whole of cmd execution. | |
890 | Support LVM_*_FD envvars to redirect output to file descriptors. | |
891 | Limit use of --corelog and --mirrorlog to mirrors in lvconvert. | |
892 | Reject --nosync option for RAID6 LVs in lvcreate. | |
893 | Do not refresh whole cmd context if profile dropped after processing LVM cmd. | |
894 | Support straightforward lvconvert between striped and raid4 LVs. | |
895 | Support straightforward lvconvert between raid1 and mirror LVs. | |
896 | Report supported conversions when asked for unsupported raid lvconvert. | |
897 | Add "--rebuild PV" option to lvchange to allow for PV selective rebuilds. | |
898 | Preserve existing mirror region size when using --repair. | |
899 | Forbid stripe parameters with lvconvert --repair. | |
900 | Unify stripe size validation into get_stripe_params to catch missing cases. | |
901 | Further lvconvert validation logic refactoring. | |
902 | ||
903 | Version 2.02.162 - 28th July 2016 | |
904 | ================================= | |
905 | Extend vg_validate also to check raid configurations thoroughly. | |
906 | Support lvconvert -Zn also when doing full cache pool conversion. | |
907 | Suppress not zeroing warn when converting to thin LV for non-zeroing tpool. | |
908 | Fix automatic updates of PV extension headers to newest version. | |
909 | Improve lvconvert --trackchanges validation to require --splitmirrors 1. | |
910 | Add note about lastlog built-in command to lvm man page. | |
911 | Fix unrecognised segtype flag message. | |
912 | lvconvert not clears cache pool metadata ONLY with -Zn. | |
913 | Add allocation/raid_stripe_all_devices to reinstate previous behaviour. | |
914 | Create raid stripes across fixed small numbers of PVs instead of all PVs. | |
915 | Enabled lvconvert --uncache to work with partial VG. | |
916 | Disallow lvconvert --replace with raid0* LVs. | |
917 | Fix some lvmetad changed VG metadata notifications that sent uncommitted data. | |
918 | ||
919 | Version 2.02.161 - 15th July 2016 | |
920 | ================================= | |
921 | Prohibit some lvchange/lvresize that were failing on raid0 volumes. | |
922 | Fix segfaults in complex vgsplits. (2.02.159) | |
923 | Reformat unwieldy lvconvert man page. | |
924 | Allow --force to be passed through to pvcreate from vgcreate. (2.02.144) | |
925 | Fix lvresize of filesystem when LV has already right size (2.02.141) | |
926 | New LVM_LOG_FILE_MAX_LINES env var to limit max size of created logs. | |
927 | ||
928 | Version 2.02.160 - 6th July 2016 | |
929 | ================================ | |
930 | Minor fixes from coverity. | |
931 | ||
932 | Version 2.02.159 - 6th July 2016 | |
933 | ================================ | |
934 | Add raid0_meta segment type that provides metadata space for raid conversions. | |
935 | Fix created link for a used pool for vgmknode. | |
936 | Introduce and use is_power_of_2 macro. | |
937 | Support conversions between striped and raid0 segment types. | |
938 | Add infrastructure for raid takeover lvconvert options. | |
939 | ||
940 | Version 2.02.158 - 25th June 2016 | |
941 | ================================= | |
942 | Add a more efficient native vgimportclone command to replace the script. | |
943 | Make lvmlockd always attempt to connect to lvmetad if no connection exists. | |
944 | Let lvmetad handle new connections after shutdown signal. | |
945 | Disable lvmetad when vgcfgrestore begins and enable it again after. | |
946 | Make pvscan do activation if lvmetad is configured but not running. | |
947 | Fix rescanning the PVs for a single VG when using lvmetad. | |
948 | Pool metadata lvresize uses now same code as resize of normal volume. | |
949 | Preserve monitoring status when updating thin-pool metadata. | |
950 | Return 0 (inactive) when status cannot be queried in _lv_active(). | |
951 | Switch to log_warn() for failing activation status query. | |
952 | Replace vgimportclone script with binary. | |
953 | While lvmetad is shutting down, continue handling all connections cleanly. | |
954 | Refactor lvconvert argument handling code. | |
955 | Notify lvmetad when vgcfgrestore changes VG metadata. | |
956 | Add --logonly option to report only cmd log for a command, not other reports. | |
957 | Add log/command_log_selection to configure default selection used on cmd log. | |
958 | Use 'orphan' object type in cmd log for groups to collect PVs not yet in VGs. | |
959 | Add lvm lastlog command for query and display of last cmd's log in lvm shell. | |
960 | Report per-object return codes via cmd log while processing multiple objects. | |
961 | Annotate processing code with log report hooks for per-object command log. | |
962 | Also pass common printed messages (besides warnings and errors) to log report. | |
963 | Log warnings and errors via report during cmd processing if this is enabled. | |
964 | Make it possible to iterate over internal 'orphan' VGs in process_each_vg fn. | |
965 | Make -S|--select option groupable that allows this option to be repeated. | |
966 | Make -O|--sort option groupable that allows this option to be repeated. | |
967 | Add --configreport option to select report for which next options are applied. | |
968 | Add support for priorities on grouping command arguments. | |
969 | Add report/{pvs,vgs,lvs,pvsegs,segs}_{cols,sort}_full to lvm.conf. | |
970 | Add lvm fullreport command for joined PV, VG, LV and segment report per VG. | |
971 | Integrate report group handling and cmd log report into cmd processing code. | |
972 | Add log/report_command_log to lvm.conf to enable or disable cmd log report. | |
973 | Add log/report_output_format to lvm.conf for default report output format. | |
974 | Recognize --reportformat {basic|json} option to select report output format. | |
975 | Add log/command_log_{sort,cols} to lvm.conf to configure command log report. | |
976 | Add log_object_{type,name,id,group,group_id} fields to cmd log. | |
977 | Add log_{seq_num,type,context,message,errno,ret_code} fields to cmd log. | |
978 | Add CMDLOG report type - a separate report type for command logging. | |
979 | ||
980 | Version 2.02.157 - 17th June 2016 | |
981 | ================================= | |
982 | Change pvscan --cache -aay to scan locally if lvmetad fails. | |
983 | ||
984 | Version 2.02.156 - 11th June 2016 | |
985 | ================================= | |
986 | Don't allow duplicate orphan PVs to be used with vgcreate/vgextend/pvcreate. | |
987 | Improve handling of lvmetad update failures. | |
988 | Yes/No prompt accepts '^[ ^t]*([Yy]([Ee]([Ss]|)|)|[Nn]([Oo]|))[ ^t]*$'. | |
989 | If available, also collect output from lsblk command when running lvmdump -s. | |
990 | ||
991 | Version 2.02.155 - 3rd June 2016 | |
992 | ================================ | |
993 | Reject PV tags on pvmove cmdline because only 1 PV is supported. (2.02.141) | |
994 | Fix compilation error when building with configure --disable-devmapper. | |
995 | Fix lvmconfig --type diff to display complete diff if config cascade used. | |
996 | Automatically filter out partitioned loop devices with partscan (losetup -P). | |
997 | Fix lvm devtypes internal error if -S used with field name from pvs/vgs/lvs. | |
998 | When reporting Data%,Snap%,Meta%,Cpy%Sync use single ioctl per LV. | |
999 | Add lvseg_percent_with_info_and_seg_status() for percent retrieval. | |
1000 | Enhance internal seg_status handling to understand snapshots better. | |
1001 | When refresh failed in suspend, call resume upon error path. | |
1002 | Support passthrough cache mode when waiting for clean cache. | |
1003 | Check cache status only for 'in-use' cache pools. | |
1004 | Extend setup_task() to preset flushing for dm_task object. | |
1005 | When checking LV is a merging COW, validate its a COW LV first. | |
1006 | Correcting value in copy_percent() for 100%. | |
1007 | Update vgreduce to use process_each_vg. | |
1008 | Update lvconvert to use process_each_lv. | |
1009 | Update pvscan to use process_each_vg for autoactivation. | |
1010 | Add basic support for --type raid0 using md. | |
1011 | Add support for lvchange --cachemode for cached LV. | |
1012 | Fix liblvm2app error handling when setting up context. | |
1013 | Delay liblvm2app init in python code until it is needed. | |
1014 | Simplify thread locking in lvmetad to fix locking problems. | |
1015 | Allow pvremove -ff to remove a duplicate PV. | |
1016 | Fix lvm2-activation-generator to read lvm.conf without full command setup. | |
1017 | Allow a minimal context to be used in lvm2app for reading lvm.conf. | |
1018 | ||
1019 | Version 2.02.154 - 14th May 2016 | |
1020 | ================================ | |
1021 | Fix liblvm segfault after failure initialising lvmetad connection. | |
1022 | Retry open without O_NOATIME if it fails (not file owner/CAP_FOWNER). | |
1023 | Split _report into one fn for options and arguments and one for processing. | |
1024 | ||
1025 | Version 2.02.153 - 7th May 2016 | |
1026 | =============================== | |
1027 | Change warning messages related to duplicate PVs. | |
1028 | A named device is always processed itself, not switched for a duplicate. | |
1029 | Add PV attr "d" and report field "duplicate" for duplicate PVs. | |
1030 | Add config setting to disallow VG changes when duplicate PVs exist. | |
1031 | Use device size and active LVs to choose the preferred duplicate PV. | |
1032 | Disable lvmetad when duplicate PVs are seen. | |
1033 | Support --chunksize option also when caching LV when possible. | |
1034 | Add function to check for target presence and version via 1 ioctl. | |
1035 | ||
1036 | Version 2.02.152 - 30th April 2016 | |
1037 | ================================== | |
1038 | Use any inherited tags when wiping metadata sub LVs to ensure activation. | |
1039 | Add str_list_wipe. | |
1040 | Improve support for interrupting procesing of volumes during lvchange. | |
1041 | Use failed command return code when lvchanging read-only volume. | |
1042 | Show creation transaction_id and zeroing state of pool with thin volume. | |
1043 | Stop checking for dm_cache_mq policy with cache target 1.9 (alias to smq). | |
1044 | Check first /sys/module/dm_* dir existance before using modprobe. | |
1045 | Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0). | |
1046 | ||
1047 | Version 2.02.151 - 23rd April 2016 | |
1048 | ================================== | |
1049 | Fix error path after reusing of _setup_task (2.02.150). | |
1050 | Fix memory access for empty sysfs values (2.02.149). | |
1051 | Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning. | |
1052 | Suppress errors when snapshot merge gets delayed because volume is in use. | |
1053 | Avoid internal snapshot LV names in messages. | |
1054 | Autodetect and use /run/lock dir when available instead of /var/lock. | |
1055 | lvchange --refresh for merging thin origin will retry to deactivate snapshot. | |
1056 | Recognize in-progress snapshot merge for thin volumes from dm table. | |
1057 | Avoid deciding to initiate a pending snapshot merge during resume. | |
1058 | Improve retrying lvmetad requests while lvmetad is being updated. | |
1059 | Read devices instead of using the lvmetad cache if rescan fails. | |
1060 | Move lvmetad token/filter check and device rescan to the start of commands. | |
1061 | Don't try deactivating fictional internal LV before snapshot merge. (2.02.105) | |
1062 | When not obtaining devs from udev, check they exist before caching them. | |
1063 | Detect device mismatch also when compiling without udev support. | |
1064 | ||
1065 | Version 2.02.150 - 9th April 2016 | |
1066 | ================================= | |
1067 | Avoid using flushing dm status ioctl when checking for usable DM device. | |
1068 | Check for devices without LVM- uuid prefix only with kernels < 3.X. | |
1069 | Reuse %FREE size aproximation with lvcreate -l%PVS thin-pool. | |
1070 | Allow the lvmdump directory to exist already provided it is empty. | |
1071 | Show lvconverted percentage with 2 decimal digits. | |
1072 | Fix regression in suspend when repairing --type mirror (2.02.133). | |
1073 | ||
1074 | Version 2.02.149 - 1st April 2016 | |
1075 | ================================= | |
1076 | Do not flush thin-pool when checking metadata fullness. | |
1077 | Remove spurious error about no value in /sys/dev/block/major:minor/dm/uuid. | |
1078 | Fix device mismatch detection for LV if persistent .cache file is used. | |
1079 | Fix holder device not being found in /dev while sysfs has it during dev scan. | |
1080 | ||
1081 | Version 2.02.148 - 26th March 2016 | |
1082 | ================================== | |
1083 | Introduce TARGET_NAME and MODULE NAME macros. | |
1084 | Replace hard-coded module and target names with macros. | |
1085 | Add pv_major and pv_minor report fields. | |
1086 | Detect and warn about mismatch between devices used and assumed for an LV. | |
1087 | ||
1088 | Version 2.02.147 - 19th March 2016 | |
1089 | ================================== | |
1090 | If available, use /proc/self/mountinfo to detect mounted volume in fsadm. | |
1091 | Fix resize of stacked raid thin data volume (2.02.141). | |
1092 | Fix test for lvremove failure in lvconvert --uncache (2.02.146). | |
1093 | ||
1094 | Version 2.02.146 - 11th March 2016 | |
1095 | ================================== | |
1096 | More man page cleanups in lvconvert. | |
1097 | Fix makefile vpath in /udev when generating udev rules files. | |
1098 | Another attempt to improve VG name parsing for lvconvert (2.02.144). | |
1099 | Use new cache status info and skip flushing for failed cache. | |
1100 | Support --uncache with missing PVs. | |
1101 | Tidy report field names, headings and widths. | |
1102 | Add vgscan --notifydbus to send a dbus notification. | |
1103 | Add dbus notification from commands after a PV/VG/LV changes state. | |
1104 | ||
1105 | Version 2.02.145 - 4th March 2016 | |
1106 | ================================= | |
1107 | Make it possible to use lvremove and lvrename on historical LVs. | |
1108 | For historical LVs, report 'none' for lv_layout and 'history' for lv_role. | |
1109 | Add full_{ancestors,descendants} fields to report LV ancestry with history. | |
1110 | Report (h)istorical state within 5th bit (State) of the lv_attr field. | |
1111 | Add lv_historical reporting field to report if LV is historical or not. | |
1112 | Add lv_time_removed reporting field to display removal time for hist. LVs. | |
1113 | Report lv_name, lv_uuid, vg_name, lv_time for historical LVs. | |
1114 | Add --nohistory switch to lvremove to disable history recording on demand. | |
1115 | Add -H|--history switch to lvs and lvdisplay to include historical LVs. | |
1116 | Create historical LVs out of removed thin snapshot LVs and record in history. | |
1117 | Add metadata/lvs_history_retention_time for automatic removal of hist. LVs. | |
1118 | Add metadata/record_lvs_history config for switching LV history recording. | |
1119 | Add support and infrastructure for tracking historical LVs. | |
1120 | Improve lvconvert man page. | |
1121 | Add kernel_cache_policy lvs field. | |
1122 | Display [unknown] instead of 'unknown device' in pvs output. | |
1123 | Fix error path when pvcreate allocation fails (2.02.144). | |
1124 | Display [unknown] instead of blank for unknown VG names in pvs output. | |
1125 | ||
1126 | Version 2.02.144 - 26th February 2016 | |
1127 | ===================================== | |
1128 | Use new PV processing code in pvcreate/vgcreate/vgextend/pvremove. | |
1129 | Add new PV processing code that prompts user without locks held. | |
1130 | Prevent lvmlockd blocking with new flag requiring sanlock 3.3.0. | |
1131 | Only show (u)sed pv_attr char when PV is not (a)llocatable. (2.02.143) | |
1132 | Update makefile to generate lcov output also for lvmpolld and lvmlockd. | |
1133 | Fix SystemdService lvm2-lvmdbusd.service name. | |
1134 | Improve support for env LVM_VG_NAME for reference VG name in lvconvert. | |
1135 | Fix regression when lvresize accepted zero sizes. (2.02.141) | |
1136 | Always warn user about PV in use even when pvremove uses --force --force. | |
1137 | Use uninitialized pool header detection in all cases. | |
1138 | Fix read error detection when checking for uninitialized thin-pool header. | |
1139 | Fix error path for internal error in lvmetad VG lookup code. | |
1140 | ||
1141 | Version 2.02.143 - 21st February 2016 | |
1142 | ===================================== | |
1143 | Fix error path when sending thin-pool message fails in update_pool_lv(). | |
1144 | Support reporting CheckNeeded and Fail state for thin-pool and thin LV. | |
1145 | For failing thin-pool and thin volume correctly report percentage as INVALID. | |
1146 | Report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary. | |
1147 | Add configure --enable-dbus-service for an LVM D-Bus service. | |
1148 | Replace configure --enable-python_bindings with python2 and python3 versions. | |
1149 | If PV belongs to some VG and metadata missing, skip it if system ID is used. | |
1150 | Automatically change PV header extension to latest version if writing PV/VG. | |
1151 | Identify used PVs in pv_attr field by new 'u' character. | |
1152 | Add pv_in_use reporting field to report if PV is used or not. | |
1153 | Add pv_ext_vsn reporting field to report PV header extension version. | |
1154 | Add protective flag marking PVs as used even if no metadata available. | |
1155 | ||
1156 | Version 2.02.142 - 15th February 2016 | |
1157 | ===================================== | |
1158 | Fix memory pool corruption in pvmove (2.02.141). | |
1159 | Support control of spare metadata creation when repairing thin-pool. | |
1160 | Fix config type of 'log/verbose' from bool to int (2.02.99). | |
1161 | Fix inverted data LV thinp watermark calc for dmeventd response (2.02.133). | |
1162 | Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in. | |
1163 | Do not check for suspended devices if scanning for lvmetad update. | |
1164 | Clear cached bootloader areas when PV format changed. | |
1165 | Fix partn table filter with external_device_info_source="udev" and blkid<2.20. | |
1166 | ||
1167 | Version 2.02.141 - 25th January 2016 | |
1168 | ==================================== | |
1169 | Add metadata/check_pv_device_sizes switch to lvm.conf for device size checks. | |
1170 | Warn if device size is less than corresponding PV size in metadata. | |
1171 | Cache device sizes internally. | |
1172 | Restore support for command breaking in process_each_lv_in_vg() (2.02.118). | |
1173 | Use correct mempool when process_each_lv_in_vg() (2.02.118). | |
1174 | Fix lvm.8 man to show again prohibited suffixes. | |
1175 | Fix configure to set proper use_blkid_wiping if autodetected as disabled. | |
1176 | Initialise udev in clvmd for use in device scanning. (2.02.116) | |
1177 | Add seg_le_ranges report field for common format when displaying seg devices. | |
1178 | Honour report/list_item_separator for seg_metadata_le_ranges report field. | |
1179 | Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140) | |
1180 | Change LV sizes in seg_pe_ranges report field to match underlying devices. | |
1181 | Add kernel_cache_settings report field for cache LV settings used in kernel. | |
1182 | ||
1183 | Version 2.02.140 - 16th January 2016 | |
1184 | ==================================== | |
1185 | Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}. | |
1186 | Add kernel_discards report field to display thin pool discard used in kernel. | |
1187 | Correct checking of target presence when driver access is disabled. | |
1188 | Eval poolmetadatasize arg earlier in lvresize. | |
1189 | Fix vgcfgrestore to respect allocatable attribute of PVs. | |
1190 | Add report/mark_hidden_devices to lvm.conf. | |
1191 | Use brackets consistently in report fields to mark hidden devices. | |
1192 | Restore background polling processing during auto-activation (2.02.119). | |
1193 | Fix invalid memory read when reporting cache LV policy_name (2.02.126). | |
1194 | ||
1195 | Version 2.02.139 - 8th January 2016 | |
1196 | =================================== | |
1197 | Update lvmlockd with the new VG seqno before devices are suspended. | |
1198 | Rework vgrename to use the common processing code in toollib. | |
1199 | Make pvs show new devices on the system since the last .cache update. | |
1200 | Document F,D and M thin pool health status chars for lv_attr in lvs man page. | |
1201 | Also add lvm2-activation{-early,-net}.service systemd status for lvmdump -s. | |
1202 | ||
1203 | Version 2.02.138 - 14th December 2015 | |
1204 | ===================================== | |
1205 | Support lvrename for hidden (used) cache pools. | |
1206 | Fix lvrename for stacked cache pools. | |
1207 | ||
1208 | Version 2.02.137 - 5th December 2015 | |
1209 | ==================================== | |
1210 | Restore archiving before changing metadata in vgextend (2.02.117). | |
1211 | Dropped internal usage of log_suppress(2). | |
1212 | Cleaned logging code for buffer size usage. | |
1213 | Added internal id_read_format_try() function to check and read valid UUID. | |
1214 | Change lvcreate, lvrename, lvresize to use process_each_vg. | |
1215 | Change process_each_vg to handle single VG as separate arg. | |
1216 | Issue error if ambiguous VG name is supplied in most commands. | |
1217 | Make process_each fns always work through full list of known VG names. | |
1218 | Use dm_get_status_mirror() instead of individual parsers. | |
1219 | Add mem pool arg for check_transient_status() target function. | |
1220 | Avoid misleading error with -m is omitted with lvconvert to raid types. | |
1221 | Add system_id to vginfo cache. | |
1222 | ||
1223 | Version 2.02.136 - 28th November 2015 | |
1224 | ===================================== | |
1225 | Add new --sinceversion option for lvmconfig --type new. | |
1226 | Fix inactive table loaded for wrapping thin-pool when resizing it. | |
1227 | Extend the list of ignored libraries when locking memory. | |
1228 | ||
1229 | Version 2.02.135 - 23rd November 2015 | |
1230 | ===================================== | |
1231 | Add a model file for Coverity. | |
1232 | Show correct error message for unsupported yet cache pool repair. | |
1233 | Allow lvconvert cache pools' data and metadata LV to raid. | |
1234 | Fix reading of old metadata with missing cache policy or mode settings. | |
1235 | Issue error if external_device_info_source=udev and udev db record incomplete. | |
1236 | Update lvmetad duplicate VG name handling to use hash function extensions. | |
1237 | Detect invalid vgrenames by vgid where the name is unchanged. | |
1238 | Fix passing of 32bit values through daemons (mostly lvmlockd). | |
1239 | Use local memory pool for whole alloc_handle manipulation. | |
1240 | Add missing pointer validation after dm_get_next_target(). | |
1241 | Do not deref NULL pointer in debug message for _match_pv_tags(). | |
1242 | Drop unneeded stat() call when checking for sysfs file. | |
1243 | Fix memory leak on error path of failing thin-pool percentage check. | |
1244 | Add missing test for failing node allocation in lvmetad. | |
1245 | Correct configure messages when enabling/disabling lvmlockd. | |
1246 | ||
1247 | Version 2.02.134 - 9th November 2015 | |
1248 | ==================================== | |
1249 | Refactor some lvmetad code and adjust some duplicate PV messages. | |
1250 | No longer repair/wipe VG/PVs if inaccessible because foreign or shared. | |
1251 | Pass correct data size to mirror log calc so log can be bigger than 1 extent. | |
1252 | ||
1253 | Version 2.02.133 - 30th October 2015 | |
1254 | ==================================== | |
1255 | Support repeated -o|--options for reporting commands. | |
1256 | Support -o- and -o# for reporting commands to remove and compact fields. | |
1257 | Fix missing PVs from pvs output if vgremove is run concurrently. | |
1258 | Remove unwanted error message when running pvs/vgs/lvs and vgremove at once. | |
1259 | Check newly created VG's metadata do not overlap in metadata ring buffer. | |
1260 | Check metadata area size is at least the minimum size defined for the format. | |
1261 | Thin pool targets uses low_water_mark from profile. | |
1262 | Dropping 'yet' from error of unsupported thick snapshot of snapshots. | |
1263 | Do not support unpartitioned DASD devices with CDL formatted with pvcreate. | |
1264 | For thins use flush for suspend only when volume size is reduced. | |
1265 | Enable code which detects the need of flush during suspend. | |
1266 | Ensure --use-policy will resize volume to fit below threshold. | |
1267 | Correct percentage evaluation when checking thin-pool over threshold. | |
1268 | Fix lvmcache to move PV from VG to orphans if VG is removed and lvmetad used. | |
1269 | Fix lvmcache to not cache even invalid info about PV which got removed. | |
1270 | Support checking of memlock daemon counter. | |
1271 | Allow all log levels to be used with the lvmetad -l option. | |
1272 | Add optional shutdown when idle support for lvmetad. | |
1273 | Fix missing in-sync progress info while lvconvert used with lvmpolld. | |
1274 | Add report/compact_output_cols to lvm.conf to define report cols to compact. | |
1275 | Do not change logging in lvm2 library when it's already set. | |
1276 | Check for enough space in thin-pool in command before creating new thin. | |
1277 | Make libblkid detect all copies of the same signature if use_blkid_wiping=1. | |
1278 | Fix vgimportclone with -n to not add number unnecessarily to base VG name. | |
1279 | Cleanup vgimportclone script and remove dependency on awk, grep, cut and tr. | |
1280 | Add vg_missing_pv_count report field to report number of missing PVs in a VG. | |
1281 | Properly identify internal LV holding sanlock locks within lv_role field. | |
1282 | Add metadata_devices and seg_metadata_le_ranges report fields for raid vols. | |
1283 | Fix lvm2-{activation,clvmd,cmirrord,monitor} service to exec before mounting. | |
1284 | ||
1285 | Version 2.02.132 - 22nd September 2015 | |
1286 | ====================================== | |
1287 | Fix lvmconf to set locking_type=2 if external locking library is requested. | |
1288 | Remove verbose message when rescanning an unchanged device. (2.02.119) | |
1289 | Add origin_uuid, mirror_log_uuid, move_pv_uuid, convert_lv_uuid report fields. | |
1290 | Add pool_lv_uuid, metadata_lv_uuid, data_lv_uuid reporting fields. | |
1291 | Fix PV label processing failure after pvcreate in lvm shell with lvmetad. | |
1292 | ||
1293 | Version 2.02.131 - 15th September 2015 | |
1294 | ====================================== | |
1295 | Rename 'make install_full_man' to install_all_man and add all_man target. | |
1296 | Fix vgimportclone cache_dir path name (2.02.115). | |
1297 | Swapping of LV identifiers handles more complex LVs. | |
1298 | Use passed list of PVS when allocating space in lvconvert --thinpool. | |
1299 | Disallow usage of --stripe and --stripesize when creating cache pool. | |
1300 | Warn user when caching raid or thin pool data LV. | |
1301 | When layering LV, move LV flags with segments. | |
1302 | Ignore persistent cache if configuration changed. (2.02.127) | |
1303 | Fix devices/filter to be applied before disk-accessing filters. (2.02.112) | |
1304 | Make tags only when requested via 'make tags'. | |
1305 | Configure supports --disable-dependency-tracking for one-time builds. | |
1306 | Fix usage of configure.h when building in srcdir != builddir. | |
1307 | ||
1308 | Version 2.02.130 - 5th September 2015 | |
1309 | ===================================== | |
1310 | Fix use of uninitialized device status if reading outdated .cache record. | |
1311 | Restore support for --monitor option in lvcreate (2.02.112). | |
1312 | Read thin-pool data and metadata percent without flush. | |
1313 | Detect blocked thin-pool and avoid scanning their thin volumes. | |
1314 | Check if dm device is usable before checking its size (2.02.116). | |
1315 | Extend parsing of cache_check version in configure. | |
1316 | Make lvpoll error messages visible in lvmpolld's stderr and in syslog. | |
1317 | Add 'make install_full_man' to install all man pages regardless of config. | |
1318 | ||
1319 | Version 2.02.129 - 26th August 2015 | |
1320 | =================================== | |
1321 | Drop error message when vgdisplay encounters an exported VG. (2.02.27) | |
1322 | Fix shared library generation to stop exporting internal functions.(2.02.120) | |
1323 | Accept --cachemode with lvconvert. | |
1324 | Fix and improve reporting properties of cache-pool. | |
1325 | Enable usage of --cachepolicy and --cachesetting with lvconvert. | |
1326 | Don't allow to reduce size of thin-pool metadata. | |
1327 | Fix debug buffer overflows in cmirrord logging. | |
1328 | Add --foreground and --help to cmirrord. | |
1329 | ||
1330 | Version 2.02.128 - 17th August 2015 | |
1331 | =================================== | |
1332 | Allocation setting cache_pool_cachemode is replaced by cache_mode. | |
1333 | Don't attempt to close config file that couldn't be opened. | |
1334 | Check for valid cache mode in validation of cache segment. | |
1335 | Change internal interface handling cache mode and policy. | |
1336 | When no cache policy specified, prefer smq (if available) over mq. | |
1337 | Add demo cache-mq and cache-smq profiles. | |
1338 | Add cmd profilable allocation/cache_policy,cache_settings,cache_mode. | |
1339 | Require cache_check 0.5.4 for use of --clear-needs-check-flag. | |
1340 | Fix lvmetad udev rules to not override SYSTEMD_WANTS, add the service instead. | |
1341 | ||
1342 | Version 2.02.127 - 10th August 2015 | |
1343 | =================================== | |
1344 | Do not init filters, locking, lvmetad, lvmpolld if command doesn't use it. | |
1345 | Order fields in struct cmd_context more logically. | |
1346 | Add lock_type to lvmcache VG summary and info structs. | |
1347 | Fix regression in cache causing some PVs to bypass filters (2.02.105). | |
1348 | Make configure --enable-realtime the default now. | |
1349 | Update .gitignore and configure.in files to reflect usage of current tree. | |
1350 | ||
1351 | Version 2.02.126 - 24th July 2015 | |
1352 | ================================= | |
1353 | Fix long option hyphen removal. (2.02.122) | |
1354 | Fix clvmd freeze if client disappears without first releasing its locks. | |
1355 | Fix lvconvert segfaults while performing snapshots merge. | |
1356 | Ignore errors during detection if use_blkid_wiping=1 and --force is used. | |
1357 | Recognise DM_ABORT_ON_INTERNAL_ERRORS env var override in lvm logging fn. | |
1358 | Fix alloc segfault when extending LV with fewer stripes than in first seg. | |
1359 | Fix handling of cache policy name. | |
1360 | Set cache policy before with the first lvm2 cache pool metadata commit. | |
1361 | Fix detection of thin-pool overprovisioning (2.02.124). | |
1362 | Fix lvmpolld segfaults on 32 bit architectures. | |
1363 | Add lvmlockd lock_args validation to vg_validate. | |
1364 | Fix ignored --startstopservices option if running lvmconf with systemd. | |
1365 | Hide sanlock LVs when processing LVs in VG unless named or --all used. | |
1366 | ||
1367 | Version 2.02.125 - 7th July 2015 | |
1368 | ================================ | |
1369 | Fix getline memory usage in lvmpolld. | |
1370 | Add support --clear-needs-check-flag for cache_check of cache pool metadata. | |
1371 | Add lvmetactl for developer use only. | |
1372 | Rename global/lock_retries to lvmlockd_retries. | |
1373 | Replace --enable-lvmlockd by --enable-lockd-sanlock and --enable-lockd-dlm. | |
1374 | ||
1375 | Version 2.02.124 - 3rd July 2015 | |
1376 | ================================ | |
1377 | Move sending thin pool messages from resume to suspend phase. | |
1378 | Report warning when pool is overprovisioned and not auto resized. | |
1379 | Recognize free-form date/time values for lv_time field in selection criteria. | |
1380 | Added experimental lvmlockd with configure --enable-lvmlockd. | |
1381 | Fix regression in select to match string fields if using synonyms (2.02.123). | |
1382 | Fix regression when printing more lv names via display_lvname (2.02.122). | |
1383 | Add missing error logging to unlock_vg and sync_local_dev_names callers. | |
1384 | ||
1385 | Version 2.02.123 - 30th June 2015 | |
1386 | ================================= | |
1387 | Add report/time_format lvm.conf option to define time format for report. | |
1388 | Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120). | |
1389 | Add --type full to lvmconfig for full configuration tree view. | |
1390 | Add undocumented environment variables to lvm man page. (2.02.119) | |
1391 | Add device synchronization point before activating a new snapshot. | |
1392 | Add --withspaces to lvmconfig to add spaces in output for better readability. | |
1393 | Add custom main function to libdaemon. | |
1394 | Use lvmetad to track out-of-date metadata discovered. | |
1395 | ||
1396 | Version 2.02.122 - 20th June 2015 | |
1397 | ================================= | |
1398 | Flush stdout before printing to stderr. | |
1399 | Use pre-allocated buffer for printed LV names in display_lvname. | |
1400 | Support thins with size of external origin unaligned with thin pool chunk. | |
1401 | Allow extension of reduced thin volumes with external origins. | |
1402 | Consider snapshot and origin LV as unusable if component devices suspended. | |
1403 | Fix lvmconfig segfault on settings with undefined default value (2.02.120). | |
1404 | Add explicit 's' (shared) LV activation mode. | |
1405 | Ignore hyphens in long options names (i.e. --long-option == --longoption). | |
1406 | ||
1407 | Version 2.02.121 - 12th June 2015 | |
1408 | ================================= | |
1409 | Distinguish between on-disk and lvmetad versions of text metadata. | |
1410 | Remove DL_LIBS from Makefiles for daemons that don't need them. | |
1411 | Zero errno in before strtoul call in dmsetup if tested after the call. | |
1412 | Zero errno in before strtoul call in lvmpolld. | |
1413 | Fix a segfault in pvscan --cache --background command. | |
1414 | Fix test for AREA_PV when checking for failed mirrors. | |
1415 | Do not use --sysinit in lvm2-activation{-early,-net}.service if lvmpolld used. | |
1416 | Maintain outdated PV info in lvmetad till all old metadata is gone from disk. | |
1417 | Do not fail polling when poll LV not found (already finished or removed). | |
1418 | Replace poll_get_copy_vg/lv fns with vg_read() and find_lv() in polldaemon. | |
1419 | Close all device fds only in before sleep call in polldaemon. | |
1420 | Simplify Makefile targets that generate exported symbols. | |
1421 | Move various -D settings from Makefiles to configure.h. | |
1422 | ||
1423 | Version 2.02.120 - 15th May 2015 | |
1424 | ================================ | |
1425 | Make various adjustments to Makefile compilation flags. | |
1426 | Add lvmpolld debug message class. | |
1427 | Add lvmpolld client mode for querying running server instance for status info. | |
1428 | Fix some libdaemon socket creation and reuse error paths. | |
1429 | Daemons (libdaemon) support exit on idle also in non-systemd environment. | |
1430 | Provide make dist and make rpm targets | |
1431 | Configure lvm.conf for use_lvmetad and use_lvmpolld. | |
1432 | Add lvpoll for cmdline communication with lvmpolld. | |
1433 | Add lvmpolld acting as a free-standing version of polldaemon. | |
1434 | Avoid repeated identical lvmetad VG lookups in commands processing all VGs. | |
1435 | Handle switches to alternative duplicate PVs efficiently with lvmetad. | |
1436 | Properly validate PV size for pvcreate --restorefile. | |
1437 | Fix check if pvcreate wiped device (2.02.117). | |
1438 | Fix storing of vgid when caching metadata (2.02.118). | |
1439 | Fix recursive lvm-config man page. (2.02.119) | |
1440 | Refactor polldaemon interfaces to poll every operation by VG/LV couple | |
1441 | Skip wait after testing in _wait_for_single_lv when polling finished | |
1442 | Return 'None' in python for empty string properties instead of crashing. | |
1443 | Distinguish signed numerical property type in reports for lvm2app library. | |
1444 | Reread raid completion status immediately when progress appears to be zero. | |
1445 | lvm2app closes locking on lvm_quit(). | |
1446 | Configure detects /run or /var/run. | |
1447 | Add missing newline in clvmd --help output. | |
1448 | ||
1449 | Version 2.02.119 - 2nd May 2015 | |
1450 | =============================== | |
1451 | New LVM_LOG_FILE_EPOCH, LVM_EXPECTED_EXIT_STATUS env vars. Man page to follow. | |
1452 | Remove detailed content from lvm.conf man page: use lvmconfig instead. | |
1453 | Generate complete config files with lvmconfig or 'make generate'. | |
1454 | Also display info on deprecated config with lvmconfig --withcomments. | |
1455 | Display version since which config is deprecated in lvmconfig --withversions. | |
1456 | Add --showdeprecated to lvmconfig to also display deprecated settings. | |
1457 | Hide deprecated settings in lvmconfig output for all types but current,diff. | |
1458 | Introduce support for exit on idle feature in libdaemon | |
1459 | Add --showunsupported to lvmconfig to also display unsupported settings. | |
1460 | Display unsupported settings for lvmconfig --type current,diff only by default | |
1461 | Honour lvmconfig --ignoreunsupported and --ignoreadvanced for all --type. | |
1462 | Make python bindings usable with python3 (and compatible with 2.6 & 2.7). | |
1463 | Add lvmconfig -l|--list as shortcut for lvmconfig --type list --withsummary. | |
1464 | Add lvmconfig --type list to display plain list of configuration settings. | |
1465 | Introduce lvmconfig as the preferred form of 'lvm dumpconfig'. | |
1466 | Add lv_ancestors and lv_descendants reporting fields. | |
1467 | Add --ignorelocal option to dumpconfig to ignore the local section. | |
1468 | Close connection to lvmetad after fork. | |
1469 | Make lvchange able to resume background pvmove polling again. | |
1470 | Split pvmove update metadata fn in an initial one and a subsequent one. | |
1471 | Refactor shared pvmove and lvconvert code into new _poll files. | |
1472 | Add --unconfigured option to dumpconfig to print strings unconfigured. | |
1473 | Add --withsummary option to dumpconfig to print first line - summary comment. | |
1474 | Use number of device holders to help choose between duplicate PVs. | |
1475 | Try to make lvmetad and non-lvmetad duplicate PV handling as similar as poss. | |
1476 | Issue warnings about duplicate PVs discovered by lvmetad. | |
1477 | Track alternative devices with matching PVIDs in lvmetad. | |
1478 | Check for lvm binary in blkdeactivate and skip LVM processing if not present. | |
1479 | Add --enable-halvm and --disable-halvm options to lvmconf script. | |
1480 | Add --services, --mirrorservice and --startstopservices option to lvmconf. | |
1481 | Use proper default value of global/use_lvmetad when processing lvmconf script. | |
1482 | Respect allocation/cling_tag_list during intial contiguous allocation. | |
1483 | Add A_PARTITION_BY_TAGS set when allocated areas should not share tags. | |
1484 | Make changes persist with python addTag/removeTag. | |
1485 | Set correct vgid when updating cache when writing PV metadata. | |
1486 | More efficient clvmd singlenode locking emulation. | |
1487 | Reject lvcreate -m with raid4/5/6 to avoid unexpected layout. | |
1488 | Don't skip invalidation of cached orphans if vg write lck is held (2.02.118). | |
1489 | Log relevant PV tags when using cling allocation. | |
1490 | Add str_list_add_list() to combine two lists. | |
1491 | Fix LV processing with selection to always do the selection on initial state. | |
1492 | Add internal LV_REMOVED LV status flag. | |
1493 | ||
1494 | Version 2.02.118 - 23rd March 2015 | |
1495 | ================================== | |
1496 | Store metadata size + checksum in lvmcache and add struct lvmcache_vgsummary. | |
1497 | Remove inaccessible clustered PVs from 'pvs -a'. | |
1498 | Don't invalidate cached orphan information while global lock is held. | |
1499 | Avoid rescan of all devices when requested pvscan for removed device. | |
1500 | Measure configuration timestamps with nanoseconds when available. | |
1501 | Disable lvchange of major and minor of pool LVs. | |
1502 | Fix pvscan --cache to not scan and read ignored metadata areas on PVs. | |
1503 | Add After=iscsi-shutdown.service to blk-availability.service systemd unit. | |
1504 | Disallow vgconvert from changing metadata format when lvmetad is used. | |
1505 | Don't do a full read of VG when creating a new VG with an existing name. | |
1506 | Reduce amount of VG metadata parsing when looking for vgname on a PV. | |
1507 | Avoid reparsing same metadata when reading same metadata from multiple PVs. | |
1508 | Save extra device open/close when scanning device for size. | |
1509 | Fix seg_monitor field to report status also for mirrors and thick snapshots. | |
1510 | Replace LVM_WRITE with LVM_WRITE_LOCKED flags in metadata if system ID is set. | |
1511 | Remove ACCESS_NEEDS_SYSTEM_ID VG status flag. (2.02.117) | |
1512 | Enable system ID features. | |
1513 | ||
1514 | Version 2.02.117 - 4th March 2015 | |
1515 | ================================= | |
1516 | Add CFG_DISABLED for new system ID config settings that must not yet be used. | |
1517 | Preserve original format type field when processing backup files. | |
1518 | Implement status action for lvm2-monitor initscript to display monitored LVs. | |
1519 | Allow lvchange -p to change kernel state only if metadata state differs. | |
1520 | Fix incorrect persistent .cache after report with label fields only (2.02.106). | |
1521 | Reinstate PV tag recognition for pvs if reporting label fields only (2.02.105). | |
1522 | Rescan devices before vgimport with lvmetad so exported VG is seen. | |
1523 | Fix hang by adjusting cluster mirror regionsize, avoiding CPG msg limit. | |
1524 | Do not crash when --cachepolicy is given without --cachesettings. | |
1525 | Add NEEDS_FOREIGN_VGS flag to vgimport so --foreign is always supplied. | |
1526 | Add --foreign to the 6 display and reporting tools and vgcfgbackup. | |
1527 | Install /etc/lvm/lvmlocal.conf template with local section for systemid. | |
1528 | Record creation_host_system_id in lvm2 metadata (never set yet). | |
1529 | Reinstate recursive config file tag section processing. (2.02.99) | |
1530 | Add 'lvm systemid' to display the current system ID (never set yet). | |
1531 | Fix configure to properly recognize --with-default-raid10-segtype option. | |
1532 | Do not refresh filters/rescan if no signature is wiped during pvcreate. | |
1533 | Enforce none external dev info for wiping during pvcreate to avoid races. | |
1534 | Add global/system_id_source and system_id_file to lvm.conf (disabled). | |
1535 | Add support for VG system_id to control host access to VGs. | |
1536 | Update vgextend to use process_each_vg. | |
1537 | Add --ignoreskippedcluster to pvchange. | |
1538 | Allow pvchange to modify several properties at once. | |
1539 | Update pvchange to use process_each_pv. | |
1540 | Fix pvs -a used with lvmetad to filter out devices unsuitable for PVs. | |
1541 | Fix selection to recognize units for ba_start, vg_free and seg_start fields. | |
1542 | Add support for -S/--select to vgexport and vgimport. | |
1543 | Add support for -S/--select to vgdisplay, lvdisplay and pvdisplay without -C. | |
1544 | Add support for -S/--select to vgremove and lvremove. | |
1545 | Add support for -S/--select to vgchange,lvchange and pvchange. | |
1546 | Add infrastructure to support selection for non-reporting tools. | |
1547 | Add LVM_COMMAND_PROFILE env var to set default command profile name to use. | |
1548 | Set CLOEXEC flag on file descriptors originating in libdaemon. | |
1549 | ||
1550 | Version 2.02.116 - 30th January 2015 | |
1551 | ==================================== | |
1552 | Deactivate unused thin pools activated with lvm2 pre-2.02.112 versions. | |
1553 | Check lock holding LV when lvconverting stacked raid LV in cluster. | |
1554 | Support udev external dev info for filters: PV min size, mpath, md, partition. | |
1555 | Add fw_raid_component_detection lvm.conf option to enable FW raid detection. | |
1556 | Add devices/external_device_info_source lvm.conf option ("none" by default). | |
1557 | Scan pools in for_each_sub_lv() and add for_each_sub_lv_except_pools(). | |
1558 | Fix lvm2app lvm_lv_get_property return value for fields with info/status ioctl. | |
1559 | Fix lvm2app regression in lvm_lv_get_attr causing unknown values (2.02.115). | |
1560 | Set default cache_mode to writehrough when missing in metadata. | |
1561 | Preserve chunk size with repair and metadata swap of a thin pool. | |
1562 | Fix raid --splitmirror 1 functionality (2.02.112). | |
1563 | Fix tree preload to handle splitting raid images. | |
1564 | Do not support unpartitioned DASD devices. | |
1565 | Improve config validation to check if setting with string value can be empty. | |
1566 | ||
1567 | Version 2.02.115 - 21st January 2015 | |
1568 | ==================================== | |
1569 | Report segment types without monitoring support as undefined. | |
1570 | Support lvchange --errorwhenfull for thin pools. | |
1571 | Improve the processing and reporting of duplicate PVs. | |
1572 | Report lv_health_status and health attribute also for thin pool. | |
1573 | Add lv_when_full reporting field. | |
1574 | Add support for lvcreate --errorwhenfull y|n for thin pools. | |
1575 | Fix lvconvert --repair to honour resilience requirement for segmented RAID LV. | |
1576 | Filter out partitioned device-mapper devices as unsuitable for use as PVs. | |
1577 | Also notify lvmetad about filtered device if using pvscan --cache DevicePath. | |
1578 | Use LVM's own selection instead of awk expressions in clvmd startup scripts. | |
1579 | Do not filter out snapshot origin LVs as unusable devices for an LVM stack. | |
1580 | Fix incorrect rimage names when converting from mirror to raid1 LV (2.02.112). | |
1581 | Introduce pvremove_many to avoid excessive metadata re-reading and messages. | |
1582 | Check for cmirror availability during cluster mirror creation and activation. | |
1583 | Add cache_policy and cache_settings reporting fields. | |
1584 | Add missing recognition for --binary option with {pv,vg,lv}display -C. | |
1585 | Fix vgimportclone to notify lvmetad about changes done if lvmetad is used. | |
1586 | Fix vgimportclone to properly override config if it is missing in lvm.conf. | |
1587 | Fix automatic use of configure --enable-udev-systemd-background-jobs. | |
1588 | Correctly rename active split LV with -splitmirrors for raid1. | |
1589 | Add report/compact_output to lvm.conf to enable/disable compact report output. | |
1590 | Still restrict mirror region size to power of 2 when VG extent size is not. | |
1591 | ||
1592 | Version 2.02.114 - 28th November 2014 | |
1593 | ===================================== | |
1594 | Release socket in daemon_close and protocol string in daemon_open error path. | |
1595 | Add --cachepolicy and --cachesettings to lvcreate. | |
1596 | Fix regression when parsing /dev/mapper dir (2.02.112). | |
1597 | Fix missing rounding to 64KB when estimating optimal thin pool chunk size. | |
1598 | Fix typo in clvmd initscript causing CLVMD_STOP_TIMEOUT var to be ignored. | |
1599 | Fix size in pvresize "Resizing to ..." verbose msg to show proper result size. | |
1600 | ||
1601 | Version 2.02.113 - 24th November 2014 | |
1602 | ===================================== | |
1603 | Add --cachepolicy and --cachesettings options to lvchange. | |
1604 | Validate that converted volume and specified pool volume differ in lvconvert. | |
1605 | Fix regression in vgscan --mknodes usage (2.02.112). | |
1606 | Respect --prefix when setting CLMVD_PATH configure (2.02.89). | |
1607 | Default to configure --enable-udev-systemd-background-jobs for systemd>=205. | |
1608 | Fix ignore_vg() to properly react on various vg_read errors (2.02.112). | |
1609 | Failed recovery returns FAILED_RECOVERY status flag for vg_read(). | |
1610 | Exit with non-zero status code when pvck encounters a problem. | |
1611 | Fix clean_tree after activation/resume for cache target (2.02.112). | |
1612 | ||
1613 | Version 2.02.112 - 11th November 2014 | |
1614 | ===================================== | |
1615 | Add cache_{read,write}_{hits,misses} reporting fields. | |
1616 | Add cache_{total,used,dirty}_blocks reporting fields. | |
1617 | Add _corig as reserved suffix. | |
1618 | Reduce number of VG writes and commits when creating spare volumes. | |
1619 | When remove_layer_from_lv() removes layer, restore subLV names. | |
1620 | Cache-pool in use becomes invisible LV. | |
1621 | Don't prompt for removal of _pmspare in VG without pool metadata LV. | |
1622 | Deactivation of snapshot origin detects and deactivates left-over snapshots. | |
1623 | Properly report error when taking snapshot of any cache type LV. | |
1624 | Add basic thread debugging messages to dmeventd. | |
1625 | Include threads being shutdown in dmeventd device registration responses. | |
1626 | Inital support for external users of thin pools based on transaction_id. | |
1627 | Report some basic percentage info for cache pools. | |
1628 | Introduce size_mb_arg_with_percent() for advanced size arg reading. | |
1629 | Add extra support for '.' as decimal point in size args. | |
1630 | Add configure parameters for default segment type choices. | |
1631 | Add global/sparse_segtype_default setting to use thin for --type sparse. | |
1632 | Update and correct lvcreate and lvcovert man pages. | |
1633 | Mark pools and snapshots as unzeroable volumes. | |
1634 | Check for zeroing of volume after segment type is fully detected. | |
1635 | Better support for persistent major and minor options with lvcreate. | |
1636 | Refactor lvcreate towards more complete validation of all supported options. | |
1637 | Support lvcreate --type linear. | |
1638 | Improve _should_wipe_lv() to warn with message. | |
1639 | Inform about temporarily created volumes only in verbose mode. | |
1640 | Better support for --test mode with pool creation. | |
1641 | Query lock holding LV when replacing and converting raid volumes. | |
1642 | Add extra validate for locked lv within validate_lv_cache_create(). | |
1643 | Add internal lvseg_name() function. | |
1644 | Skip use of lock files for virtual internal VG names. | |
1645 | Fix selection on {vg,lv}_permissions fields to properly match selection criteria. | |
1646 | Fix lv_permissions reporting to display read-only{-override} instead of blank. | |
1647 | Fix liblvm2cmd and lvm shell to respect quotes around args in cmd line string. | |
1648 | Permit extent sizes > 128KB that are not power of 2 with lvm2 format. | |
1649 | Remove workaround for lvm2-monitor.service hang on stop if lvmetad stopped. | |
1650 | Change vgremove to use process_each_lv_in_vg. | |
1651 | Allow lvconvert --repair and --splitmirrors on internal LVs. | |
1652 | Introduce WARN_ flags to control some metadata warning messages. | |
1653 | Use process_each_pv in vgreduce. | |
1654 | Refactor process_each_pv in toollib. | |
1655 | Introduce single validation routine for pool chunk size. | |
1656 | Support --yes like --force in vg/lvremove to skip y|n prompt. | |
1657 | Support --yes with lvconvert --splitsnapshot. | |
1658 | Fix detection of unsupported thin external lvconversions. | |
1659 | Fix detection of unsupported cache and thin pool lvconversions. | |
1660 | Fix detection of unsupported lvconversion of cache to snapshot. | |
1661 | Improve code for creation of cache and cache pool volumes. | |
1662 | Check cluster-wide (not local) active status before removing LV. | |
1663 | Properly check if activation of removed cached LV really activated. | |
1664 | lvremove cached LV removes cachepool (keep with lvconvert --splitcache). | |
1665 | Always remove spare LV with last removed pool volume. | |
1666 | Support lvconvert --splitcache and --uncache of cached LV. | |
1667 | Option --cache has also shortcut -H (i.e. lvcreate -H). | |
1668 | Refactor lvcreate code and better preserve --type argument. | |
1669 | Refactor filter processing around lvmetad. | |
1670 | Refactor process_each_lv in toollib. | |
1671 | Refactor process_each_vg in toollib. | |
1672 | Pools cannot be used as external origin. | |
1673 | Use lv_update_and_reload() for snapshot reload. | |
1674 | Don't print message in adjusted_mirror_region_size() in activation. | |
1675 | Improve lv_update_and_reload() to find out proper lock holding LV. | |
1676 | Improve search of LV in lv_ondisk(). | |
1677 | Do not scan sysfs in lv_check_not_in_use() when device is closed. | |
1678 | Backup final metadata after resync of mirror/raid. | |
1679 | Unify handling of --persistent option for lvcreate and lvchange. | |
1680 | Validate major and minor numbers stored in metadata. | |
1681 | Use -fPIE when linking -pie executables. | |
1682 | Support DEBUG_MEMLOCK to trap unsupported mmap usage. | |
1683 | Enable cache segment type by default. | |
1684 | Ensure only supported volume types are used with cache segments. | |
1685 | Fix inablility to specify cachemode when 'lvconvert'ing to cache-pool. | |
1686 | Grab cluster lock for active LVs when setting clustered attribute. | |
1687 | Use va_copy to properly pass va_list through functions. | |
1688 | Add function to detect rotational devices. | |
1689 | Review internal checks for mirror/raid/pvmove volumes. | |
1690 | Track mirror segment type with separate MIRROR flag. | |
1691 | Fix cmirror endian conversions. | |
1692 | Introduce lv_is_pvmove/locked/converting/merging macros. | |
1693 | Avoid leaving linear logical volume when thin pool creation fails. | |
1694 | Don't leak alloc_handle on raid target error path. | |
1695 | Properly validate raid leg names. | |
1696 | Archive metadata before starting their modification in raid target. | |
1697 | Add missing vg_revert() in suspend_lv() raid and snapshot error path. | |
1698 | Add missing backup of lvm2 metadata after some raid modifications. | |
1699 | Use vg memory pool for extent allocation. | |
1700 | Add allocation/physical_extent_size config option for default PE size of VGs. | |
1701 | Demote an error to a warning when devices known to lvmetad are filtered out. | |
1702 | Re-order filter evaluation, making component filters global. | |
1703 | Fix logic that checks for full scan before iterating through devices. | |
1704 | Introduce common code to modify metadata and reload updated LV. | |
1705 | Fix rename of active snapshot volume in cluster. | |
1706 | Make sure shared libraries are built with RELRO option. | |
1707 | ||
1708 | Version 2.02.111 - 1st September 2014 | |
1709 | ===================================== | |
1710 | Pass properly sized char buffers for sscanf when initializing clvmd. | |
1711 | Reinstate nosync logic when extending mirror. (2.02.110) | |
1712 | Fix total area extent calculation when allocating cache pool. (2.02.110) | |
1713 | ||
1714 | Version 2.02.110 - 26th August 2014 | |
1715 | =================================== | |
1716 | Fix manipulation with thin-pools which are excluded via volume_list. | |
1717 | Support lv/vgremove -ff to remove thin vols from broken/inactive thin pools. | |
1718 | Fix typo breaking configure --with-lvm1=shared. | |
1719 | Modify lvresize code to handle raid/mirrors and physical extents. | |
1720 | Don't allow pvcreate to proceed if scanning or filtering fails. | |
1721 | Cleanly error when creating RAID with stripe size < PAGE_SIZE. | |
1722 | Print name of LV which on activation triggers delayed snapshot merge. | |
1723 | Add lv_layout and lv_role LV reporting fields. | |
1724 | Properly display lvs lv_attr volume type and target type bit for cache origin. | |
1725 | Fix pvcreate_check() to update cache correctly after signature wiping. | |
1726 | Fix primary device lookup failure for partition when processing mpath filter. | |
1727 | If LV inactive and non-clustered, do not issue "Cannot deactivate" on -aln. | |
1728 | Remove spurious "Skipping mirror LV" message on pvmove of clustered mirror. | |
1729 | ||
1730 | Version 2.02.109 - 5th August 2014 | |
1731 | ================================== | |
1732 | Remove lv_volume_type field from reports. (2.02.108) | |
1733 | Fix a segfault in lvscan --cache when devices were already missing. (2.02.108) | |
1734 | Fix incorrect persistent .cache after vgcreate with PV creation. (2.02.108) | |
1735 | Display actual size changed when resizing LV. | |
1736 | Allow approximate allocation with +%FREE in lvextend. | |
1737 | Remove possible spurious "not found" message on PV create before wiping. | |
1738 | Handle upgrade from 2.02.105 when an LV now gaining a uuid suffix is active. | |
1739 | ||
1740 | Version 2.02.108 - 23rd July 2014 | |
1741 | ================================= | |
1742 | Add lvscan --cache which re-scans constituents of a particular LV. | |
1743 | Make dmeventd's RAID plugin re-scan failed PVs when lvmetad is in use. | |
1744 | Improve code sharing for lvconvert and lvcreate and pools (cache & thin). | |
1745 | Improve lvconvert --merge validation. | |
1746 | Improve lvconvert --splitsnapshot validation. | |
1747 | Add report/list_item_separator lvm.conf option. | |
1748 | Add lv_active_{locally,remotely,exclusively} LV reporting fields. | |
1749 | Comment out devices/{preferred_names,filter} in default lvm.conf file. | |
1750 | Enhance lvconvert thin, thinpool, cache and cachepool command line support. | |
1751 | Display 'C' only for cache and cache-pool target types in lvs. | |
1752 | Prompt for confirmation before change LV into a snapshot exception store. | |
1753 | Return proper error codes for some failing lvconvert funtions. | |
1754 | Add initial code to use cache tools (cache_check|dump|repair|restore). | |
1755 | Support lvdisplay --maps for raid. | |
1756 | Add --activationmode degraded to activate degraded raid volumes by default. | |
1757 | Add separate lv_active_{locally,remotely,exclusively} LV reporting fields. | |
1758 | Recognize "auto"/"unmanaged" values in selection for appropriate fields only. | |
1759 | Add report/binary_values_as_numeric lvm.conf option for binary values as 0/1. | |
1760 | Add --binary arg to pvs,vgs,lvs and {pv,vg,lv}display -C for 0/1 on reports. | |
1761 | Add separate reporting fields for each each {pv,vg,lv}_attr bit. | |
1762 | Separate LV device status reporting fields out of LV fields. | |
1763 | Fix regression causing PVs not in VGs to be marked as allocatable (2.02.59). | |
1764 | Fix VG component of lvid in vgsplit/vgmerge and check in vg_validate. | |
1765 | Add lv_full_name, lv_parent and lv_dm_path fields to reports. | |
1766 | Change lv_path field to suppress devices that never appear in /dev/vg. | |
1767 | Postpone thin pool lvconvert prompts (2.02.107). | |
1768 | Require --yes option to skip prompt to lvconvert thin pool chunksize. | |
1769 | Support lvremove -ff to remove thin volumes from broken thin pools. | |
1770 | Require --yes to skip raid repair prompt. | |
1771 | Change makefile %.d generation to handle filename changes without make clean. | |
1772 | Fix use of buildir in make pofile. | |
1773 | Enhance private volumes UUIDs with suffixed for easier detection. | |
1774 | Do not use reserved _[tc]meta volumes for temporary LVs. | |
1775 | Leave backup pool metadata with _meta%d suffix instead of reserved _tmeta%d. | |
1776 | Allow RAID repair to reuse PVs from same image that suffered a failure. | |
1777 | New RAID images now avoid allocation on any PVs in the same parent RAID LV. | |
1778 | Always reevaluate filters just before creating PV. | |
1779 | ||
1780 | Version 2.02.107 - 23rd June 2014 | |
1781 | ================================= | |
1782 | Introduce LCK_ACTIVATION to avoid concurrent activation of basic LV types. | |
1783 | Fix open_count test for lvchange --refresh or mirrors and raids. | |
1784 | Update pvs,vgs,lvs and lvm man page for selection support. | |
1785 | Add -S/--select to lvm devtypes for report selection. | |
1786 | Add -S/--select to pvs,vgs,lvs and {pv,vg,lv}display -C for report selection. | |
1787 | Use dm_report_init_with_selection now, implicit "selected" field appears. | |
1788 | Make use of libdm's DM_REPORT_FIELD_TYPE{SIZE,PERCENT,STRING_LIST} for fields. | |
1789 | Support all-or-nothing pvmove --atomic. | |
1790 | Automatically add snapshot metadata size for -l %ORIGIN calculation. | |
1791 | When converting RAID origin to cache LV, properly rename sub-LVs. | |
1792 | Use RemoveOnStop for lvm2-lvmetad.socket systemd unit. | |
1793 | Add thin-generic configuration profile for generic thin settings. | |
1794 | Fix crash when reporting empty labels on pvs. | |
1795 | Use retry_deactivation also when cleaning orphan devices. | |
1796 | Wait for client threads when shutting down lvmetad. | |
1797 | Remove PV from cache on pvremove. | |
1798 | Avoid repeatedly reporting of failure to connect to lvmetad. | |
1799 | Introduce MDA_FAILED to permit metadata updates even if some mdas are missing. | |
1800 | Prompt when setting the VG cluster attr if the cluster is not setup. | |
1801 | Allow --yes to skip prompt in vgextend (worked only with -f). | |
1802 | Don't use name mangling for LVM - it never uses dm names with wrong char set. | |
1803 | Remove default.profile and add {command,metadata}_profile_template.profile. | |
1804 | Use proper umask for systemd units generated by lvm2-activation-generator. | |
1805 | Check for failing mirror_remove_missing() function. | |
1806 | Prompt before converting volumes to thin pool and thin pool metadata. | |
1807 | Add dumpconfig --type profilable-{metadata,command} to select profile type. | |
1808 | Exit immediately with error if command profile is found invalid. | |
1809 | Separate --profile cmd line arg into --commandprofile and --metadataprofile. | |
1810 | Strictly separate command profiles and per-VG/LV profiles referenced in mda. | |
1811 | Fix dumpconfig --type diff when run as second and later cmd in lvm shell. | |
1812 | Fix wrong profile reuse from previous run if another cmd is run in lvm shell. | |
1813 | Move cache description from lvm(8) to new lvmcache(7) man page. | |
1814 | Display skipped prompt in silent mode. | |
1815 | Make reporting commands show help about possible sort keys on '-O help'. | |
1816 | Add metadata_percent to lvs_cols. | |
1817 | Take account of parity areas with alloc anywhere in _calc_required_extents. | |
1818 | Use proper uint64 casting for calculation of cache metadata size. | |
1819 | Better support for nesting of blocking signals. | |
1820 | Use only sigaction handler and drop duplicate signal handler. | |
1821 | Separate signal handling and flock code out into lib/misc. | |
1822 | Don't start dmeventd checking seg_monitor and monitoring is disabled. | |
1823 | Catch CTRL-c during pvremove prompts. | |
1824 | Show correct availability status for snapshot origin in lvscan. | |
1825 | Move segment thin pool/volume info into segment display 'lvdisplay --maps'. | |
1826 | Display thin pool usage even when just thin volume is available. | |
1827 | Display monitoring status for monitorable segments in 'lvdisplay --maps'. | |
1828 | Display virtual extents for virtual LVs in 'lvdisplay --maps'. | |
1829 | Make vgsplit fail cleanly when not all PVs are specified for RAID 4/5/6. | |
1830 | Make vgsplit work on mirrors with logs that share PVs with images. | |
1831 | Use devices/ignore_suspended_devices=0 by default if not defined in lvm.conf. | |
1832 | Use proper libmem mempool for allocation of unknown segment name. | |
1833 | Add --readonly to reporting and display tools for lock-free metadata access. | |
1834 | Add locking_type 5 for dummy locking for tools that do not need any locks. | |
1835 | Fix _recover_vg() error path when lock conversion fails. | |
1836 | Use X for LV attributes that are unknown when activation disabled. | |
1837 | Only output lvdisplay 'LV Status' field when activation is enabled. | |
1838 | Use lvmetad_used() in pvscan instead of config_tree. | |
1839 | Configure --enable-udev-systemd-background-jobs if not disabled explicitly. | |
1840 | Add lvmdump -s to collect system info and context (currently systemd only). | |
1841 | Refactor allocation code to make A_POSITIONAL_FILL explicit. | |
1842 | Use thread-safe ctime_r() for clvmd debug logging. | |
1843 | Skip adding replies to already finished reply thread. | |
1844 | Use mutex to check number of replies in request_timed_out() in clvmd. | |
1845 | Drop usage of extra reply_mutex for localsock in clvmd. | |
1846 | Protect manipulation with finished flag with mutex in clvmd. | |
1847 | Shift mutex creation and destroy for localsock in clvmd to correct place. | |
1848 | Fix usage of --test option in clvmd. | |
1849 | Skip more libraries to be mlocked in memory. | |
1850 | Remove LOCKED flag for pvmove replaced with error target. | |
1851 | Return invalid command when specifying negative polling interval. | |
1852 | ||
1853 | Version 2.02.106 - 10th April 2014 | |
1854 | ================================== | |
1855 | Fix ignored --dataalignment/dataalignment offset for pvcreate --restorefile. | |
1856 | Fix lost information about bootloader area when using lvmetad. | |
1857 | Don't require --major to be specified when using -My option on kernels > 2.4. | |
1858 | Add configure --disable-thin_check_needs_check to support old thin_check. | |
1859 | Use thin_check --clear-needs-check-flag by default. | |
1860 | Export lvm_even_rand() for controlled provision of random numbers. | |
1861 | Add lvmthin man page to section 7. | |
1862 | Ensure mapped device names are not too long in vg_validate and lvrename. | |
1863 | Ensure resume failure in lvrename results in command failure. | |
1864 | Add explicit error message when using lvdisplay -c -m. | |
1865 | Report error if superfluous argument (e.g. PV name) supplied to pvscan. | |
1866 | Fix error message for pvdisplay -c -m and add one for pvdisplay -c -s. | |
1867 | Use EINVALID_CMD_LINE correctly instead of ECMD_FAILED in vgimport/export. | |
1868 | Obtain list of known VGs from lvmetad for pvchange --all. | |
1869 | Add man page for lvm-dumpconfig to section 8. | |
1870 | Drop unused cmd pointer for internal function for_each_sub_lv(). | |
1871 | Validate name for renamed sub LVs. | |
1872 | When lvrename fails on argument parsing return EINVALID_CMD_LINE. | |
1873 | Fix exit code regression in failing pvchange command (2.02.66). | |
1874 | Include 'lvm dumpconfig --type missing' and '--type diff' output to lvmdump. | |
1875 | Return failure when specifying negative size for pvresize. | |
1876 | Fix memory corruption in cmd context refresh if clvmd leaks opened device. | |
1877 | Reinitialise lvmcache properly on fork to fix premature polldaemon exit. | |
1878 | Add 'lvm dumpconfig --type diff' to show differences from defaults. | |
1879 | Fix swap signature detection for devices smaller then 2MB. | |
1880 | Use dm_malloc function in clvmd.c. | |
1881 | Resolve memory release order for clvmd shutdown. | |
1882 | Report error when lvm2 activation is released in critical_section. | |
1883 | Fix memory corruption when pvscan reports long pv names. | |
1884 | Do not report internal orphan VG names when reporting pvdisplay/pvscan. | |
1885 | Fix pvdisplay -c man page referencing KB instead of sectors. | |
1886 | Skip redundant synchronization calls on local clvmd. | |
1887 | Use correct PATH_MAX for locking dir path. | |
1888 | Do not check for backups when when its creation is disabled. | |
1889 | Don't allow --mergedconfig without --type current in dumpconfig. Fix memleak. | |
1890 | Make global/lvdisplay_shows_full_device_path lvm.conf setting profilable. | |
1891 | Make global/{units|si_unit_consistency|suffix} lvm.conf setting profilable. | |
1892 | Validate minimal chunk size for snapshot COW volume in lvconvert. | |
1893 | Disallow lvconvert of origin to snapshot COW volume. | |
1894 | Make report lvm.conf settings profilable. | |
1895 | Add existing report settings to lvm.conf. | |
1896 | Use VG read lock during 'pvscan --cache -aay' autoactivation. | |
1897 | Issue a VG refresh before autoactivation only if the PV has changed/is new. | |
1898 | Add flag to lvmetad protocol to indicate the PV scanned has changed/is new. | |
1899 | Also add vgname to lvmetad protocol when referencing VGs for PVs scanned. | |
1900 | Add man page for lvm2-activation-generator. | |
1901 | Don't print an error and accept empty value for global/thin_disabled_features. | |
1902 | Update API for internal function build_dm_uuid(). | |
1903 | Do not try to check empty pool with scheduled messages. | |
1904 | Fix return value in pool_has_message() when quering for any message. | |
1905 | Cleanup all client resources on clvmd exit. | |
1906 | Use dm_zalloc to clear members of clvmd client struct. | |
1907 | Use BLKID_CFLAGS when compiling with blkid support. | |
1908 | Use correct rl_completion_func_t typedef for new readline. | |
1909 | Make lvm 'dumpconfig --type default' complete for it to be consumed by lvm. | |
1910 | Run pvscan --cache via systemd-run in udev if the PV label is detected lost. | |
1911 | Fix memleak when lvmetad discovers PV to appear on another device. | |
1912 | Fix calculation of maximum size of COW device for snapshot (2.02.99). | |
1913 | Do not allow stripe size to be bigger then extent size for lvresize. | |
1914 | Zero snapshot COW header when creating read-only snapshot. | |
1915 | Comment out config lines in dumpconfig output without default values defined. | |
1916 | Improve detection of clustered mirror support. | |
1917 | Enhance raid code with feature flags, for now checks for raid10. | |
1918 | Move parsing of VG metadata from vg_commit() back to vg_write() (2.02.99) | |
1919 | Avoid a PV label scan while in a critical section. | |
1920 | Remove (always 0) skip argument from lv_activation_skip(). | |
1921 | Create /dev/disk/by-id/lvm-pv-uuid-<PV_UUID> symlink for each PV via udev. | |
1922 | lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs. | |
1923 | Fix merging of old snapshot into thin volume origin. | |
1924 | Use --ignoreskippedcluster in lvm2-monitor initscript/systemd unit. | |
1925 | Do not use VG read/write state for LV read/write state. | |
1926 | Use --ignoreskippedcluster in activation systemd units if use_lvmetad=0. | |
1927 | Allow approximate allocation when specifying size in percentage terms. | |
1928 | Add basic LVM support for cache[pool] segment types. | |
1929 | Use local exclusive activation for creation of raid in cluster. | |
1930 | Use correctly signed 64b constant when selecting raid volumes. | |
1931 | Add systemd native service for clvmd, cmirrord and clustered LV activation. | |
1932 | Remove ExecReload from lvmetad systemd unit: lvmetad -R undefined. (2.02.98) | |
1933 | Do not fork lvmetad if running under systemd. | |
1934 | Wipe DM_snapshot_cow signature without prompt in new LVs with blkid wiping. | |
1935 | Avoid exposing temporary devices when initializing raid metadata volumes. | |
1936 | Add internal tags command to display any tags defined on the host. | |
1937 | Prohibit use of external origin with size incompatible with thin pool. | |
1938 | Avoid trying to convert single to thin pool and volume at the same time. | |
1939 | Add support for partitions on ZFS zvol. | |
1940 | Fix unwanted drop of hold flocks on forked children. | |
1941 | Respect LVM_LVMETAD_PIDFILE env var for lvm command. | |
1942 | Avoid exposing temporary devices when initializing thin pool volume. | |
1943 | Fix test when checking target version for available thin features. | |
1944 | Detect thin feature external_origin_extend and limit extend when missing. | |
1945 | Rename internal pool_can_resize_metadata() to thin_pool_feature_supported(). | |
1946 | Issue error if libbblkid detects signature and fails to return offset/length. | |
1947 | Update autoconf config.guess/sub to 2014-01-01. | |
1948 | Online thin pool metadata resize requires 1.10 kernel thin pool target. | |
1949 | ||
1950 | Version 2.02.105 - 20th January 2014 | |
1951 | ==================================== | |
1952 | Fix thin LV flagging for udev to skip scanning only if the LV is wiped. | |
1953 | Replace use of xfs_check with xfs_repair in fsadm. | |
1954 | Mark lvm1 format metadata as FMT_OBSOLETE. Do not use it with lvmetad. | |
1955 | Invalidate cached VG struct after a PV in it gets orphaned. (2.02.87) | |
1956 | Mark pool format metadata as FMT_OBSOLETE. | |
1957 | Use major:minor in lvm2-pvscan@.service for proper global_filter application. | |
1958 | Syntax and spelling fixes in some man pages. | |
1959 | Dependency scan counts with snapshots and external origins. | |
1960 | Make sure VG extent size is always greater or equal to PV phys. block size. | |
1961 | Optimize double call of stat() for cached devices. | |
1962 | Enable support for thin provisioning for default configuration. | |
1963 | Improve process_each_lv_in_vg() tag processing. | |
1964 | Reordered and simplified logging code. | |
1965 | Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules. | |
1966 | Disable online thin pool metadata resize for 1.9 kernel thin target. | |
1967 | Shortened code for initialization of raid segment types. | |
1968 | Cache global library dir in command context. | |
1969 | Return success when inserting dirs and links into device cache. | |
1970 | Test for remote exclusive activation after activation fails. | |
1971 | Support lvconvert --merge for thin snapshots. | |
1972 | Add support to read thin device id from table line entry. | |
1973 | Drop extra test for origin when testing merging origin in lv_refresh(). | |
1974 | Extend lv_remove_single() to not print info about removed LV. | |
1975 | Replace open_count check with lv_check_not_in_use() for snapshot open test. | |
1976 | Add error messages with LV names for failing lv refresh. | |
1977 | Compile/link executables with new RELRO and PIE options (non-static builds). | |
1978 | Support per-object compilation cflags via CFLAGS_object.o. | |
1979 | Automatically detect support for compiler/linker options to use RELRO and PIE. | |
1980 | Add --splitsnapshot to lvconvert to separate out cow LV. | |
1981 | Reinstate origin reload to complete lvconvert -s with active LVs. (2.02.98) | |
1982 | Select only active volume groups if vgdisplay -A is used. | |
1983 | Add -p and LVM_LVMETAD_PIDFILE env var to lvmetad to change pid file. | |
1984 | Allow lvmetad to reuse stale socket. | |
1985 | Only unlink lvmetad socket on error if created by the same process. | |
1986 | Append missing newline to lvmetad missing socket path error message. | |
1987 | Check for non-zero alignment in _text_pv_add_metadata_area() to not div by 0. | |
1988 | Add allocation/use_blkid_wiping to lvm.conf to enable blkid wiping. | |
1989 | Enable blkid_wiping by default if the blkid library is present. | |
1990 | Add configure --disable-blkid_wiping to disable libblkid signature detection. | |
1991 | Add -W/--wipesignatures lvcreate option to support wiping on new LVs. | |
1992 | Add allocation/wipe_signatures_when_zeroing_new_lvs to lvm.conf. | |
1993 | Do not fail the whole autoactivation if the VG refresh done before fails. | |
1994 | Do not connect to lvmetad on vg/lvchange --sysinit -aay and socket absent. | |
1995 | Use lv_check_not_in_use() when testing device in use before merging. | |
1996 | Move test for target present from init_snapshot_merge() to lvconvert. | |
1997 | Check for failure of lvmcache_add_mda() when writing pv. | |
1998 | Check for failure of dev_get_size() when reporting device size. | |
1999 | Drop extra unneeded '/' when scanning sysfs directory. | |
2000 | Fix undef value if skipped clustered VG ignored for toollib PV seg. (2.02.103) | |
2001 | Support validation of VG/LV names in liblvm/python. | |
2002 | Allow creation of PVs with arguments to liblvm/python. | |
2003 | Ensure sufficient metadata copies retained in liblvm/python vgreduce. | |
2004 | Fix installation of profiles from conf subdir when not building in srcdir. | |
2005 | Show UUIDs for missing PVs in reports. | |
2006 | Change dev_size/name, pv_fmt/mda_free/mda_size/uuid fields from pv to label. | |
2007 | Add struct device *dev to struct label. | |
2008 | Introduce process_each_label. | |
2009 | Change void *private to struct format_type *fmt in struct labeller. | |
2010 | Remove pv_read. | |
2011 | Add reporting of thin_id device id for thin volumes. | |
2012 | Fix reporting of empty numerical values for recently-added fields. | |
2013 | Use _field_set_percent/value in reporting code. | |
2014 | ||
2015 | Version 2.02.104 - 13th November 2013 | |
2016 | ===================================== | |
2017 | Workaround VG refresh race during autoactivation by retrying the refresh. | |
2018 | Handle failures in temporary mirror used when adding images to mirrors. | |
2019 | Fix and improve logic for implicitely exclusive activations. | |
2020 | Return success when LV cannot be activated because of volume_list filter. | |
2021 | Return proper error state for remote exclusive activation. | |
2022 | Fix missing lvmetad scan for PVs found on MD partitions. | |
2023 | Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules. | |
2024 | Fix clvmd message verification to not reject REMOTE flag. (2.02.100) | |
2025 | Compare equality of double values with DBL_EPSILON predefined constant. | |
2026 | Use additional gcc warning flags by default. | |
2027 | Add ignore_lvm_mirrors to config file to read/ignore labels on mirrors. | |
2028 | Add internal flag for temporary LVs to properly direct udev to not interfere. | |
2029 | Fix endless loop in blkdeactivate <device>... if unable to umount/deactivate. | |
2030 | Add dev-block-<major>:<minor>.device systemd alias for complete PV tracking. | |
2031 | Use major:minor as short form of --major and --minor arg for pvscan --cache. | |
2032 | Remove 2>/dev/null from three lvm commands executed by vgimportclone. | |
2033 | Add configure --enable-udev-systemd-background-jobs. | |
2034 | Add lvm2-pvscan@.service to run pvscan as a service for lvmetad/autoactivation. | |
2035 | Use #ifdef __linux__ instead of linux throughout. | |
2036 | Fix lvconvert swap of poolmetadata volume for active thin pool. | |
2037 | Check for open count with a timeout before removal/deactivation of an LV. | |
2038 | Report RAID images split with tracking as out-of-sync ("I"). | |
2039 | Improve parsing of snapshot lv segment. | |
2040 | Add workaround for deactivation problem of opened virtual snapshot. | |
2041 | Disable unsupported merge for virtual snapshot. | |
2042 | Move code to remove virtual snapshot from tools to lib for lvm2app. | |
2043 | Fix possible race during daemon worker thread creation (lvmetad). | |
2044 | Fix possible deadlock while clearing lvmetad cache for full rescan. | |
2045 | Recognise NVM Express devices in filter. | |
2046 | Fix failing metadata repair when lvmetad is used. | |
2047 | Fix incorrect memory handling when reading messages from lvmetad. | |
2048 | Fix locking in lvmetad when handling the PV which is gone. | |
2049 | Recognize new flag to skip udev scanning in udev rules and act appropriately. | |
2050 | Add support for flagging an LV to skip udev scanning during activation. | |
2051 | Improve message when unable to change discards setting on active thin pool. | |
2052 | Run full scan before vgrename operation to avoid any cache name collision. | |
2053 | Fix lvconvert when converting to a thin pool and thin LV at once. (2.02.99) | |
2054 | ||
2055 | Version 2.02.103 - 4th October 2013 | |
2056 | =================================== | |
2057 | Ensure vgid matches before removing vgname entry from lvmetad cache. | |
2058 | Add --ignoreskippedcluster for exit status success when clustered VGs skipped. | |
2059 | Fix 3 minute udev timeout so that it is applied for all LVM volumes. | |
2060 | Fix thin/raid & activation config defaults with configure --disable-devmapper. | |
2061 | Fix RAID calculation for sufficient allocatable space. | |
2062 | lvconvert from linear to mirror or RAID1 now honors mirror_segtype_default. | |
2063 | Add thin-performance configuration profile. | |
2064 | Add lvm.conf allocation/thin_pool_chunk_size_policy option. | |
2065 | Fix contiguous & cling allocation policies for parity RAID. (2.02.100) | |
2066 | Have lvmconf --enable/disable-cluster reset/set use_lvmetad. | |
2067 | Don't install separate command symlink for 'lvm devtypes'. (2.02.101) | |
2068 | Add seg_size_pe field to reports. | |
2069 | Support start+length notation with command line PE ranges. | |
2070 | Exit cleanly with message when pvmove cannot restart because LV is inactive. | |
2071 | ||
2072 | Version 2.02.102 - 23rd September 2013 | |
2073 | ====================================== | |
2074 | Fix missing build dependency for scripts subdir in Makefile. | |
2075 | Extend lv_info() for more efficient lv_is_active_locally() check. | |
2076 | Fix node up/down handling in clvmd corosync module. | |
2077 | ||
2078 | Version 2.02.101 - 20th September 2013 | |
2079 | ====================================== | |
2080 | Fix 3-thread clvmd deadlock triggered by cleanup on EOF from client. | |
2081 | Remove VG from lvmetad before restoring it with vgcfgrestore. | |
2082 | Use strtoull instead of strtol in _get_int_arg. | |
2083 | Add devtypes report command to display built-in recognised block device types. | |
2084 | Fix CC Makefile override which had reverted to using built-in value. (2.02.75) | |
2085 | Recognise bcache block devices in filter (experimental). | |
2086 | Run lvm2-activation-net after lvm2-activation service to prevent parallel run. | |
2087 | Add man page entries for lvmdump's -u and -l options. | |
2088 | Fix lvm2app segfault while using lvm_list_pvs_free fn if there are no PVs. | |
2089 | Improve of clvmd singlenode locking simulation. | |
2090 | lvconvert no longer converts LVs of "mirror" segment type to thinpool. | |
2091 | lvconvert no longer converts thinpool sub-LVs to "mirror" segment type. | |
2092 | Direct udev to use 3min timeout for LVM devices. Recent udev has default 30s. | |
2093 | Do not scan multipath or RAID components and avoid incorrect autoactivation. | |
2094 | Fix MD/loop udev handling to fire autoactivation after setup or coldplug only. | |
2095 | Make RAID capable of single-machine exclusive operations in a cluster. | |
2096 | Drop calculation of read ahead for deactivated volume. | |
2097 | Check for exactly one lv segment in validation of thin pools and volumes. | |
2098 | Fix dmeventd unmonitoring of thin pools. | |
2099 | Fix lvresize for stacked thin pool volumes (i.e. mirrors). | |
2100 | Write Completed debug message before reinstating log defaults after command. | |
2101 | Refresh existing VG before autoactivation (event retrigger/device reappeared). | |
2102 | Use pvscan -b in udev rules to avoid a deadlock on udev process count limit. | |
2103 | Add pvscan -b/--background for the command to be processed in the background. | |
2104 | Don't assume stdin file descriptor is readable. | |
2105 | Avoid unlimited recursion when creating dtree containing inactive pvmove LV. | |
2106 | Require exactly 3 arguments for lvm2-activation-generator. Remove defaults. | |
2107 | Inform lvmetad about any lost PV label to make it in sync with system state. | |
2108 | Support most of lvchange operations on stacked thin pool meta/data LVs. | |
2109 | Enable non-clustered pvmove of snapshots and snapshot origins. | |
2110 | Add ability to pvmove non-clustered RAID, mirror, and thin volumes. | |
2111 | Make lvm2-activation-generator silent unless it's in error state. | |
2112 | Remove "mpath major is not dm major" msg for mpath component scan (2.02.94). | |
2113 | Prevent cluster mirror logs from being corrupted by redundant checkpoints. | |
2114 | Fix ignored lvmetad update on loop device configuration (2.02.99). | |
2115 | Use LVM_PATH instead of hardcoded value in lvm2 activation systemd generator. | |
2116 | Fix vgck to notice on-disk corruption even if lvmetad is used. | |
2117 | Move mpath device filter before partitioned filter (which opens devices). | |
2118 | Split partitioned filter out of lvm_type filter. | |
2119 | Merge filter*.h into a single filter.h. | |
2120 | Require confirmation for vgchange -c when no VGs listed explicitly. | |
2121 | Also skip /var and /var/log by default in blkdeactivate when unmounting. | |
2122 | Add support for bind mounts in blkdeactivate. | |
2123 | Add blkdeactivate -v/--verbose for debug output from external tools used. | |
2124 | Add blkdeactivate -e/--errors for error messages from external tools used. | |
2125 | Suppress messages from external tools called in blkdeactivate by default. | |
2126 | ||
2127 | Version 2.02.100 - 13th August 2013 | |
2128 | =================================== | |
2129 | Fix inability to remove a VG's cluster flag if it contains a mirror. | |
2130 | Suppress arg: prefix in log_sys_error macro when arg is empty string. | |
2131 | Fix bug making lvchange unable to change recovery rate for RAID. | |
2132 | Prohibit conversion of thin pool to external origin. | |
2133 | Workaround gcc v4.8 -O2 bug causing failures if config/checks=1 (32bit arch). | |
2134 | Verify clvmd message validity before processing and log error if incorrect. | |
2135 | When creating PV on existing LV don't forbid reserved LV names on LVs below. | |
2136 | Split out device_is_suspended_or_blocking from device_is_usable. | |
2137 | When converting mirrors, default segtype should be the same unless specified. | |
2138 | Make "raid1" the default mirror segment type. | |
2139 | Fix clogd descriptor leak when daemonizing. | |
2140 | Fix clvmd descriptor leak on restart. | |
2141 | Add pipe_open/close() to use instead of less efficient/secure popen(). | |
2142 | Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad. | |
2143 | Inherit and apply any profile attached to a VG if creating new thin pool. | |
2144 | Add initial support thin pool lvconvert --repair. | |
2145 | Add --with-thin-repair and --with-thin-dump configure options. | |
2146 | Add lvm.conf thin_repair/dump_executable and thin_repair_options. | |
2147 | Require 1.9 thin pool target version for online thin pool metadata resize. | |
2148 | Ignore previous LV seg with alloc contiguous & cling when num stripes varies. | |
2149 | Fix segfault if devices/global_filter is not specified correctly. | |
2150 | ||
2151 | Version 2.02.99 - 24th July 2013 | |
2152 | ================================ | |
2153 | Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94). | |
2154 | Issue an error msg if lvconvert --type used incorrectly with other options. | |
2155 | Use LOG_DEBUG/ERR msg severity instead default for lvm2-activation-generator. | |
2156 | Support ARG_GROUPABLE with merge_synonym (for --raidwritemostly). | |
2157 | Fix segfault when reporting raid_syncaction for older kernels. | |
2158 | Add LV report fields: raid_mismatch_count/raid_sync_action/raid_write_behind. | |
2159 | Add LV reporting fields raid_min_recovery_rate, raid_max_recovery_rate. | |
2160 | Add sync_percent as alias for copy_percent LV reporting field. | |
2161 | Add lv_ prefix to modules reporting field. | |
2162 | Use units B or b (never E) with no decimal places when displaying sizes < 1k. | |
2163 | Add support for poolmetadataspare LV, that will be used for pool recovery. | |
2164 | Improve activation order when creating thin pools in non-clustered VG. | |
2165 | List thin-pool and thin modules for thin volumes. | |
2166 | Correct thin creation error paths. | |
2167 | Use local activation for clearing snapshot COW device. | |
2168 | Add lvm2-activation-net systemd unit to activate LVs on net-attached storage. | |
2169 | Release memory allocated with _cached_info(). | |
2170 | Add whole log_lv and metadata_lv sub volumes when creating partial tree. | |
2171 | Properly use snapshot layer for origin which is also thin volume. | |
2172 | Avoid generating metadata backup when calling update_pool_lv(). | |
2173 | Send thin messages also for active thin pool and inactive thin volume. | |
2174 | Add activation/auto_set_activation_skip to control activation skip flagging. | |
2175 | Add 's(k)ip activation' bit to lvs -o lv_attr to indicate skip flag attached. | |
2176 | Add --ignoreactivationskip to lvcreate/vgchange/lvchange to ignore skip flag. | |
2177 | Add --setactivationskip to lvcreate/lvchange to set activation skip flag. | |
2178 | Automatically flag thin snapshots to be skipped during activation. | |
2179 | Add support for persistent flagging of LVs to be skipped during activation. | |
2180 | Add --type profilable to lvm dumpconfig to show profilable config settings. | |
2181 | Add --mergedconfig to lvm dumpconfig for merged --config/--profile/lvm.conf. | |
2182 | Relase memory and unblock signals in lock_vol error path. | |
2183 | Define LVM2_* command errors in lvm2cmd.h and use in dmeventd plugins. | |
2184 | Move errors.h to tools dir. | |
2185 | Add man page entries for profile configuration and related options. | |
2186 | Improve error loging when user tries to interrupt commands. | |
2187 | Rename _swap_lv to _swap_lv_identifiers and move to allow an additional user. | |
2188 | Rename snapshot segment returning methods from find_*_cow to find_*_snapshot. | |
2189 | liblvm/python API: Additions: PV create/removal/resize/listing | |
2190 | liblvm/python API: Additions: LV attr/origin/Thin pool/Thin LV creation | |
2191 | Add vgs/lvs -o vg_profile/lv_profile to report profiles attached to VG/LV. | |
2192 | Add default.profile configuration profile and install it on make install. | |
2193 | Create a new 'conf' subdir for configuration files including profiles. | |
2194 | Make selected thinp settings customizable by a profile. | |
2195 | Support changing VG/LV profiles: vgchange/lvchange --profile/--detachprofile. | |
2196 | Support storing profile name in metadata for both VGs and LVs. | |
2197 | Add new --profile command line arg to select a configuration profile for use. | |
2198 | Add config/profile_dir to set working directory to load profiles from. | |
2199 | Add configure --with-default-profile-subdir to select dir to keep profiles in. | |
2200 | Add support for configuration profiles. | |
2201 | Introduce config_source wrapper for identification of configuration sources. | |
2202 | Avoid creation of multiple archives for one command. | |
2203 | Use mirror_segtype_default if type not specified for linear->mirror upconvert. | |
2204 | Fix use of too big chunks of memory when communication with lvmetad. | |
2205 | Fix vgcfgrestore crash when specified incorrect vg name. | |
2206 | Refine lvm.conf and man page documentation for autoactivation feature. | |
2207 | Add support for thin volumes in vgsplit. | |
2208 | Also filter partitions on mpath components if multipath_component_detection=1. | |
2209 | Add lvresize support for online thin pool metadata volume resize. | |
2210 | Add helper functions find_pool_lv() and pool_can_resize_metadata(). | |
2211 | Add detection for thin pool metadata resize kernel support. | |
2212 | Report lvs volume type 'e' with higher priority. | |
2213 | Report lvs volume type 'o' also for external origin volumes. | |
2214 | Report lvs target type 't' only for thin pools and thin volumes. | |
2215 | Fix test for active snapshot in cluster before resizing it. | |
2216 | Allow local activation to receive a locally-supplied LV struct. | |
2217 | Add vg->vg_ondisk / lv_ondisk() holding committed metadata. | |
2218 | Report backtrace from dump filter error path. | |
2219 | Do not use persistent filter with lvmetad. | |
2220 | Composable persistent filter functionality for global filter. | |
2221 | Override system's global_filter settings for vgimportclone. | |
2222 | Detect maximum usable size for snapshot for lvresize. | |
2223 | Creation of snapshot takes at most 100% origin coverage. | |
2224 | Add cow_max_extents() to calc extents for 100% origin coverage. | |
2225 | For creation of snapshot require size for at least 3 chunks. | |
2226 | Fix lvresize --use-policies of VALID but 100% full snapshot. | |
2227 | Do not accept size parameters bigger then 16EiB. | |
2228 | Fix release of PV's fid in free_pv_fid(). | |
2229 | Skip monitoring of snapshots that are already bigger then origin. | |
2230 | Add lv_is_cow_covering_origin() to check if cow covers origin size. | |
2231 | Use libdm dm_get_status_snapshot() to parse snapshot status. | |
2232 | Add detection of mounted fs also for vgchange deactivation. | |
2233 | Replace 'lv_is_active' with more correct/specific variants (e.g. *_locally). | |
2234 | Refuse to init a snapshot merge in lvconvert if there's no kernel support. | |
2235 | Fix exported symbols regex for non-GNU busybox sed. | |
2236 | Accept --yes in all commands so test scripts can be simpler. | |
2237 | Fix alignment of PV data area if detected alignment less than 1 MB (2.02.74). | |
2238 | Fix memory resource leak in memlocking error path. | |
2239 | Fix premature DM version checking which caused useless mapper/control access. | |
2240 | Add "active" LV reporting field to show activation state. | |
2241 | Add "monitor" segment reporting field to show dmevent monitoring status. | |
2242 | Document lvextend --use-policies option in man. | |
2243 | Fix creation and removal of clustered snapshot. | |
2244 | Fix clvmd caching of metadata when suspending inactive volumes. | |
2245 | Find newest timestamp of merged config files. | |
2246 | Fix assignment order for vg fid for lvm1 and pool format. | |
2247 | Fix memleak in dmeventd thin plugin in device list obtaining err path. | |
2248 | Add explicit message about unsupported pvmove for thin/thinpool volumes. | |
2249 | Fix lvmetad error path in lvmetad_vg_lookup() for null vgname. | |
2250 | Fix clvmd _cluster_request() return code in memory fail path. | |
2251 | Add lvcreate/lvchange --[raid]{min|max}recoveryrate for raid LVs. | |
2252 | Add lvchange --[raid]writemostly/writebehind support for RAID1 | |
2253 | Add lv_change_activate() for common activation code in vg/lvchange. | |
2254 | Add lvchange --[raid]syncaction for scrubbing of RAID LVs. | |
2255 | Improve RAID kernel status retrieval to include sync_action/mismatch_cnt. | |
2256 | Add external origin support for lvcreate. | |
2257 | Improve lvcreate, lvconvert and lvm man pages. | |
2258 | Clean up format1 PV write to remove a need for an orphan VG for it to pass. | |
2259 | Fix vgextend to not allow a PV with 0 MDAs to be used while already in a VG. | |
2260 | Move update_pool_params() from /tools to /lib for better reuse. | |
2261 | Give precedence to EMC power2 devices with duplicate PVIDs. | |
2262 | Add --validate option to lvm dumpconfig to validate current config on demand. | |
2263 | Add --ignoreadvanced and --ignoreunsupported switch to lvm dumpconfig. | |
2264 | Add --withcomments and --withversions switch to lvm dumpconfig. | |
2265 | Add --type {current|default|missing|new} and --atversion to lvm dumpconfig. | |
2266 | Support automatic config validation and add 'config' section to lvm.conf. | |
2267 | Add pvs -o pv_ba_start,pv_ba_size to report bootloader area start and size. | |
2268 | Add --bootloaderareasize to pvcreate and vgconvert to create bootloader area. | |
2269 | Add PV header extension: extension version, flags and bootloader areas. | |
2270 | Initial support for lvconvert of thin external origin. | |
2271 | Add _lv_remove_segs_using_this_lv() for removal of dependent lvs. | |
2272 | Improve activation code for better support of stacked devices. | |
2273 | Add _add_layer_target_to_dtree() for adding linear layer into dtree. | |
2274 | Extend _cached_info() to accept layer string. | |
2275 | vgimport '--force' now allows import of VGs with missing PVs. | |
2276 | Fix PV alignment to incorporate alignment offset if the PV has zero MDAs. | |
2277 | Add global/raid10_segtype_default to lvm.conf. | |
2278 | Allow removal or replacement of RAID LV components that are error segments. | |
2279 | Make 'vgreduce --removemissing' able to handle RAID LVs with missing PVs. | |
2280 | Accept activation/raid_region_size in preference to mirror_region_size config. | |
2281 | Fix pvs -o pv_free reporting for PVs with zero PE count. | |
2282 | Fix missing cleanup of flags when the LV is detached from pool. | |
2283 | Fix check for some forbidden discards conversion of thin pools. | |
2284 | Add pool_is_active() to check for any pool related active LV. | |
2285 | Report blank origin_size field if the LV doesn't have an origin instead of 0. | |
2286 | Do not take a free lv name argument for lvconvert --thinpool option. | |
2287 | Avoid flushing thin pool when just requesting transaction_id. | |
2288 | Add internal function lv_layer() to obtain layer name for LV. | |
2289 | Report partial and in-sync RAID attribute based on kernel status | |
2290 | Fix blkdeactivate to handle nested mountpoints and mangled mount paths. | |
2291 | Use LC_ALL to set locale in daemons and fsadm instead of lower priority LANG. | |
2292 | Avoid crash-inducing race in lvmetad when VG disappears during rename. | |
2293 | Add log/debug_classes to lvm.conf to control debug log messages. | |
2294 | Synchronize with udev in pvscan --cache and fix dangling udev_sync cookies. | |
2295 | Fix autoactivation to not autoactivate VG/LV on each change of the PVs used. | |
2296 | Limit RAID device replacement to repair only if LV is not in-sync. | |
2297 | Disallow RAID device replacement or repair on inactive LVs. | |
2298 | Fix possible race while removing metadata from lvmetad. | |
2299 | Fix possible deadlock when querying and updating lvmetad at the same time. | |
2300 | Check lvmcache_info_from_pvid and recall only when needed in _pv_read. | |
2301 | Check for memory failure of dm_config_write_node() in lvmetad. | |
2302 | Fix socket leak on error path in lvmetad's handle_connect. | |
2303 | Check for failing id_read_format() in _pv_populate_lvmcache. | |
2304 | Fix memleak on error path for lvmetad's pv_found. | |
2305 | Unlock vg mutex in error path when lvmetad tries to lock_vg. | |
2306 | Detect key string duplication failure in config_make_nodes_v in libdaemon. | |
2307 | Detect fid creation failure in _scan_file in format_text. | |
2308 | Log output also to syslog when abort_on_internal_error is set. | |
2309 | Add LV snapshot support to liblvm and python-lvm. | |
2310 | Avoid a global lock in pvs when lvmetad is in use. | |
2311 | Fix crash in pvscan --cache -aay triggered by non-mda PV. | |
2312 | Allow lvconvert --stripes/stripesize only with --mirrors/--repair/--thinpool. | |
2313 | Fix memleak in device_is_usable mirror testing function. | |
2314 | Do not ignore -f in lvconvert --repair -y -f for mirror and raid volumes. | |
2315 | Disallow pvmove on RAID LVs until they are addressed properly | |
2316 | Allow empty activation/{auto_activation|read_only|}_volume_list config option. | |
2317 | Add lvm.conf option global/thin_disabled_features. | |
2318 | Add lvconvert support to swap thin pool metadata volume. | |
2319 | Implement internal function detach_pool_metadata_lv(). | |
2320 | Fix lvm2app to return all property sizes in bytes (not sectors). | |
2321 | Recognize DM_DISABLE_UDEV environment variable for a complete fallback. | |
2322 | Do not verify udev operations if --noudevsync command option is used. | |
2323 | Fix lvm2app and return lvseg discards property as string. | |
2324 | Allow vgcfgrestore of lvm2 metadata with thin volumes if --force is used. | |
2325 | Recognise Storage Class Memory (IBM S/390) devices in filter. | |
2326 | Recognise STEC skd devices in filter. | |
2327 | Recognise Violin Memory vtms devices in filter. | |
2328 | Add lvm.conf thin pool allocation settings thin_pool_{chunk_size|discards|zero}. | |
2329 | Support discards for non-power-of-2 thin pool chunks. | |
2330 | Automatically restore MISSING PVs with no MDAs. | |
2331 | When no --stripes argument is given when creating a RAID10 volume, default to 2 stripes. | |
2332 | Do not allow lvconvert --splitmirrors on RAID10 logical volumes. | |
2333 | Skip mlocking [vectors] on arm architecture. | |
2334 | Support allocation of pool metadata with lvconvert command. | |
2335 | Move common functionality for thin lvcreate and lvconvert to toollib. | |
2336 | Repair a mirrored log before the mirror itself when both fail. | |
2337 | Add python-lvm unit test case | |
2338 | Exit pvscan --cache immediately if cluster locking used or lvmetad not used. | |
2339 | Don't use lvmetad in lvm2-monitor.service ExecStop to avoid a systemd issue. | |
2340 | Remove dependency on fedora-storage-init.service in lvm2 systemd units. | |
2341 | Depend on lvm2-lvmetad.socket in lvm2-monitor.service systemd unit. | |
2342 | Hardcode use_lvmetad=0 if cluster locking used and issue a warning msg. | |
2343 | Avoid trying to read a mirror that has a failed device in its mirrored log. | |
2344 | Relax ignore_suspended_devices to read from mirrors that don't have a device marked failed. | |
2345 | Change lvs heading Copy% to Cpy%Sync and print RAID4/5/6 sync% there too. | |
2346 | Fix clvmd support for option -d and properly use its argument. | |
2347 | Support use of option --yes for lvchange --persistent. | |
2348 | Fix memory leak on error path for pvcreate with invalid uuid. | |
2349 | Implement ref-counting for parents in python lib. | |
2350 | Add lv_is_active_locally and use instead of most local lv_info calls. | |
2351 | Reduce some log_error messages to log_warn where we don't fail. | |
2352 | Remove python liblvm object. systemdir can only be changed using env var now. | |
2353 | ||
2354 | Version 2.02.98 - 15th October 2012 | |
2355 | =================================== | |
2356 | Switch from DEBUG() to DEBUGLOG() in lvmetad as -DDEBUG is already used. | |
2357 | Prohibit not yet supported change of thin-pool to read-only. | |
2358 | Support creation of read-only thin volumes (lvcreate -p r). | |
2359 | Using autoextend percent 0 for thin pool fails 'lvextend --use-policies'. | |
2360 | Introduce blkdeactivate script to deactivate block devs with dependencies. | |
2361 | Implement devices/global_filter to hide devices from lvmetad. | |
2362 | Make vgscan --cache an alias for pvscan --cache. | |
2363 | Clear lvmetad metadata/PV cache before a rescan. | |
2364 | Fix a segmentation fault upon receiving a corrupt lvmetad response. | |
2365 | Give inconsistent metadata warnings in pvscan --cache. | |
2366 | Make lvremove ask before discarding data areas. | |
2367 | Avoid overlapping locks that could cause a deadlock in lvmetad. | |
2368 | Fix memory leaks in libdaemon and lvmetad. | |
2369 | Optimize libdaemon logging for a fast no-output path. | |
2370 | Only create lvmetad pidfile when running as a daemon (no -f). | |
2371 | Warn if lvmetad is running but disabled. | |
2372 | Warn about running lvmetad with use_lvmetad = 0 in example.conf. | |
2373 | Update lvmetad help output (flags and their meaning). | |
2374 | Make pvscan --cache read metadata from LVM1 PVs. | |
2375 | Make libdaemon buffer handling asymptotically more efficient. | |
2376 | Add lvmdump -l, to collect a state dump from lvmetad. | |
2377 | Make --sysinit suppress lvmetad connection failure warnings. | |
2378 | Prohibit usage of lvcreate --thinpool with --mirrors. | |
2379 | Fix lvm2api origin reporting for thin snapshot volume. | |
2380 | Add configure --enable-python_bindings for liblvm2app to new python subdir. | |
2381 | Add implementation of lvm2api function lvm_percent_to_float. | |
2382 | Allow non power of 2 thin chunk sizes if thin pool driver supports that. | |
2383 | Allow limited metadata changes when PVs are missing via [vg|lv]change. | |
2384 | Do not start dmeventd for lvchange --resync when monitoring is off. | |
2385 | Remove pvscan --cache from lvm2-lvmetad init script. | |
2386 | Remove ExecStartPost with pvscan --cache from lvm2-lvmetad.service. | |
2387 | Report invalid percentage for property snap_percent of non-snaphot LVs. | |
2388 | Disallow conversion of thin LVs to mirrors. | |
2389 | Fix lvm2api data_percent reporting for thin volumes. | |
2390 | Do not allow RAID LVs in a clustered volume group. | |
2391 | Add --discards to lvconvert. | |
2392 | Add --poolmetadata to lvconvert and support thin meta/data dev stacking. | |
2393 | Support changes of permissions for thin snapshot volumes. | |
2394 | Enhance insert_layer_for_lv() with recursive rename for _tdata LVs. | |
2395 | Skip building dm tree for thin pool when called with origin_only flag. | |
2396 | Add internal lv_rename_update() to rename LV without updating mda. | |
2397 | Ensure descriptors 0,1,2 are always available, using /dev/null if necessary. | |
2398 | Use /proc/self/fd when available for closing opened descriptors efficiently. | |
2399 | Add missing pkg init with --enable-testing in configure.in (2.02.71). | |
2400 | Fix inability to create, extend or convert to a large (> 1TiB) RAID LV. | |
2401 | Split out daemon-io from daemon-shared and always build libdaemonclient. | |
2402 | Update lvmetad communications to cope with clients using different filters. | |
2403 | Add (p)artial attribute to lvs. | |
2404 | Don't try to issue discards to a missing PV to avoid segfault. | |
2405 | Clear LV_NOSYNCED flag when a RAID1 LV is converted to a linear LV. | |
2406 | Disallow RAID1 upconvert if the LV was created with --nosync. | |
2407 | Depend on systemd-udev-settle in units generated by activation generator. | |
2408 | Fix vgchange -aay not to activate non-matching LVs that follow a matching LV. | |
2409 | Fix lvchange --resync for RAID LVs which had no effect. | |
2410 | Restructure mirror resync code. | |
2411 | Disallow addition of RAID images until the array is in-sync. | |
2412 | Fix RAID LV creation with '--test' so valid commands do not fail. | |
2413 | Add lvm_lv_rename() to lvm2api. | |
2414 | Fix setvbuf code by closing and reopening stream before changing buffer. | |
2415 | Disable private buffering when using liblvm. | |
2416 | When private stdin/stdout buffering is not used always use silent mode. | |
2417 | Add log/silent to lvm.conf equivalent to -qq. | |
2418 | Suppress non-essential stdout with -qq. | |
2419 | Switch non-essential log_print messages to log_print_unless_silent. | |
2420 | Use -q as short form of --quiet. | |
2421 | Add RAID10 support (--type raid10). | |
2422 | Reuse _reload_lv() in more lvconvert functions. | |
2423 | Fix 32-bit device size arithmetic needing 64-bit casting throughout tree. | |
2424 | Remove numerous unnecessary #includes and the empty util.c. | |
2425 | Fix dereference of NULL in lvmetad error path logging. | |
2426 | Fix buffer memory leak in lvmetad logging. | |
2427 | Add support for lvcreate --discards. | |
2428 | Correct the discards field in the lvs manpage (2.02.97). | |
2429 | Use proper condition to check for discards settings unsupported by kernel. | |
2430 | Reinstate correct default to ignore discards for thin metadata from old tools. | |
2431 | Issue error message when -i and -m args do not match specified RAID type. | |
2432 | Change lvmetad logging syntax from -ddd to -l {all|wire|debug}. | |
2433 | Add new libdaemon logging infrastructure. | |
2434 | ||
2435 | Version 2.02.97 - 7th August 2012 | |
2436 | ================================= | |
2437 | Improve documention of allocation policies in lvm.8. | |
2438 | Increase limit for major:minor to 4095:1048575 when using -My option. | |
2439 | Add make install_systemd_generators. | |
2440 | Add generator for lvm2 activation systemd units. | |
2441 | Add lvm_config_find_bool lvm2app fn to retrieve bool value from config tree. | |
2442 | Respect --test when using lvmetad. | |
2443 | No longer capitalise first LV attribute char for invalid snapshots. | |
2444 | Allow vgextend to add PVs to a VG that is missing PVs. | |
2445 | Recognise Micron PCIe SSDs in filter and move array out to device-types.h. | |
2446 | Fix dumpconfig <node> to print only <node> without its siblings. (2.02.89) | |
2447 | Do not issue "Failed to handle a client connection" error if lvmetad killed. | |
2448 | Support lvchange --discards and -Z with thin pools. | |
2449 | Add discard LV segment field to reports. | |
2450 | Add --discards to lvcreate --thin. | |
2451 | Set discard and external snapshot features if thin pool target is vsn 1.1+. | |
2452 | Count percentage of completeness upwards not downwards when merging snapshot. | |
2453 | Skip activation when using vg/lvchange --sysinit -a ay and lvmetad is active. | |
2454 | Fix extending RAID 4/5/6 logical volumes | |
2455 | Fix test for PV with unknown VG in process_each_pv to ignore ignored mdas. | |
2456 | Update man pages with --activate ay option and auto_activation_volume_list. | |
2457 | Fix _alloc_parallel_area to avoid picking already-full areas for raid devices. | |
2458 | Use vgchange -aay instead of vgchange -ay in clmvd init script. | |
2459 | Add activation/auto_activation_volume_list to lvm.conf. | |
2460 | Add --activate ay to lvcreate, lvchange, pvscan and vgchange. | |
2461 | Add support for volume autoactivation using lvmetad. | |
2462 | Add --activate synonym for --available arg and prefer --activate. | |
2463 | Never issue discards when LV extents are being reconfigured, not deleted. | |
2464 | Allow release_lv_segment_area to fail as functions it calls can fail. | |
2465 | Open device read-only instead of read-write when obtaining readahead value. | |
2466 | Fix lvconvert thin pool error path NULL pointer dereference. | |
2467 | Detect create_instance() failure in pvscan_lvmetad_single(). | |
2468 | Use 64-bit calculations for reserved memory and stack. | |
2469 | Fix missing sync of filesystem when creating thin volume snapshot. | |
2470 | ||
2471 | Version 2.02.96 - 8th June 2012 | |
2472 | =============================== | |
2473 | Upstream source repo now fedorahosted.org git not sources.redhat.com CVS. | |
2474 | Fix error paths for regex filter initialization. | |
2475 | Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90) | |
2476 | Fix alloc cling to cling to PVs already found with contiguous policy. | |
2477 | Fix cling policy not to behave like normal policy if no previous LV seg. | |
2478 | Fix allocation loop not to use later policies when --alloc cling without tags. | |
2479 | Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags. | |
2480 | Add missing pkg init --with-systemdsystemunitdir in configure.in (2.02.92). | |
2481 | Fix division by zero if PV with zero PE count is used during vgcfgrestore. | |
2482 | Add initial support for thin pool lvconvert. | |
2483 | Fix lvrename for thin volumes (regression in for_each_sub_lv). (2.02.89) | |
2484 | Fix up-convert when mirror activation is controlled by volume_list and tags. | |
2485 | Warn of deadlock risk when using snapshots of mirror segment type. | |
2486 | Fix bug in cmirror that caused incorrect status info to print on some nodes. | |
2487 | Remove statement that snapshots cannot be tagged from lvm man page. | |
2488 | Disallow changing cluster attribute of VG while RAID LVs are active. | |
2489 | Fix lvconvert error message for non-mergeable volumes. | |
2490 | Allow subset of failed devices to be replaced in RAID LVs. | |
2491 | Prevent resume from creating error devices that already exist from suspend. | |
2492 | Improve clmvd singlenode locking for better testing. | |
2493 | Update and correct lvs man page with supported column names. | |
2494 | Handle replacement of an active device that goes missing with an error device. | |
2495 | Change change raid1 segtype always to request a flush when suspending. | |
2496 | Add udev info and context to lvmdump. | |
2497 | Add lvmetad man page. | |
2498 | Fix RAID device replacement code so that it works under snapshot. | |
2499 | Fix inability to split RAID1 image while specifying a particular PV. | |
2500 | Update man pages to give them all the same look&feel. | |
2501 | Fix lvresize of thin pool for striped devices. | |
2502 | For lvresize round upward when specifying number of extents. | |
2503 | For lvcreate with %FREE support rounding downward stripe alignment. | |
2504 | Change message severity to log_very_verbose for missing dev info in udev db. | |
2505 | Fix lvconvert when specifying removal of a RAID device other than last one. | |
2506 | Fix ability to handle failures in mirrored log in dmeventd plugin. (2.02.89) | |
2507 | Fix unlocking volume group in vgreduce in error path. | |
2508 | Cope when VG name is part of the supplied name in lvconvert --splitmirrors -n. | |
2509 | Fix exclusive lvchange running from other node. (2.02.89) | |
2510 | Add 'vgscan --cache' functionality for consistency with 'pvscan --cache'. | |
2511 | Keep exclusive activation in pvmove if LV is already active. | |
2512 | Disallow exclusive pvmove if some affected LVs are not exclusively activated. | |
2513 | Remove unused and wrongly set cluster VG flag from clvmd lock query command. | |
2514 | Fix pvmove for exclusively activated LV pvmove in clustered VG. (2.02.86) | |
2515 | Always free hash table on update_pvid_to_vgid() in lvmetad. | |
2516 | Update and fix monitoring of thin pool devices. | |
2517 | Check hash insert success in lock_vg in clvmd. | |
2518 | Check for buffer overwrite in get_cluster_type() in clvmd. | |
2519 | Fix global/detect_internal_vg_cache_corruption config check. | |
2520 | Update lcov Makefile target to support all dmeventd plugins. | |
2521 | Fix initializiation of thin monitoring. (2.02.92) | |
2522 | Cope with improperly formatted device numbers in /proc/devices. (2.02.91) | |
2523 | Exit if LISTEN_PID environment variable incorrect in lvmetad systemd handover. | |
2524 | Use pvscan --cache instead of vgscan in lvmetad scripts. | |
2525 | Fix fsadm propagation of -e option. | |
2526 | Fix fsadm parsing of /proc/mounts files (don't check for substrings). | |
2527 | Fix fsadm usage of arguments with space. | |
2528 | Fix arg_int_value alongside ARG_GROUPABLE --major/--minor for lvcreate/change. | |
2529 | Fix name conflicts that prevent down-converting RAID1 when specifying a device | |
2530 | Improve thin_check option passing and use configured path. | |
2531 | Add --with-thin-check configure option for path to thin_check. | |
2532 | Fix error message when pvmove LV activation fails with name already in use. | |
2533 | Better structure layout for device_info in dev_subsystem_name(). | |
2534 | Change message severity for creation of VG over uninitialised devices. | |
2535 | Fix error path for failed toolcontext creation. | |
2536 | Detect lvm binary path in lvmetad udev rules. | |
2537 | Don't unlink socket on lvmetad shutdown if instantiated from systemd. | |
2538 | Restart lvmetad automatically from systemd if it exits from uncaught signal. | |
2539 | Fix warn msg for thin pool chunk size and update man for chunksize. (2.02.89) | |
2540 | ||
2541 | Version 2.02.95 - 6th March 2012 | |
2542 | ================================ | |
2543 | If unspecified, adjust thin pool metadata and chunk size to fit into 128MB. | |
2544 | Print just warning on thin pool check callback path for failing check. | |
2545 | Always use 64bit arithmetic with VG extent_size expression. | |
2546 | Validate udev structures in _insert_udev_dir(). | |
2547 | Take repeatable --major --minor with pvscan --cache instead of major:minor. | |
2548 | Scan all devices for lvmetad if 'pvscan --cache' used without device list. | |
2549 | Populate lvmcache from lvmetad before displaying PVs in pvscan. (2.02.94) | |
2550 | Suppress incorrect -n pvscan warning now always displayed. (2.02.94) | |
2551 | ||
2552 | Version 2.02.94 - 3rd March 2012 | |
2553 | ================================ | |
2554 | Add support to execute thin_check with each de/active of thin pool. | |
2555 | Fix automatic estimation of metadata device size for thin pool. | |
2556 | Test for alloc fail from _alloc_pv_segment() in _extend_pv(). | |
2557 | Check for alloc fail from get_segtype_from_string() in _lvcreate_params(). | |
2558 | Add _rimage as reserved suffix to lvm.8 man page. | |
2559 | Improve error logging from mpath filter. | |
2560 | Check for allocation failure in hold_lock() in clvmd. | |
2561 | Use set_lv() (wipe initial 4KiB) for non zeroed thin volume. | |
2562 | Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt). | |
2563 | Revert free of allocated segtype in init segment error path (2.02.89). | |
2564 | Test dm_hash_insert() failures in filter-persistent.c and fid_add_mda(). | |
2565 | Ensure clvmd message is always NUL-terminated after read. | |
2566 | Add some close() and dev_close() error path backtraces. | |
2567 | Set stdin/stdout/stderr to /dev/null for polldaemon. | |
2568 | Limit the max size of processed clvmd message to ~8KB. | |
2569 | Do not send uninitialised bytes in cluster error reply messages. | |
2570 | Use unsigned type for bitmask instead of enum type for lvm properties. | |
2571 | Add missing cleanup of excl_uuid hash on some exit paths of clvmd. | |
2572 | Check for existence of vg_name in _format1/_pool_vg_read(). | |
2573 | Fix missing break in _format_pvsegs (2.02.92). | |
2574 | Test seg pointer for non-null it in raid_target_percent error path. | |
2575 | Check for errors in _init_tags() during config loading. | |
2576 | Always check result of _set_vg_name() in lvcreate. | |
2577 | Drop unused call to uname() during clvmd initialization. | |
2578 | Test allocation result in sysfs filter creation. | |
2579 | Limit sscanf parameters with buffer size in clvmd get_initial_state(). | |
2580 | Use const lv pointer for lv_is_active...() functions. | |
2581 | Use same signed numbers in _mirrored_transient_status(). | |
2582 | Support 'pvscan --cache' to update lvmetad state from specific PVs. | |
2583 | Provide new metadata daemon for testing with configure --enable-lvmetad . | |
2584 | Integrate client-side lvmetad into build. | |
2585 | ||
2586 | Version 2.02.93 - 23rd February 2012 | |
2587 | ==================================== | |
2588 | Require number of stripes to be greater than parity devices in higher RAID. | |
2589 | Fix allocation code to allow replacement of single RAID 4/5/6 device. | |
2590 | Check all tags and LV names are in a valid form in vg_validate. | |
2591 | Add tmpfiles.d style configuration for lvm2 lock and run directory. | |
2592 | Add configure --with-tmpfilesdir for dir holding volatile-file configuration. | |
2593 | Allow 'lvconvert --repair' to operate on RAID 4/5/6. | |
2594 | Fix build_parallel_areas_from_lv to account correctly for raid parity devices. | |
2595 | Print message when faulty raid devices have been replaced. | |
2596 | ||
2597 | Version 2.02.92 - 20th February 2012 | |
2598 | ==================================== | |
2599 | Read dmeventd monitoring config settings for every lvm command. | |
2600 | For thin devices, initialize monitoring only for thin pools not thin volumes. | |
2601 | Make conversion from a synced 'mirror' to 'raid1' not cause a full resync. | |
2602 | Properly test buffer for unit check in units_to_bytes(). | |
2603 | Add configure --with-systemdsystemunitdir. | |
2604 | Add check for allocation failure in _build_matcher(). | |
2605 | Add check for rimage name allocation failure in _raid_add_images(). | |
2606 | Add check for mda_copy failure in _text_pv_setup(). | |
2607 | Add check for _mirrored_init_target failure. | |
2608 | Add free_orphan_vg. | |
2609 | Skip pv/vg_set_fid processing if the fid is same. | |
2610 | Check for foreach loop errors in _vg_read_orphans() (2.02.91). | |
2611 | Clean error paths for format instance creation (2.02.91). | |
2612 | Release vg in error path of _format1_vg_read() instead of just free(). | |
2613 | Report allocation failure for allocation of PV structure. | |
2614 | Add clvmd init dependency on dlm service when running with new corosync. | |
2615 | ||
2616 | Version 2.02.91 - 12th February 2012 | |
2617 | ==================================== | |
2618 | Remove PV-based format instances (which are no longer needed). | |
2619 | Link all orphan PVs directly to a per-format global orphan VG. | |
2620 | Refactor lvmcache around an internal API. | |
2621 | Stop processing lvextend if trying to extend a mirror that is being recovered. | |
2622 | Add pool_below_threshold() function to check thin pool percent status. | |
2623 | Fix test for snap percent for failing merge when removing LV. | |
2624 | Switch int to void return for str_list_del(). | |
2625 | Fix error path handling in _build_desc(). | |
2626 | Add range test for device number in _scan_proc_dev(). | |
2627 | Use signed long for sysconf() call in cmirrord. | |
2628 | Do not write in front of log buffer in print_log(). | |
2629 | Add boundary test for number of mirror devs and logs. | |
2630 | Check that whole locking_dir fits _lock_dir buffer in init_file_locking(). | |
2631 | Use list functions for label_exit(). | |
2632 | Ensure strncpy() function always ends with '\0'. | |
2633 | Set status in _fsadm_cmd() for error path. | |
2634 | Add missing deps for lvm2api for rebuild when lvm-internal is changed. | |
2635 | Fix resource leaks for failing allocation of formats (lvm1/2,pool). | |
2636 | Release allocated resources in error path for composite_filter_create(). | |
2637 | Do not use lstat() results when failed in _rm_link(). | |
2638 | Remove a "waiting for another thread" log message from dmeventd plugins. | |
2639 | ||
2640 | Version 2.02.90 - 1st February 2012 | |
2641 | =================================== | |
2642 | sync_local_dev_names before (re)activating mirror log for initialisation. | |
2643 | Disable partial activation for thin LVs and LVs with all missing segments. | |
2644 | Do not print warning for pv_min_size between 512KB and 2MB. | |
2645 | Clean up systemd unit ordering and requirements. | |
2646 | Fix lcov reports when srcdir != builddir. | |
2647 | Allow ALLOC_NORMAL to track reserved extents for log and data on same PV. | |
2648 | Automatically detect whether corosync clvmd needs to use confdb or cmap. | |
2649 | Fix data% report for thin volume used as origin for non-thin snapshot. | |
2650 | ||
2651 | Version 2.02.89 - 26th January 2012 | |
2652 | =================================== | |
2653 | Add missing check for uname result in clvmd TEST processing. | |
2654 | Fix memleak in target_version() error path (unsupported LIST_VERSIONS). | |
2655 | Limit data_alignment and data_alignment_offset to 32bit values. | |
2656 | Check for correctness of uint64 dev_size value in format_text. | |
2657 | Thin pools have segment fields thin_count, zero, transaction_id. | |
2658 | Add data_percent and metadata_percent for thin pools to lvs -v. | |
2659 | Add data_lv & metadata_lv fields to lvs for thin pools. | |
2660 | Add data_percent & pool_lv fields to lvs for thin volumes. | |
2661 | Rename origin_only parm to use_layer for lv_info and use with thin LVs. | |
2662 | Add lv_thin_pool_transaction_id to read the transaction_id value. | |
2663 | Use {suspend,resume}_origin_only when up-converting RAID, as mirrors do. | |
2664 | Always add RAID metadata LVs to deptree (even when origin_only is set). | |
2665 | Change exclusive LV activation logic to try local node before remote nodes. | |
2666 | Add CLVMD_FLAG_REMOTE to skip processing on local node. | |
2667 | Prompt if request is made to remove a snapshot whose "Merge failed". | |
2668 | Allow removal of an invalid snapshot that was to be merged on next activation. | |
2669 | Don't allow a user to merge an invalid snapshot. | |
2670 | Use m and M lv_attr to indicate that a snapshot merge failed in lvs. | |
2671 | Differentiate between snapshot status of "Invalid" and "Merge failed". | |
2672 | Report snapshot usage percent of origin volume when a snapshot is merging. | |
2673 | Require global/lvdisplay_shows_full_device_path for (bogus) lvm1-style paths. | |
2674 | Do not report linear segtype for non-striped targets. | |
2675 | Record creation host & time for each LV and report as lv_time & lv_host. | |
2676 | Make error message hit when preallocated memlock memory exceeded clearer. | |
2677 | Use R lv_attr to indicate read-only activation of non-read-only device in lvs. | |
2678 | Show read-only activation override in lvdisplay & add 4 to perms in -c. | |
2679 | Add activation/read_only_volume_list to override LV permission in metadata. | |
2680 | Give priority to emcpower devices with duplicate PVIDs. | |
2681 | Add check for error in _adjust_policy_params() (lvextend --use-policies). | |
2682 | Round specified percentages upwards (%LV, %VG...) when resizing LVs. | |
2683 | Use dmeventd_lvm2_command in dmeventd plugins snapshot, raid, mirror. | |
2684 | Add helper dmeventd_lvm2_command() to libdevmapper-event-lvm2 library. | |
2685 | Update documentation for dmeventd. | |
2686 | Remove unnecessary stat before opening device in dev_open_flags. | |
2687 | Reduce number of lstat calls when selecting device alias. | |
2688 | Add _dev_init to initialize common struct device members. | |
2689 | Always zalloc struct device during initialization. | |
2690 | Fix missing thread list manipulation protection in dmeventd. | |
2691 | Do not derefence lv pointer in _percent_run() function before NULL check. | |
2692 | Allow empty strings for description and creation_host config fields. | |
2693 | Issue deprecation warning when removing last lvm1-format snapshot. | |
2694 | Reinstate support for snapshot removal with lvm1 format. (2.02.86) | |
2695 | Add policy-based automated repair of RAID logical volumes. | |
2696 | Don't allow two images to be split and tracked from a RAID LV at one time. | |
2697 | Don't allow size change of RAID LV that is tracking changes for a split image. | |
2698 | Don't allow size change of RAID sub-LVs independently. | |
2699 | Don't allow name change of RAID LV that is tracking changes for a split image. | |
2700 | Do not allow users to change the name of RAID sub-LVs independently. | |
2701 | Do not allow users to change permissions on RAID sub-LVs. | |
2702 | Allow lvconvert to replace specified devices in a RAID array. | |
2703 | Add activation/use_linear_target enabled by default. | |
2704 | Use gcc warning options only with .c to .o compilation. | |
2705 | Move y/n prompts to stderr and repeat if response has both 'n' and 'y'. | |
2706 | Replace the unit testing framework with CUnit (--enable-testing). | |
2707 | Fix dmeventd snapshot monitoring when multiple extensions were involved. | |
2708 | Don't ignore configure --mandir and --infodir. | |
2709 | Drop pool memory allocated within lv_has_target_type(). | |
2710 | Reduce stack allocation of some PATH_MAX sized char buffers. | |
2711 | Unlock memory before writing metadata. | |
2712 | Add query before removing snapshots when inactive snapshot origin is removed. | |
2713 | Allow changing availability state of snapshots. | |
2714 | Skip non-virtual snapshots for availability change for lvchange with vg name. | |
2715 | Skip adjusting mirror region size unless mirror or raid. | |
2716 | Reorder prompt conditions for removal of active volumes. | |
2717 | Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag.(2.02.86) | |
2718 | Fix --enable-static_link unless using --enable-dmeventd / --enable-udev_sync. | |
2719 | Move gentoo MAKEDEV to /sbin in lvm2create_initrd. | |
2720 | Add filter to avoid scan of device if it is part of active multipath. | |
2721 | Add missing default $LVM_VG_NAME usage for snapshots. | |
2722 | Avoid extent_count overflow with lvextend. | |
2723 | Add missing lvrename mirrored log recursion in for_each_sub_lv. | |
2724 | Improve lv_extend stack reporting. | |
2725 | Increase virtual segment size instead of creating multiple segment list. | |
2726 | Add last_seg(lv) internal function. | |
2727 | Support empty string for log/prefix. | |
2728 | Disallow mirrored logs for cluster mirrors. (2.02.72) | |
2729 | Don't print char type[8] as a plain string in pvck PV type. | |
2730 | Use vg memory pool implicitly for vg read. | |
2731 | Always use vg memory pool for allocated lv segment. | |
2732 | Remove extra 4kB buffer allocated on stack in print_log(). | |
2733 | Make move_lv_segment non-static function and use dm_list function. | |
2734 | Pass exclusive LV locks to all nodes in the cluster. | |
2735 | Improve lvcreate chunksize man page description. | |
2736 | Improve man page style for lvcreate & lvs. | |
2737 | Avoid recursive calls to dmeventd in its LVM plugins. | |
2738 | Log dev name now returned to kernel for registering during cmirror CTR. | |
2739 | Fix lv_info open_count test for disabled verify_udev_operations. (2.02.86) | |
2740 | Simplify code for lvm worker thread in clvmd. | |
2741 | Use pthread_barrier to synchronize clvmd threads at startup. | |
2742 | Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack. | |
2743 | Reduce default preallocated stack size to 64KiB. | |
2744 | Add check for access through NULL pointer when refresh_filter() fails. | |
2745 | Use pthread condition for SINGLENODE lock implementation. | |
2746 | Improve backtrace reporting for some dev_manager_ functions. | |
2747 | Change message severity to log_warn when symlink creation fails. | |
2748 | Add ability to convert mirror segtype to RAID1 segtype. | |
2749 | Add ability to convert from linear to RAID1. | |
2750 | Add ability to extend mirrors with '--nosync' option. | |
2751 | Fix splitmirror LV names to maintain consistent state in a cluster. | |
2752 | Apply appropriate udev flags when suspending/resuming mirror sub-LVs. | |
2753 | Fix vgsplit to handle mirrored logs. | |
2754 | Clarify multi-name device filter pattern matching explanation in lvm.conf. | |
2755 | Introduce revert_lv for better pvmove cleanup. | |
2756 | Replace incomplete pvmove activation failure recovery code with a message. | |
2757 | Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely. | |
2758 | Change suspend_lvs to call vg_revert internally. | |
2759 | Change vg_revert to void and remove superfluous calls after failed vg_commit. | |
2760 | Use execvp for CLVMD restart to preserve environment settings. | |
2761 | Restart CLVMD with same cluster manager. | |
2762 | Fix log_error() usage in raid and unknown segtype initialisation. | |
2763 | Improve testing Makefile. | |
2764 | Fix install_ocf make target when srcdir != builddir. (2.02.80) | |
2765 | Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd. | |
2766 | Fix restart of clvmd (preserve exlusive locks). (2.02.64) | |
2767 | Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE. | |
2768 | Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. | |
2769 | Replace open_count check with holders/mounted_fs check on lvremove path. | |
2770 | Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg. | |
2771 | Cleanup restart clvmd code (no memory allocation, debug print passed args). | |
2772 | Add all exclusive locks to clvmd restart option args. | |
2773 | Always send the whole clvmd packet header in refresh commands. | |
2774 | Add missing error checks for some system calls in cmirrord. | |
2775 | Add missing log_error() to lvresize command when fsadm tool fails. | |
2776 | Add support for DM_DEV_DIR device path into fsadm script. | |
2777 | Support different PATH setting for fsadm script testing. | |
2778 | Surround all executed commands with quotes in fsadm script. | |
2779 | Fix missing '$' in test for content of "$LVM" in fsadm script. | |
2780 | Move debug message in exec_cmd after sync_local_dev_names. | |
2781 | Fix clvmd processing of invalid request on local socket. | |
2782 | Fix command line option decoding. | |
2783 | Reset LV status when unlinking LV from VG. | |
2784 | Fix overly-strict extent-count divisibility requirements for striped mirrors. | |
2785 | Fix rounding direction in lvresize when reducing volume size. | |
2786 | Fix possible overflow of size if %FREE or %VG is used. | |
2787 | Fix vgchange activation of snapshot with virtual origin. | |
2788 | Activate virtual snapshot origin exclusively (only on local node in cluster). | |
2789 | Fix lv_mirror_count to handle mirrored stripes properly. | |
2790 | Fix failure to down-convert a mirror to linear due to udev "dev open" conflict | |
2791 | Fix mirrored log creation when PE size is small: use log_size >= region_size. | |
2792 | Fix log size calculation when only a log is being added to a mirror. | |
2793 | Add 7th lv_attr char to show the related kernel target. | |
2794 | Terminate pv_attr field correctly. (2.02.86) | |
2795 | Fix 'not not' typo in pvcreate man page. | |
2796 | Improve man page style for fsadm, lvreduce, lvremove, lvrename & lvresize. | |
2797 | Support break for vgchange and vgrefresh operation. | |
2798 | Switch int to unsigned type for pvmetadatacopies for pv_create(). | |
2799 | Replace :space: with [\t ] for awk in vgimportclone (not widely supported). | |
2800 | Begin using 64-bit status field flags. | |
2801 | Detect sscanf recovering_region input error in cmirrord pull_state(). | |
2802 | Fix error path bitmap leak in cmirrord import_checkpoint(). | |
2803 | Log unlink() error in cmirrord remove_lockfile(). | |
2804 | Remove incorrect requirement for -j or -m from lvchange error message. | |
2805 | Fix unsafe table load when splitting off smaller mirror from a larger one. | |
2806 | Use size_t return type for text_vg_export_raw() and export_vg_to_buffer(). | |
2807 | Add configure --enable-lvmetad for building the (experimental) LVMetaD. | |
2808 | Fix resource leak when strdup fails in _get_device_status() (2.02.85). | |
2809 | Directly allocate buffer memory in a pvck scan instead of using a mempool. | |
2810 | Add configure --with-thin for segtypes "thin" and "thin_pool". | |
2811 | Fix raid shared lib segtype registration (2.02.87). | |
2812 | ||
2813 | Version 2.02.88 - 19th August 2011 | |
2814 | ================================== | |
2815 | Remove incorrect 'Breaking' error message from allocation code. (2.02.87) | |
2816 | Add lvconvert --merge support for raid1 devices split with --trackchanges. | |
2817 | Support lvconvert of -m1 raid1 devices to a higher number. | |
2818 | Add --trackchanges support to lvconvert --splitmirrors option for raid1. | |
2819 | Support splitting off a single raid1 rimage in lvconvert --splitmirrors. | |
2820 | Use sync_local_dev_names when reducing number of raid rimages in lvconvert. | |
2821 | Add -V as short form of --virtualsize in lvcreate. | |
2822 | Fix make clean not to remove Makefile. (2.02.87) | |
2823 | ||
2824 | Version 2.02.87 - 12th August 2011 | |
2825 | ================================== | |
2826 | Fix make distclean to remove stray dmeventd and exported symbols files. | |
2827 | Add global/detect_internal_vg_cache_corruption to lvm.conf. | |
2828 | Use memory pool locking to check for corruption of internal VG structs. | |
2829 | Cache and share generated VG structs. | |
2830 | Fix possible format instance memory leaks and premature releases in _vg_read. | |
2831 | Suppress locking error messages in monitoring init scripts. | |
2832 | If pipe in clvmd fails return busy instead of using uninitialised descriptors. | |
2833 | Add ability to reduce the number of mirrors in raid1 arrays to lvconvert. | |
2834 | Add dmeventd plugin for raid. | |
2835 | Replace free_vg with release_vg and move it to vg.c. | |
2836 | Remove INCONSISTENT_VG flag from the code. | |
2837 | Remove lock from cache in _lock_vol even if unlock fails. | |
2838 | Initialise clvmd locks before lvm context to avoid open descriptor leaks. | |
2839 | Remove obsolete gulm clvmd cluster locking support. | |
2840 | Suppress low-level locking errors and warnings while using --sysinit. | |
2841 | Remove unused inconsistent_seqno variable in _vg_read(). | |
2842 | Remove meaningless const type qualifiers on cast type. | |
2843 | Add test for fcntl error in singlenode client code. | |
2844 | Remove --force option from lvrename manpage. | |
2845 | Add global/mirror_segtype_default to pick md raid or dm mirror as default. | |
2846 | Add configure --with-raid for new segtype 'raid' for MD RAID 1/4/5/6 support. | |
2847 | Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used if there is no config file. | |
2848 | Add systemd unit file to provide lvm2 monitoring. | |
2849 | Compare file size (as well as timestamp) to detect changed config file. | |
2850 | ||
2851 | Version 2.02.86 - 8th July 2011 | |
2852 | =============================== | |
2853 | Remove unnecessary warning in pvcreate for MD linear devices. | |
2854 | Move snapshot removal activation logic into lib/activate. | |
2855 | Cope with a PV only discovered missing when creating deptree. | |
2856 | Abort operation if dm_tree_node_add_target_area fails. | |
2857 | Add activation/checks to lvm.conf to perform additional ioctl validation. | |
2858 | Always preload on suspend, even if no metadata changed (lvchange --refresh). | |
2859 | When suspending, automatically preload newly-visible existing LVs. | |
2860 | Teardown any stray devices with $COMMON_PREFIX during test runs. | |
2861 | Reinstate correct permissions when creating mirrors. [2.02.85] | |
2862 | Append 'm' attribute to pv_attr for missing PVs. | |
2863 | Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd. | |
2864 | Remove enforcement of udev verification when using non-standard /dev location. | |
2865 | Keep an exclusive mirror non-clustered if reloaded e.g. during conversion. | |
2866 | Reject allocation if number of extents is not divisible by area count. | |
2867 | Fix cluster mirror creation to work with new mirror allocation algorithm. | |
2868 | Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18. | |
2869 | Add activation/verify_udev_operations to lvm.conf, disabled by default. | |
2870 | Call vg_mark_partial_lvs() before VG structure is returned from the cache. | |
2871 | Remove unused internal flag ACTIVATE_EXCL from the code. | |
2872 | Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path. | |
2873 | Add lv_activate_opts structure for activation (replacing activation flags). | |
2874 | Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating. | |
2875 | Add proper udev library context initialization and finalization to liblvm. | |
2876 | Fix last snapshot removal to avoid table reload while a device is suspended. | |
2877 | Use dm_get_suspended_counter in replacement critical_section logic. | |
2878 | Downgrade critical_section errors to debug level until it is moved to libdm. | |
2879 | Fix ignored background polling default in vgchange -ay. | |
2880 | Fix pvmove activation sequences to avoid trapped I/O with multiple LVs. | |
2881 | Annotate critical section debug messages. | |
2882 | Fix reduction of mirrors with striped segments to always align to stripe size. | |
2883 | Validate mirror segments size. | |
2884 | Include lvmetad development code in tree. | |
2885 | Fix extent rounding for striped volumes never to reduce more than requested. | |
2886 | Fix create_temp_name to replace any '/' found in the hostname with '?'. | |
2887 | Always use append to file in lvmdump. selinux policy may ban file truncation. | |
2888 | Propagate test mode to clvmd to skip activation and changes to held locks. | |
2889 | Defer writing PV labels until vg_write. | |
2890 | Store label_sector only in struct physical_volume. | |
2891 | Permit --available with lvcreate so non-snapshot LVs need not be activated. | |
2892 | Report sector containing label in verbose message. | |
2893 | Clarify error message when unable to convert an LV into a snapshot of an LV. | |
2894 | Add and use dev_open_readonly and variations. | |
2895 | Do not log a superfluous stack message when the lv is properly processed. | |
2896 | Do not issue an error message when unable to remove .cache on read-only fs. | |
2897 | Avoid memlock size mismatch by preallocating stdio line buffers. | |
2898 | Rewrite vgreduce --removemissing --force to share lvconvert code. | |
2899 | Reorganize lvconvert --repair code to allow reuse. | |
2900 | ||
2901 | Version 2.02.85 - 29th April 2011 | |
2902 | ================================= | |
2903 | Add new obtain_device_list_from_udev setting to lvm.conf. | |
2904 | Obtain device list from udev by default if LVM2 is compiled with udev support. | |
2905 | Add test for vgimportclone and querying of vgnames with duplicate pvs. | |
2906 | Avoid use of released memory when duplicate PV is found. | |
2907 | Add "devices/issue_discards" to lvm.conf. | |
2908 | Issue discards on lvremove and lvreduce etc. if enabled and supported. | |
2909 | Add seg_pe_ranges and devices fields to liblvm. | |
2910 | Fix incorrect tests for dm_snprintf() failure. | |
2911 | Fix some unmatching sign comparation gcc warnings in the code. | |
2912 | Support lv_extend() on empty LVs. | |
2913 | Avoid regenerating cache content when exported VG buffer is unchanged. | |
2914 | Extend the set of memory regions that are not locked to memory. | |
2915 | Workaround some problems when compiled for valgrind memcheck. | |
2916 | Support controlled quit of the lvm_thread_fn function in clvmd. | |
2917 | Fix reading of unallocated memory in lvm1 format import function. | |
2918 | Replace several strncmp() calls with id_equal(). | |
2919 | Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname(). | |
2920 | Fix -Wold-style-definition gcc warnings. | |
2921 | Rename MIRROR_NOTSYNCED to LV_NOTSYNCED. | |
2922 | Fix _move_lv_segments to handle empty LVs. | |
2923 | Fixes for lvconvert (including --repair) of temporary mirror stacks. | |
2924 | Avoid potential loop when removing mirror images. | |
2925 | Fix mirror removal always to take account of preferences as to which. | |
2926 | Fix MIRRORED flag usage. | |
2927 | Remove error messages issued by device_is_usable when run as non-root. | |
2928 | Add missing \0 for grown debug object in _bitset_with_random_bits(). | |
2929 | Fix allocation of system_id buffer in volume_group structure. | |
2930 | Fix readlink usage inside get_primary_dev(). | |
2931 | Use format instance mempool where possible and adequate. | |
2932 | Call destroy_instance for any PVs found in VG structure during vg_free call. | |
2933 | Add new free_pv_fid fn and use it throughout to free all attached fids. | |
2934 | Use only vg_set_fid and new pv_set_fid fn to assign the format instance. | |
2935 | Make create_text_context fn static and move it inside create_instance fn. | |
2936 | Add mem and ref_count fields to struct format_instance for own mempool use. | |
2937 | Use new alloc_fid fn for common format instance initialisation. | |
2938 | Optimise _get_token() and _eat_space(). | |
2939 | Add _lv_postorder_vg() to improve efficiency for all LVs in VG. | |
2940 | Add gdbinit script for debugging. | |
2941 | Use hash tables to speedup string search in vg_validate(). | |
2942 | Refactor allocation of VG structure adding alloc_vg(). | |
2943 | Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name. | |
2944 | Use empty string instead of /dev// for LV path when there's no VG. | |
2945 | Don't allocate unused VG mempool in _pvsegs_sub_single. | |
2946 | Do not send uninitialised bytes in local clvmd messages. | |
2947 | Support --help option for clvmd and return error for unknown option. | |
2948 | Avoid reading freed memory when printing LV segment type. | |
2949 | Fix syslog initialisation in clvmd to respect lvm.conf setting. | |
2950 | Fix possible overflow in maximum stripe size and physical extent size. | |
2951 | Improve pvremove error message when PV belongs to a VG. | |
2952 | Extend normal policy to allow mirror logs on same PVs as images if necessary. | |
2953 | Improve cling policy to recognise PVs already used during the transaction. | |
2954 | Improve normal allocation algorithm to include clinging to existing areas. | |
2955 | Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf. | |
2956 | Adapt metadata balancing code to work with metadata handling changes. | |
2957 | Add old_id field to physical_volume and fix pvchange -u for recent changes. | |
2958 | Allow pvresize on a PV with two metadata areas. | |
2959 | Change pvcreate to use new metadata handling interface. | |
2960 | Restructure existing pv_setup and pv_write and add pv_initialise. | |
2961 | Add internal interface to support adding and removing metadata areas. | |
2962 | Allow internal indexing of metadata areas (PV id + mda order). | |
2963 | Generalise internal format_instance infrastrusture for PV and VG use. | |
2964 | Handle decimal digits with --units instead of ignoring them silently. | |
2965 | Fix remaining warnings and compile with -Wpointer-arith. | |
2966 | Fix gcc warnings for unused variables and const casts. | |
2967 | Add stack backtraces for error paths in process_each_lv(). | |
2968 | Temporarily suppress error from calling yes_no_prompt while locks are held. | |
2969 | Replace void* with char* arithmetic in _text_write, _text_read & send_message. | |
2970 | Fix compilation without DEVMAPPER_SUPPORT. | |
2971 | Remove fs_unlock() from lv_suspend error path. | |
2972 | Allow memory to stay locked between leaving and re-entering critical sections. | |
2973 | Rename memlock to critical_section throughout. | |
2974 | Make pv_min_size configurable and increase to 2048KB to exclude floppy drives. | |
2975 | Add find_config_tree_int64 to read 64-bit ints from config. | |
2976 | Ensure resuming exclusive cluster mirror continues to use local mirror target. | |
2977 | Clear temporary postorder LV status flags to allow re-use with same LV struct. | |
2978 | Remove invalid snapshot umount mesg which floods syslog from dmeventd plugin. | |
2979 | Add extended examples to pvmove man page. | |
2980 | Support LVM_TEST_DEVDIR env var for private /dev during testing. | |
2981 | ||
2982 | Version 2.02.84 - 9th February 2011 | |
2983 | =================================== | |
2984 | Fix CRC32 calculation on big endian CPU (2.02.75). | |
2985 | ||
2986 | Version 2.02.83 - 4th February 2011 | |
2987 | =================================== | |
2988 | Allow exclusive activation of snapshots in a cluster. | |
2989 | Leave EX lock unchanged when suspending a device in clvmd. | |
2990 | Use sync_dev_names in unlock_vg macro for cluster-wide dev name sync. | |
2991 | Fix fs operation stack handling when multiple operations on same device. | |
2992 | Increase hash table size to 1024 lv names and 64 pv uuids. | |
2993 | Remove fs_unlock() from lv_resume path. | |
2994 | Fix wipe size when setting up mda. | |
2995 | Remove unneeded checks for open_count in lv_info(). | |
2996 | Synchronize with udev before checking open_count in lv_info(). | |
2997 | Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested. | |
2998 | Add "dmsetup ls --tree" output to lvmdump. | |
2999 | Fix udev synchronization with no-locking --sysinit (2.02.80). | |
3000 | Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan. | |
3001 | Avoid rebuilding of uuid validation table. | |
3002 | Improve lvcreate error text from insufficient "extents" to "free space". | |
3003 | Always use O_DIRECT when opening block devices to check for partitioning. | |
3004 | ||
3005 | Version 2.02.82 - 24th January 2011 | |
3006 | =================================== | |
3007 | Bring lvscan man page up-to-date. | |
3008 | Fix lvchange --test to exit cleanly. | |
3009 | Add change_tag to toollib. | |
3010 | Allow multiple pvchange command line options to be specified together. | |
3011 | Do not fail pvmove polling if another process cleaned up first. | |
3012 | Avoid clvmd incrementing dlm lockspace reference count more than once. | |
3013 | Add -f (don't fork) option to clvmd and fix clvmd -d<num> description. | |
3014 | ||
3015 | Version 2.02.81 - 17th January 2011 | |
3016 | =================================== | |
3017 | Do not scan devices in dev_reset_error_count(). | |
3018 | Skip unnecessary LOCK_NULL unlock call during volume deactivation. | |
3019 | Skip fs_unlock when calling exec_cmd within activation code (for modprobe). | |
3020 | Extend exec_cmd params to specify when device sync (fs_unlock) is needed. | |
3021 | Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80) | |
3022 | Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock. | |
3023 | Accept fusion fio in device type filter. | |
3024 | Add ability to convert mirror log type from disk to mirrored. | |
3025 | ||
3026 | Version 2.02.80 - 10th January 2011 | |
3027 | =================================== | |
3028 | Use same dm cookie for consecutive dm ops in same VG to reduce udev waits. | |
3029 | Speed up command processing by caching resolved config tree. | |
3030 | Pass config_tree to renamed function import_vg_from_config_tree(). | |
3031 | Detect NULL handle in get_property(). | |
3032 | Fix superfluous /usr in ocf_scriptdir instalation path. | |
3033 | Add --with-ocfdir configurable option. | |
3034 | Add aclocal.m4 (for pkgconfig). | |
3035 | Fix memory leak in persistent filter creation error path. | |
3036 | Check for errors setting up dm_task struct in _setup_task(). | |
3037 | Fail polldaemon creation when lvmcache_init() fails. | |
3038 | Return PERCENT_INVALID for errors in _copy_percent() and _snap_percent(). | |
3039 | Remove some unused variables. | |
3040 | Improve general lvconvert man page description. | |
3041 | Return 0 from cmirrord initscript 'start' if daemon is already running. | |
3042 | Fix wrongly paired unlocking of VG_GLOBAL in pvchange. (2.02.66) | |
3043 | Add backtraces for backup and backup_remove fail paths. | |
3044 | Detect errors from dm_task_set calls in _get_device_info (dmeventd). | |
3045 | Add backtraces for archive and backup_locally in check_current_backup(). | |
3046 | Fix memory leak in debug mode of restart_clvmd() error path. | |
3047 | Log error message for pthread_join() failure in clvmd. | |
3048 | ||
3049 | Version 2.02.79 - 20th December 2010 | |
3050 | ==================================== | |
3051 | Remove some unused variables. | |
3052 | Add missing test for reallocation error in _find_parallel_space(). | |
3053 | Add checks for allocation errors in config node cloning. | |
3054 | Fix error path if regex engine cannot be created in _build_matcher(). | |
3055 | Use char* arithmetic in target_version(), _process_all() & _targets(). | |
3056 | Fixing const cast gcc warnings in the code. | |
3057 | Check read() and close() results in _get_cmdline(). | |
3058 | Add const for struct config_node usage. | |
3059 | Fix NULL pointer check in error path in clvmd do_command(). (2.02.78) | |
3060 | Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51) | |
3061 | Add copy_percent and snap_percent to liblvm. | |
3062 | Enhance vg_validate to ensure integrity of LV and PV structs referenced. | |
3063 | Enhance vg_validate to check composition of pvmove LVs. | |
3064 | Create /var/run/lvm directory during clvmd initialisation if missing. | |
3065 | Use new dm_prepare_selinux_context instead of dm_set_selinux_context. | |
3066 | Avoid revalidating the label cache immediately after scanning. | |
3067 | Support scanning for a single VG in independent mdas. | |
3068 | Don't skip full scan when independent mdas are present even if memlock is set. | |
3069 | Set cmd->independent_metadata_areas if metadata/dirs or disk_areas in use. | |
3070 | Cope better with an undefined target_percent operation in _percent_run. | |
3071 | Avoid writing to freed memory in vg_release and rename to free_vg. (2.02.78) | |
3072 | ||
3073 | Version 2.02.78 - 6th December 2010 | |
3074 | =================================== | |
3075 | Abort if segment tag allocation fails in pool format _add_stripe_seg. | |
3076 | Abort in _mirrored_transient_status if referenced log/image LV is not active. | |
3077 | Add backtraces for dev_set() and dev_close_immediate() errors in set_lv(). | |
3078 | Log any unlink() error in clvmd remove_lockfile(). | |
3079 | Log any pipe write() or close() errors in clvmd child_init_signal(). | |
3080 | Detect if orphan vginfo was lost from cache before _lvmcache_update_vgname(). | |
3081 | Do a full rescan if some device is missing in lvm1 format read_pvs_in_vg. | |
3082 | Add missing check that dm_pool_create succeeded in write_config_node(). | |
3083 | Use dm_snprintf in clvmd-command.c to ensure an overlong buffer is truncated. | |
3084 | Don't write to buffer if its reallocation failed in clvmd do_command(). | |
3085 | Switch from float to fixed point percentage handling. | |
3086 | Avoid misleading missing PV warnings in vgextend --restoremissing. | |
3087 | Fix memory leak when VG allocation policy in metadata is invalid. | |
3088 | Ignore unrecognised allocation policy found in metadata instead of aborting. | |
3089 | Factor out tag printing into _out_tags and avoid leaking string buffer. | |
3090 | Remove some unused variables & assignments. | |
3091 | Add missing vg_release calls in _vg_read_by_vgid. | |
3092 | Fix debug logging of derived flag LCK_CACHE in clvmd. | |
3093 | Fix test for no system_dir in _init_backup(). | |
3094 | Disallow lvconvert ops that both allocate & free supplied PEs in a single cmd. | |
3095 | Fix liblvm seg_size to give bytes not sectors. | |
3096 | Add functions to look up LV/PV by name/uuid to liblvm. | |
3097 | Free cmd_context if fallback to LVM1 fails in lvm2_main(). | |
3098 | Free device name buffer in dmsetup parse_loop_device_name() error paths. | |
3099 | Close format lib if init_format_fn fails in _init_formats(). | |
3100 | Don't leave /proc/mounts open after dmeventd snapshot event processing. | |
3101 | Fix out-of-scope arg_vgnames use in process_each_lv(). | |
3102 | Remove incorrect dm_task_destroy(NULL) from _node_clear_table() error path. | |
3103 | Add missing closedir in _rm_blks after removing stray LVM1 VG files. | |
3104 | Suppress 'No PV label' message when removing several PVs without mdas. | |
3105 | Fix default /etc/lvm permissions to be 0755. (2.02.66) | |
3106 | ||
3107 | Version 2.02.77 - 22nd November 2010 | |
3108 | ==================================== | |
3109 | Allocate a pool for dummy VG in _pvsegs_sub_single. | |
3110 | Add PV and LV segment types and functions to liblvm. | |
3111 | Add set_property functions to liblvm. | |
3112 | Remove tag length restriction and allow / = ! : # & characters. | |
3113 | Support repetition of --addtag and --deltag arguments. | |
3114 | Add infrastructure for specific cmdline arguments to be repeated in groups. | |
3115 | Split the_args cmdline arguments and values into arg_props and arg_values. | |
3116 | Fix fsadm no longer to require '-f' to resize an unmounted filesystem. | |
3117 | Fix fsadm to detect mounted filesystems on older systems. (2.0.75) | |
3118 | Extend cling allocation policy to recognise PV tags (cling_by_tags). | |
3119 | Add allocation/cling_tag_list to lvm.conf. | |
3120 | Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76) | |
3121 | ||
3122 | Version 2.02.76 - 8th November 2010 | |
3123 | =================================== | |
3124 | Clarify error messages when activation fails due to activation filter use. | |
3125 | Add pacemaker script VolumeGroup.ocf with configure --enable-ocf. | |
3126 | Import make.tmpl into include/ Makefile. | |
3127 | Fix handling of online filesystem resize (using new fsadm return code). | |
3128 | Add DIAGNOSTICS section to fsadm man page. | |
3129 | Modify fsadm to return different status code for check of mounted filesystem. | |
3130 | Update VG metadata only once in vgchange when making multiple changes. | |
3131 | Allow independent vgchange arguments to be used together. | |
3132 | Automatically unmount invalidated snapshots in dmeventd. | |
3133 | Suppress some superfluous messages from clang static analysis. | |
3134 | Fix a deadlock caused by double close in clvmd. | |
3135 | Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area. | |
3136 | Use static for internal _align_chunk() and _new_chunk() from pool-fast.c. | |
3137 | Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange. | |
3138 | Add lvm2app functions to query any pv, vg, or lv property / report field. | |
3139 | ||
3140 | Version 2.02.75 - 25th October 2010 | |
3141 | =================================== | |
3142 | Annotate more variables and parameters as const. | |
3143 | Fix missing variable initialization in cluster_send() function from cmirrord. | |
3144 | Fix pointer for VG name in _pv_resize_single error code path. | |
3145 | Fix warning for changed alignment requirements for dmeventd read/write func. | |
3146 | Add global/metadata_read_only to use unrepaired metadata in read-only cmds. | |
3147 | Don't take write lock in vgchange --refresh, --poll or --monitor. | |
3148 | Skip dm devices in scan if they contain only error targets or are empty. | |
3149 | Fix strict-aliasing compile warning in partition table scanning. | |
3150 | Fix pthread mutex usage deadlock in clvmd. | |
3151 | Automatically extend snapshots with dmeventd according to policy in lvm.conf. | |
3152 | Add activation/snapshot_autoextend_threshold/percent to lvm.conf. | |
3153 | Fix liblvm2cmd link order to support --as-needed. | |
3154 | Remove dependency on libm by replacing floor() by an integer-based algorithm. | |
3155 | Fix hang when repairing a mirrored-log that had both devs fail. | |
3156 | Convey need for snapshot-merge target in lvconvert error message and man page. | |
3157 | Add devices/disable_after_error_count config to limit access to failing devs. | |
3158 | Give correct error message when creating a too-small snapshot. | |
3159 | Implement vgextend --restoremissing to reinstate missing devs that return. | |
3160 | Make lvconvert respect --yes and --force when converting an inactive log. | |
3161 | Refactor and add 'get' functions for lv properties/fields. | |
3162 | Update script for fsadm testing. | |
3163 | Better support of noninteractive shell execution of fsadm. | |
3164 | Fix usage of --yes flag for ReiserFS resize in fsadm. | |
3165 | Fix detection of mounted filesystems for fsadm when udev is used. | |
3166 | Fix assignment of default value to LVM variable in fsadm. | |
3167 | Fix support for --yes flag for fsadm. | |
3168 | Do not execute lvresize from fsadm --dry-run. | |
3169 | Fix fsadm return error code from user's break action. | |
3170 | Allow CC to be overridden at build time (for 'scan-build make'). | |
3171 | Rename 'flags' to 'status' in struct metadata_area. | |
3172 | Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74) | |
3173 | Use dm_zalloc and dm_pool_zalloc throughout. | |
3174 | Add pv_get_property and create generic internal _get_property function. | |
3175 | Add 'get' functions for pv and vg properties/fields. | |
3176 | Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv. | |
3177 | Add tags_format_and_copy() common function and call from _tags_disp. | |
3178 | Add id_format_and_copy() common function and call from _uuid_disp. | |
3179 | Refactor report.c '*_disp' functions to call supporting functions. | |
3180 | Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files. | |
3181 | Fix vg_read memory leak with directory-based metadata. | |
3182 | Fix memory leak of config_tree in reinitialization code path. | |
3183 | Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg. | |
3184 | Read whole /proc/self/maps file before working with maps entries. | |
3185 | Speed up unquoting of quoted double quotes and backslashes. | |
3186 | Speed up CRC32 calculations by using a larger lookup table. | |
3187 | ||
3188 | Version 2.02.74 - 24th September 2010 | |
3189 | ===================================== | |
3190 | Allow : and @ to be escaped with \ in device names of PVs. | |
3191 | Replace alloca with dm_malloc in _aligned_io to avoid stack corruption. | |
3192 | Fix partial mode operations for lvm1 metadata format. | |
3193 | Track recursive filter iteration to avoid refreshing while in use. (2.02.56) | |
3194 | Revert to old glibc vsnprintf behaviour in emit_to_buffer() to catch overflow. | |
3195 | Allocate buffer for metadata tags dynamically to remove 4k limit. | |
3196 | Add random suffix to archive file names to prevent races when being created. | |
3197 | Reinitialize archive and backup handling on toolcontext refresh. | |
3198 | Make poll_mirror_progress report PROGRESS_CHECK_FAILED if LV is not a mirror. | |
3199 | Like mirrors, don't scan origins if ignore_suspended_devices() is set. | |
3200 | Fix return type qualifier to avoid compiler warning. (2.02.69) | |
3201 | Automatically generate LSB Requires-Start for clvmd init script. | |
3202 | Fix return code of pvmove --abort PV. | |
3203 | Fix pvmove --abort to remove even for empty pvmove LV. | |
3204 | Add configure --with-default-data-alignment. | |
3205 | Update heuristic used for default and detected data alignment. | |
3206 | Add "devices/default_data_alignment" to lvm.conf. | |
3207 | Add implementation for simple numeric 'get' property functions. | |
3208 | Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get' function | |
3209 | Add properties.[ch] to lib/report using columns.h. | |
3210 | Add macro definitions to report infrastructure for character array length. | |
3211 | Remove explicit double quotes from columns.h 'id' entries. | |
3212 | Add 'flags' field to columns.h and define FIELD_MODIFIABLE. | |
3213 | Add vg_mda_size and vg_mda_free functions. | |
3214 | Simplify MD/swap signature detection in pvcreate and allow aborting. | |
3215 | Allow --yes to be used without --force mode. | |
3216 | Fix file descriptor leak in swap signature detection error path. | |
3217 | Detect and allow abort in pvcreate if LUKS signature is detected. | |
3218 | Always mask lock flags correctly when checking for LCK_WRITE. | |
3219 | ||
3220 | Version 2.02.73 - 18th August 2010 | |
3221 | ================================== | |
3222 | Fix potential for corruption during cluster mirror device failure. | |
3223 | Use 'SINGLENODE' instead of 'dead' in clvmd singlenode messages. | |
3224 | Ignore snapshots when performing mirror recovery beneath an origin. | |
3225 | Pass LCK_ORIGIN_ONLY flag around cluster. | |
3226 | Add suspend_lv_origin and resume_lv_origin using LCK_ORIGIN_ONLY. | |
3227 | Allow internal suspend and resume of origin without its snapshots. | |
3228 | Fix dev_manager_transient to access -real device not snapshot-origin. | |
3229 | Monitor origin -real device below snapshot instead of overlay device. | |
3230 | Don't really change monitoring status when in test mode. | |
3231 | Fix some exit statuses when starting/stopping monitoring fails. | |
3232 | Enable snapshot monitoring by default when dmeventd is enabled. | |
3233 | Move cloned libdevmapper-event client code from segments into lib/activate. | |
3234 | Fix 'lvconvert --splitmirrors' in cluster operation. | |
3235 | Fix clvmd init script exit code to return 4 when executed as non-root user. | |
3236 | Change default alignment of pe_start to 1MB. | |
3237 | Add --norestorefile option to pvcreate. | |
3238 | Require --restorefile when using pvcreate --uuid. | |
3239 | Recognise and give preference to md device partitions (blkext major). | |
3240 | Never scan internal LVM devices. | |
3241 | Don't ignore user-specified PVs in split-mirror operations. (2.02.71) | |
3242 | Fix data corruption bug in cluster mirrors. | |
3243 | Require logical volume(s) to be explicitly named for lvconvert --merge. | |
3244 | Avoid changing aligned pe_start as a side-effect of very verbose logging. | |
3245 | Use built-in rule for device aliases: block/ < dm- < disk/ < mapper/ < other. | |
3246 | Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes(). | |
3247 | Fix const warning in archive_file structure from archive.c. | |
3248 | Clean generated files .exported_symbols_generated, example.conf for distclean. | |
3249 | Handle failure of all mirrored log devices and all but one mirror leg. | |
3250 | Disallow 'mirrored' log type for cluster mirrors. | |
3251 | Do not use VPATH in include/Makefile. | |
3252 | Fix exported_symbols generation to use standard compiler arguments. | |
3253 | Use #include <> not "" in lvm2app.h which gets installed on the system. | |
3254 | Make lib and liblvm.device-mapper wait for include file generation. | |
3255 | Fix configure to supply DEFAULT_RUN_DIR to Makefiles. | |
3256 | Fix allocation of wrong number of mirror logs with 'remove' fault policy. | |
3257 | ||
3258 | Version 2.02.72 - 28th July 2010 [CVE-2010-2526] | |
3259 | ================================================= | |
3260 | Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. | |
3261 | Return controlled error if clvmd is run by non-root user. | |
3262 | Add configure --default-run-dir for /var/run/lvm. | |
3263 | Never use clvmd singlenode unless explicitly requested with -Isinglenode. | |
3264 | ||
3265 | Version 2.02.71 - 28th July 2010 | |
3266 | ================================ | |
3267 | Document LVM fault handling in doc/lvm_fault_handling.txt. | |
3268 | Make vgck warn about missing PVs. | |
3269 | Clarify help text for vg_mda_count. | |
3270 | Check if cluster log daemon is running before allowing cmirror create. | |
3271 | Add unit-tests dir. | |
3272 | Add configure --enable-testing and reports and report-generators dirs. | |
3273 | Correct LV list order used by lvconvert when splitting a mirror. | |
3274 | Check if LV with specified name already exists when splitting a mirror. | |
3275 | Fix suspend/resume logic for LVs resulting from splitting a mirror. | |
3276 | Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. | |
3277 | Switch cmirrord and clvmd to use dm_create_lockfile. | |
3278 | Allow clvmd pidfile to be configurable. | |
3279 | Update comments about memory handling in lvm2app.h. | |
3280 | Add more verbose messages while checking volume_list and hosttags settings. | |
3281 | Add log_error when strdup fails in {vg|lv}_change_tag(). | |
3282 | Remove unnecessary includes in liblvm files. | |
3283 | Use __attribute__ consistently throughout. | |
3284 | Fix redundant declarations and always compile with -Wredundant-decls. | |
3285 | Fix possible hang when all mirror images of a mirrored log fail. | |
3286 | Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. | |
3287 | Init mda->list in mda_copy. | |
3288 | Do not log backtrace in valid _lv_resume() code path. | |
3289 | Cleanup help strings in configure.in. | |
3290 | Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies. | |
3291 | Adjust vg_mda_copies if metadataignore given with vgextend or pvchange. | |
3292 | Adjust auto-metadata repair and caching logic to try to cope with empty mdas. | |
3293 | ||
3294 | Version 2.02.70 - 6th July 2010 | |
3295 | =============================== | |
3296 | Remove log directly if all mirror images of a mirrored log fail. | |
3297 | Randomly select which mdas to use or ignore. | |
3298 | Add some missing standard configure.in checks. | |
3299 | Add printf format attributes to yes_no_prompt and fix a caller. | |
3300 | Always pass unsuspended dm devices through persistent filter to other filters. | |
3301 | Move test for suspended dm devices ahead of other filters. | |
3302 | Fix another segfault in clvmd -R if no response from daemon. (2.02.68) | |
3303 | Remove superfluous suspended device counter from clvmd. | |
3304 | Fix lvm shell crash when input is entirely whitespace. | |
3305 | Update partial mode warning message. | |
3306 | Preserve memlock balance in clvmd when activation triggers a resume. | |
3307 | Restore the removemissing behaviour of lvconvert --repair --use-policies. | |
3308 | ||
3309 | Version 2.02.69 - 30th June 2010 | |
3310 | ================================ | |
3311 | Fix vgremove to allow removal of VG with missing PVs. (2.02.52) | |
3312 | Add metadata/vgmetadatacopies to lvm.conf. | |
3313 | Add --metadataignore to pvcreate and vgextend. | |
3314 | Add vg_mda_copies, pv_mda_used_count and vg_mda_used_count to reports. | |
3315 | Describe --vgmetadatacopies in lvm.conf and other man pages. | |
3316 | Add --[vg]metadatacopies to select number of mdas to use in a VG. | |
3317 | Make the metadata ignore bit control read/write metadata areas in a PV. | |
3318 | Add pvchange --metadataignore to set or clear a metadata ignore bit. | |
3319 | Refactor metadata code to prepare for --metadataignore / --vgmetadatacopies. | |
3320 | Ensure region_size of mirrored log does not exceed its full size. | |
3321 | Generate liblvm2app exported symbols from header file. | |
3322 | Preload libc locale messages to prevent reading it in memory locked state. | |
3323 | Fix handling of simultaneous mirror image and mirrored log image failure. | |
3324 | ||
3325 | Version 2.02.68 - 23rd June 2010 | |
3326 | ================================ | |
3327 | Fix clvmd initscript status to print only active clustered LVs. | |
3328 | Add lv_path to reports to offer full /dev pathname. | |
3329 | Fix typo in warning message about missing device with allocated data areas. | |
3330 | Add device name and offset to raw_read_mda_header error messages. | |
3331 | Honour log argument when down-converting stacked mirror. | |
3332 | Sleep to workaround clvmd -S race: socket closed early and server drops cmd. | |
3333 | Use early udev synchronization and update of dev nodes for clustered mirrors. | |
3334 | Remove incorrect inclusion of kdev_t.h from cmirrord/functions.h. | |
3335 | Add man pages for lvmconf and non-existent lvmsadc and lvmsar tools. | |
3336 | Exit successfully when using -o help (but not -o +help) with LVM reports. | |
3337 | Do not use internal DLM lock definitions in generic LVM2 clvmd code. | |
3338 | Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. | |
3339 | Fix lvm2cmd example in documentation. | |
3340 | Allow use of lvm2app and lvm2cmd headers in C++ code. | |
3341 | Remove unused #includes from clvmd files and introduce clvmd-common.h. | |
3342 | Move common inclusions to clvmd-common.h. | |
3343 | Use #include "" for libdevmapper.h and configure.h throughout tree. | |
3344 | Fix LVM_PATH expansion when exec_prefix=NONE. (2.02.67) | |
3345 | Fix segfault in clvmd -R if no response from daemon received. | |
3346 | ||
3347 | Version 2.02.67 - 4th June 2010 | |
3348 | =============================== | |
3349 | Handle failed restart of clvmd using -S switch properly. | |
3350 | Fix clvmd initscript restart command to start clvmd if not yet running. | |
3351 | Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries). | |
3352 | Require partial option in lvchange --refresh for partial LVs. | |
3353 | Do not fail lvm_init() if init_logging() or _init_rand() generates an errno. | |
3354 | Don't merge unchanged persistent cache file before dumping if tool scanned. | |
3355 | Fix incorrect memory pool deallocation while using vg_read for files. | |
3356 | Add --type parameter description to the lvcreate man page. | |
3357 | Replace strncmp kernel version number checks with proper ones. | |
3358 | Avoid selecting names under /dev/block if there is an alternative. | |
3359 | Update clustered log kernel module name to log-userspace for 2.6.31 onwards. | |
3360 | Add replicators' LVs to dtree for activation. | |
3361 | Supress activation message if there is a missing replicator VG. | |
3362 | Fix scripts/relpath.awk to work in mawk | |
3363 | Extend lock_vol to check for missing replicator VGs first. | |
3364 | Update _process_one_vg and process_each_lv_in_vg to populate cmd_vg. | |
3365 | Add cmd_vg structure and associated functions for replicator. | |
3366 | Extend _lv_each_dependency() to handle replicator dependencies. | |
3367 | Add check_replicator_segment() to catch internal replicator errors. | |
3368 | Initial support for replicator metadata. | |
3369 | Extend process_each_lv_in_vg() to provide list of failed lvnames. | |
3370 | Consistently return ECMD_FAILED if process_each_*lv() is interrupted. | |
3371 | ||
3372 | Version 2.02.66 - 20th May 2010 | |
3373 | =============================== | |
3374 | If unable to obtain snapshot percentage leave value blank on reports. | |
3375 | Add install_system_dirs and install_initscripts makefile targets. | |
3376 | Add configure options for system and locking directories. | |
3377 | Generate example.conf so default lvm.conf contents can be configured. | |
3378 | Install lvmconf script by default. | |
3379 | Remove unnecessary versioned dmeventd plugin symlinks. | |
3380 | Add tests for lvm_vgname_from_{pvid|device}. | |
3381 | Add lvm2app interfaces to lookup a vgname from a pvid and pvname. | |
3382 | Update pvchange to always obtain a vg handle for each pv to process. | |
3383 | Add find_vgname_from_{pvname|pvid} functions. | |
3384 | Add pvid_from_devname and lvmcache_vgname_from_pvid lvmcache functions. | |
3385 | Validate orphan and VG_GLOBAL lock order too. | |
3386 | Accept orphan VG names as parameters to lock_vol() and related functions. | |
3387 | Use is_orphan_vg in place of hard-coded prefix tests and add is_global_vg. | |
3388 | ||
3389 | Version 2.02.65 - 17th May 2010 | |
3390 | =============================== | |
3391 | Fix clvmd init script never to deactivate non-clustered volume groups. | |
3392 | Disallow vgchange --clustered if there are active mirrors or snapshots. | |
3393 | Introduce lv_is_mirrored. | |
3394 | Use /bin/bash for scripts with bashisms. | |
3395 | Skip internal lvm devices in scan if ignore_suspended_devices is set. | |
3396 | Do not merge old device cache after we run full scan. (2.02.56) | |
3397 | Add pkgconfigdir Makefile variable for make install override. | |
3398 | Configure pkgconfig udev and selinux dependencies. | |
3399 | Switch Libs.private to Requires.private in devmapper.pc and lvm2app.pc. | |
3400 | Use pkgconfig Requires.private for devmapper-event.pc. | |
3401 | Add libdevmapper to linked libdevmapper-event.so. | |
3402 | Link liblvm2cmd.so with libdevmapper-event and libdevmapper. | |
3403 | Fix truncated total size displayed by pvscan. | |
3404 | Add new --sysinit compound option to vgchange and lvchange. | |
3405 | Drop duplicate errors for read failures and missing devices to verbose level. | |
3406 | Use $(libdir)/lvm2 with make install_lvm2_plugin. | |
3407 | Use $(libdir)/device-mapper with make install_dm_plugin. | |
3408 | Add dm_list_splice() function to join two lists together. | |
3409 | ||
3410 | Version 2.02.64 - 30th April 2010 | |
3411 | ================================= | |
3412 | Avoid pointless initialisation when the 'version' command is run directly. | |
3413 | Fix memory leak for invalid regex pattern input. | |
3414 | Display invalid regex pattern for filter configuration in case of error. | |
3415 | Remove no-longer-used arg_ptr_value. | |
3416 | Fix -M and --type to use strings, not pointers that change on config refresh. | |
3417 | Fix lvconvert error message when existing mirrored LV is not found. | |
3418 | Set appropriate udev flags for reserved LVs. | |
3419 | Disallow the direct removal of a merging snapshot. | |
3420 | Don't preload the origin when removing a snapshot whose merge is pending. | |
3421 | Disallow the addition of mirror images while a conversion is happening. | |
3422 | Disallow primary mirror image removal when mirror is not in-sync. | |
3423 | Remove obsolete --name parameter from vgcfgrestore. | |
3424 | Add -S command to clvmd to restart the daemon preserving exclusive locks. | |
3425 | Increment lvm2app version from 1 to 2 (memory allocation changes). | |
3426 | Change lvm2app memory alloc/free for pv/vg/lv properties. | |
3427 | Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency. | |
3428 | Install symbolic .so links with relative paths between usrlibdir and libdir. | |
3429 | Add awk script relpath.awk to calculate paths for relative symlinks. | |
3430 | Use @AWK@ in makefiles. | |
3431 | Fix double DESTDIR usage for infodir and mandir. | |
3432 | ||
3433 | Version 2.02.63 - 14th April 2010 | |
3434 | ================================= | |
3435 | Rename lvm_dump.sh to lvmdump.sh. | |
3436 | Allow incomplete mirror restore in lvconvert --repair upon insufficient space. | |
3437 | Do not reset position in metadata ring buffer on vgrename and vgcfgrestore. | |
3438 | Allow VGs with active LVs to be renamed. | |
3439 | Use UUIDs instead of names while processing event handlers. | |
3440 | Only pass visible LVs to tools in cmdline VG name/tag expansions without -a. | |
3441 | Use typedefs for toollib process_each functions. | |
3442 | Use C locales and use_mlockall for clvmd. | |
3443 | Refactor code related to vg->pvs list and add pv->vg link. | |
3444 | Mask LCK_HOLD flag in cluster VG locks for backwards compatibility. | |
3445 | Add activation/polling_interval to lvm.conf as --interval default. | |
3446 | Don't ignore error if resuming any LV fails in resume_lvs. | |
3447 | Skip closing persistent filter cache file if open failed. | |
3448 | Install .a and .so links into $(usrlibdir). | |
3449 | Add --enable-write_install options to install user-writable files. | |
3450 | Use INSTALL_PROGRAM/DATA/WDATA target. | |
3451 | Switch from using VPATH to vpath in Makefiles. | |
3452 | Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert. | |
3453 | Fix pvmove allocation to take existing parallel stripes into account. | |
3454 | Add pvmove_source_seg to struct lv_segment. | |
3455 | Fix incorrect removal of symlinks after LV deactivation fails. | |
3456 | Fix is_partitioned_dev not to attempt to reopen device. | |
3457 | Fix another thread race in clvmd. | |
3458 | Refactor management of vg->pvs list. | |
3459 | Fix lcov rules and generate better coverage report. | |
3460 | Improve vg_validate to detect some loops in lists. | |
3461 | Change most remaining log_error WARNING messages to log_warn. | |
3462 | Always use blocking lock for VGs and orphan locks. | |
3463 | Allocate all memory for segments from private VG mempool. | |
3464 | Return newly allocated PV segment after segment split. | |
3465 | Optimise searching PV segments for seeking the most recently-added. | |
3466 | Remove vg_validate call when parsing cached metadata. | |
3467 | Use hash table of LVs to speed up parsing of text metadata with many LVs. | |
3468 | Fix two vg_validate messages, adding whitespace and parentheses. | |
3469 | When dmeventd is not forking because of -d flag, don't kill parent process. | |
3470 | Fix 'make install' when $(builddir) is different from $(srcdir). | |
3471 | Fix dso resource leak in error path of dmeventd. | |
3472 | Use C locales and use_mlockall for dmeventd. | |
3473 | Fix --alloc contiguous policy only to allocate one set of parallel areas. | |
3474 | Do not allow {vg|lv}change --ignoremonitoring if on clustered VG. | |
3475 | Improved dependency tracking for dmeventd and liblvm2cmd sources. | |
3476 | Improved Makefile rules for distclean and cflow targets. | |
3477 | Add ability to create mirrored logs for mirror LVs. | |
3478 | Fix clvmd cluster propagation of dmeventd monitoring mode. | |
3479 | Allow ALLOC_ANYWHERE to split contiguous areas. | |
3480 | Use INTERNAL_ERROR for internal errors throughout tree. | |
3481 | Add some assertions to allocation code. | |
3482 | Introduce pv_area_used into allocation algorithm and add debug messages. | |
3483 | Add activation/monitoring to lvm.conf. | |
3484 | Add --monitor and --ignoremonitoring to lvcreate. | |
3485 | Allow dynamic extension of array of areas selected as allocation candidates. | |
3486 | Export and use only valid cookie value in test suite. | |
3487 | Remove const modifier for struct volume_group* from process_each_lv_in_vg(). | |
3488 | Don't allow resizing of internal logical volumes. | |
3489 | Fix libdevmapper-event pkgconfig version string to match libdevmapper. | |
3490 | Avoid scanning all pvs in the system if operating on a device with mdas. | |
3491 | Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure. | |
3492 | Get stacktrace if testsuite test drops core and lvm was built with debugging. | |
3493 | Disable long living process flag in lvm2app. | |
3494 | Fix pvcreate device md filter check. | |
3495 | Suppress repeated errors about the same missing PV uuids. | |
3496 | Bypass full device scans when using internally-cached VG metadata. | |
3497 | Only do one full device scan during each read of text format metadata. | |
3498 | Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls. | |
3499 | Look up missing PVs by uuid not dev_name in _pvs_single to avoid invalid stat. | |
3500 | Make find_pv_in_vg_by_uuid() return same type as related functions. | |
3501 | Introduce is_missing_pv(). | |
3502 | Fix clvmd Makefile to not overwrite LIBS from template definition. | |
3503 | ||
3504 | Version 2.02.62 - 9th March 2010 | |
3505 | ================================ | |
3506 | Add use_mlockall and mlock_filter to activation section of lvm.conf. | |
3507 | Add default alternative to mlockall using mlock to reduce pinned memory size. | |
3508 | Remove -rdynamic from static builds. | |
3509 | Update checks for pthread, readline & selinux libs and link only when needed. | |
3510 | Introduce makefile vars UDEV_LIBS, DL_LIBS, SELINUX_LIBS, STATIC_LIBS. | |
3511 | Introduce makefile vars LVMINTERNAL_LIBS, READLINE_LIBS, PTHREAD_LIBS. | |
3512 | Toggle configure help to print --disable-fsadm. | |
3513 | Use $() instead of ${} consistently for all Makefile variables. | |
3514 | Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere. | |
3515 | Use $(top_builddir) for inclusion of make.tmpl in Makefiles. | |
3516 | Fix autoconf warning about ignored datarootdir. | |
3517 | Increase AC_PREREQ version to 2.61 (for AC_PROC_SED, AC_PROG_MKDIR_P). | |
3518 | Handle misaligned devices that report alignment_offset of -1. | |
3519 | Extend core allocation code in preparation for mirrored log areas. | |
3520 | Rewrite clvmd init script. | |
3521 | Remove lvs_in_vg_activated_by_uuid_only call. | |
3522 | No longer fall back to looking up active devices by name if uuid not found. | |
3523 | Don't touch /dev in vgmknodes if activation is disabled. | |
3524 | Update lvm2app.h Doxygen comments and add lvm2app Doxygen config file. | |
3525 | Update nightly tests and lvm2app unit tests to cover tags. | |
3526 | Add lvm2app functions lvm_{vg|lv}_{get|add|remove}_tag() functions. | |
3527 | Add dm_pool_strdup to allocate and copy memory in tag library function. | |
3528 | Refactor vgcreate, vgchange, and lvchange for tag library function. | |
3529 | Refactor snapshot-merge deptree and device removal to support info-by-uuid. | |
3530 | ||
3531 | Version 2.02.61 - 15th February 2010 | |
3532 | ==================================== | |
3533 | Fix some consts and floating point gcc warnings. | |
3534 | Fix dm_report_field_uint64 function to accept 64-bit ints. | |
3535 | Change readhead display to use 32-bit -1 const instead of 64-bit. | |
3536 | Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable. | |
3537 | Remove hard-coding that skipped _mimage devices from 11-dm-lvm.rules. | |
3538 | Use udev transactions in test suite. | |
3539 | Set udev state automatically instead of using LVM_UDEV_DISABLE_CHECKING. | |
3540 | Add lvm_pv_get_size, lvm_pv_get_free and lvm_pv_get_dev_size to lvm2app. | |
3541 | Change lvm2app to return all sizes in bytes as documented (not sectors). | |
3542 | Add 'fail_if_percent_unsupported' arg to _percent and _percent_run. | |
3543 | Remove false "failed to find tree node" error when activating merging origin. | |
3544 | Exit with success when lvconvert --repair --use-policies performs no action. | |
3545 | Accept a list of LVs with 'lvconvert --merge @tag' using process_each_lv. | |
3546 | Avoid unnecessary second resync when adding mimage to core-logged mirror. | |
3547 | Exclude internal VG names and uuids from lists returned through lvm2app. | |
3548 | Add %ORIGIN support to lv{create,extend,reduce,resize} --extents. | |
3549 | Add _mda_copy to clone a struct metadata_area. | |
3550 | Remove pointless versioned symlinks to dmeventd plugin libraries. | |
3551 | Fix dmeventd snapshot plugin build dependency. | |
3552 | Make clvmd -V return status zero. | |
3553 | Remove unnecessary 'dmsetup resume' following 'dmsetup create' in tests. | |
3554 | Fix cmirrord segfault in clog_cpg list processing when converting mirror log. | |
3555 | Deactivate temporary pvmove mirror cluster-wide when activating it fails. | |
3556 | Always query device by uuid and not name in clvmd. | |
3557 | Add missing metadata vg_reverts in pvmove error paths. | |
3558 | Unlock shared lock in clvmd if activation calls fail. | |
3559 | Return success from dev_manager_info with non-existent uuid if ioctl succeeds. | |
3560 | ||
3561 | Version 2.02.60 - 23rd January 2010 | |
3562 | =================================== | |
3563 | Extend cmirrord man page. | |
3564 | Sleep before first progress check if pvmove/lvconvert interval has prefix '+'. | |
3565 | Default to checking progress before waiting in _wait_for_single_lv. | |
3566 | Fix cmirror initscript (including syntax error). | |
3567 | Eliminate avoidable ioctls for checking open_count in _add_new_lv_to_dtree. | |
3568 | Disable memory debugging if dmeventd is configured. (Not thread-safe.) | |
3569 | Fix first log message prefix in syslog for dmeventd plugins. | |
3570 | Fix exported symbols names for dmeventd lvm2 wrapper plugin. | |
3571 | Make failed locking initialisation messages more descriptive. | |
3572 | ||
3573 | Version 2.02.59 - 21st January 2010 | |
3574 | =================================== | |
3575 | Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. | |
3576 | Cleanup memory initialization and freeing in pv_read() and pv_create(). | |
3577 | Clear pointer and counters after their release in _fin_commands(). | |
3578 | Stop dmeventd trying to access already-removed snapshots. | |
3579 | Remove (fallback) /dev mknod from cmirrord. | |
3580 | Add t-topology-support.sh and t-snapshot-merge.sh tests. | |
3581 | Fix clvmd to never scan suspended devices. | |
3582 | Fix dmeventd build outside source tree. | |
3583 | Assorted cmirror code changes to remove various compiler warnings. | |
3584 | Fix detection of completed snapshot merge. | |
3585 | Add Red Hat cmirror initscript (unfinished). | |
3586 | Add cmirrord man page (incomplete). | |
3587 | Make cluster log communication structures architecture independant. | |
3588 | Fix cluster log in-memory bitmap handling. | |
3589 | Improve snapshot merge metadata import validation. | |
3590 | Improve target type compatibility checking in _percent_run(). | |
3591 | Add 'target_status_compatible' method to 'struct segtype_handler'. | |
3592 | Change underscore to hyphen in table line for clustered log type. | |
3593 | ||
3594 | Version 2.02.58 - 14th January 2010 | |
3595 | =================================== | |
3596 | Cleanup some minor gcc warnings. | |
3597 | Add --merge to lvconvert to merge a snapshot into its origin. | |
3598 | Fix clvmd automatic target module loading crash (no reset_locking fn). | |
3599 | Fix allocation code not to stop at the first area of a PV that fits. | |
3600 | ||
3601 | Version 2.02.57 - 12th January 2010 | |
3602 | =================================== | |
3603 | Ensure exactly one process returns from poll_daemon(), never two. | |
3604 | Reset _vgs_locked in lvmcache_init() in child after forking. | |
3605 | Define {DM, LVM}_UDEV_DISABLE_CHECKING=1 environment variables during tests. | |
3606 | Enable udev_sync and udev_rules in lvm.conf by default while running tests. | |
3607 | If LVM_UDEV_DISABLE_CHECKING in set in environment, disable udev warnings. | |
3608 | Add --splitmirrors to lvconvert to split off part of a mirror. | |
3609 | Change background polldaemon's process name to "(lvm2)". | |
3610 | Allow vgremove to remove a VG with PVs missing after a prompt. | |
3611 | Return success in lvconvert --repair --use-policies on failed allocation. | |
3612 | Keep log type consistent when changing mirror image count. | |
3613 | Always set environment variables for an LVM2 device in 11-dm-lvm.rules. | |
3614 | Add activation/udev_rules config option in lvm.conf. | |
3615 | Add consts to text metadata flag structs. | |
3616 | Add macros outfc, outsize, outhint and function out_text_with_comment. | |
3617 | Reimplement report FIELD macro using offsetof instead of static structs. | |
3618 | Fix fsadm man page typo (fsdam). | |
3619 | Rename mirror_device_fault_policy to mirror_image_fault policy. | |
3620 | Remove empty PV devices if lvconvert --repair is using defined policies. | |
3621 | Use fixed buffer to prevent stack overflow in persistent filter dump. | |
3622 | Use extended status of new kernel snapshot target 1.8.0 to detect when empty. | |
3623 | Insert stack macros in suspend_lv, resume_lv & (de)activate_lv callers. | |
3624 | Add --poll flag to vgchange and lvchange to control background daemon launch. | |
3625 | Propagate metadata commit and revert notifications to other cluster nodes. | |
3626 | Use proper mask for VG lock mode in clvmd. | |
3627 | Allow precommitted metadata to be dropped from lvmcache. | |
3628 | Move processing of VG locks to separate function in clvmd. | |
3629 | Properly decode all flags in clvmd messages including VG locks. | |
3630 | Properly handle precommitted cache flag when only committed metadata present. | |
3631 | Resume renamed volumes in reverse order to preserve memlock pairing. | |
3632 | Drop cached metadata after device was auto-repaired and removed from VG. | |
3633 | Clear MISSING_PV flag if PV reappeared and is empty. | |
3634 | Fix removal of multiple devices from a mirror. | |
3635 | Also clean up PVs flagged as missing in vgreduce --removemissing --force. | |
3636 | Introduce INTERNAL_ERROR macro for error messages and use throughout. | |
3637 | Remove superfluous returns from void functions. | |
3638 | Destroy allocated mempool in _vg_read_orphans() error path. | |
3639 | Fix some pvresize and toollib error paths with missing VG releases/unlocks. | |
3640 | Explicitly call suspend for temporary mirror layer. | |
3641 | Allow use of precommitted metadata when a PV is missing. | |
3642 | Add memlock information to do_lock_lv debug output. | |
3643 | Always bypass calls to remote cluster nodes for non-clustered VGs. | |
3644 | Permit implicit cluster lock conversion in pre/post callbacks on local node. | |
3645 | Permit implicit cluster lock conversion to the lock mode already held. | |
3646 | Fix lock flag masking in clvmd so intended code paths get invoked. | |
3647 | Replace magic masks in cluster locking code by defined masks. | |
3648 | Remove newly-created mirror log from metadata if initial deactivation fails. | |
3649 | Correct activated or deactivated text in vgchange summary message. | |
3650 | Improve pvmove error message when all source LVs are skipped. | |
3651 | Fix memlock imbalance in lv_suspend if already suspended. | |
3652 | Fix pvmove test mode not to poll (and fail). | |
3653 | Fix vgcreate error message if VG already exists. | |
3654 | Fix tools to use log_error when aborted due to user response to prompt. | |
3655 | Fix ignored readahead setting in lvcreate --readahead. | |
3656 | Fix clvmd memory leak in lv_info_by_lvid by calling release_vg. | |
3657 | If aborting due to internal error, always send that message to stderr. | |
3658 | Add global/abort_on_internal_errors to lvm.conf to assist testing. | |
3659 | Fix test Makefiles when builddir and srcdir differ. | |
3660 | Impose limit of 8 mirror images to match the in-kernel kcopyd restriction. | |
3661 | Use locking_type 3 (compiled in) for lvmconf --enable-cluster. | |
3662 | Remove list.c and list.h with no-longer-used dm_list macros and functions. | |
3663 | Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin. | |
3664 | Extend internal PV/VG/LV/segment status variables from 32-bit to 64-bit. | |
3665 | ||
3666 | Version 2.02.56 - 24th November 2009 | |
3667 | ==================================== | |
3668 | Add missing vg_release to pvs and pvdisplay to fix memory leak. | |
3669 | Do not try to unlock VG which is not locked in _process_one_vg. | |
3670 | Move is_long_lived persistent_filter_dump to happen after every full scan. | |
3671 | Refresh device filters before full device rescan in lvmcache. | |
3672 | Return error status if vgchange fails to activate some volume. | |
3673 | Fix suspend/resume lock type test causing unbalanced memory locking. | |
3674 | Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55) | |
3675 | ||
3676 | Version 2.02.55 - 19th November 2009 | |
3677 | ==================================== | |
3678 | Fix deadlock when changing mirrors due to unpaired memlock refcount changes. | |
3679 | Use separate memlock counter for dmeventd handlers to permit device scanning. | |
3680 | Directly restrict vgchange to activating visible LVs. | |
3681 | Fix pvmove region_size overflow for very large PVs. | |
3682 | Fix lvcreate and lvresize %PVS argument always to use sensible total size. | |
3683 | Tidy some uses of arg_count and introduce arg_is_set. | |
3684 | Export outnl and indent functions for modules. | |
3685 | Flush stdout after yes/no prompt. | |
3686 | Update vgsplit and vgcreate to use vg_set_clustered. | |
3687 | Add vg_mda_count and vg_set_clustered library functions. | |
3688 | Add more vgcreate and vgsplit nightly tests. | |
3689 | Insert some missing stack macros into activation code. | |
3690 | Recognise DRBD devices and handle them like md devices. | |
3691 | ||
3692 | Version 2.02.54 - 26th October 2009 | |
3693 | =================================== | |
3694 | Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter. | |
3695 | Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages. | |
3696 | Permit snapshots of mirrors. | |
3697 | Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. | |
3698 | Fix clvmd segfault when refresh_toolcontext fails. | |
3699 | Remember to clear 'global lock held during cache refresh' state after use. | |
3700 | Use udev flags support in LVM and apply various fixes to udev rules. | |
3701 | Delay announcing mirror monitoring to syslog until initialisation succeeded. | |
3702 | Handle metadata with unknown segment types more gracefully. | |
3703 | Set default owner and group to null. | |
3704 | Add dmeventd.static to the build. | |
3705 | Disable realtime support code by default. | |
3706 | Make clvmd return 0 on success rather than 1. | |
3707 | Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. | |
3708 | Add implict pvcreate support to vgcreate and vgextend. | |
3709 | Correct example.conf to indicate that lvm2 not lvm1 is the default format. | |
3710 | Remove an unused stray LVM1_SUPPORT ifdef. | |
3711 | Only include selinux libs in libdevmapper.pc when selinux build enabled. | |
3712 | Allow for a build directory separate from the source. | |
3713 | Update distclean target for rename clogd to cmirrord. (2.02.52) | |
3714 | Only do lock conversions in clvmd if we are explicitly asked for one. | |
3715 | Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. | |
3716 | Factor out poll_mirror_progress and introduce progress_t. | |
3717 | Distinguish between powers of 1000 and powers of 1024 in unit suffixes. | |
3718 | Restart lvconverts in vgchange by sharing lv_spawn_background_polling. | |
3719 | Generalise polldaemon code by changing mirror-specific variable names. | |
3720 | Don't attempt to deactivate an LV if any of its snapshots are in use. | |
3721 | Return error if lv_deactivate fails to remove device from kernel. | |
3722 | Provide alternative implementation of obsolete siginterrupt(). | |
3723 | Consolidate LV allocation into alloc_lv(). | |
3724 | Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) | |
3725 | Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. | |
3726 | Add configure --enable-units-compat to set si_unit_consistency off by default. | |
3727 | Add global/si_unit_consistency to enable cleaned-up use of units in output. | |
3728 | ||
3729 | Version 2.02.53 - 25th September 2009 | |
3730 | ===================================== | |
3731 | Create any directories in /dev with DM_DEV_DIR_UMASK (022). | |
3732 | Enable dmeventd monitoring section of config file by default. | |
3733 | Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. | |
3734 | Fix lvm2app test to run under test/api subdirectory only when configured. | |
3735 | Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. | |
3736 | ||
3737 | Version 2.02.52 - 15th September 2009 | |
3738 | ===================================== | |
3739 | Update _process_one_vg to cleanup properly after vg_read_error. | |
3740 | Add lots of missing stack debug messages to tools. | |
3741 | Make readonly locking available as locking type 4. | |
3742 | Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49) | |
3743 | Add DM_UDEV_RULES_VSN environment variable to udev rules. | |
3744 | Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules. | |
3745 | Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t. | |
3746 | Enforce an alphabetical lock ordering on vgname locking. | |
3747 | Prioritise write locks over read locks by default for file locking. | |
3748 | Add local lock files with suffix ':aux' to serialise locking requests. | |
3749 | Fix global locking in PV reporting commands (2.02.49). | |
3750 | Fix pvcreate string termination in duplicate uuid warning message. | |
3751 | Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). | |
3752 | Fix vgcfgrestore error paths when locking fails (2.02.49). | |
3753 | Update Makefile distclean target. | |
3754 | Add libudev configuration check. | |
3755 | Make clvmd check corosync to see what cluster interface it should use. | |
3756 | Add clvmd autodetection check and cleanup related configure messages. | |
3757 | Rewrite clvmd configuration code to cope with all combinations of libs. | |
3758 | Added configure --enable-cmirrord to build the cluster mirror log daemon. | |
3759 | Rename clogd to cmirrord. | |
3760 | Make lvchange --refresh only take a read lock on volume group. | |
3761 | Fix race where non-blocking file locks could be granted in error. | |
3762 | Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). | |
3763 | Fix compile warning in clvmd. | |
3764 | Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. | |
3765 | Remove useless _pv_write wrapper. | |
3766 | Add lvm2app.sh to tests conditional upon configure --enable-applib. | |
3767 | Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial. | |
3768 | Update lvm_vg_remove to require lvm_vg_write to commit remove to disk. | |
3769 | Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. | |
3770 | ||
3771 | Version 2.02.51 - 6th August 2009 | |
3772 | ================================= | |
3773 | Fix locking in clvmd (2.02.50). | |
3774 | Add --noudevsync option for relevant LVM tools. | |
3775 | Add activation/udev_sync to lvm.conf. | |
3776 | Only change LV symlinks on ACTIVATE not PRELOAD. | |
3777 | Make lvconvert honour log mirror options combined with downconversion. | |
3778 | Allow LV suspend while --ignorelockingfailure is in force. | |
3779 | Update synopsis in lvconvert manpage to mention --repair. | |
3780 | Set cookies in activation code and wait for udev to complete processing. | |
3781 | Added configure --enable-udev_rules --enable-udev_sync. | |
3782 | Added configure --with-udev-prefix --with-udevdir. | |
3783 | Added udev dir to hold udev rules. | |
3784 | Add devices/data_alignment_detection to lvm.conf. | |
3785 | Add devices/data_alignment_offset_detection to lvm.conf. | |
3786 | Add --dataalignmentoffset to pvcreate to shift start of aligned data area. | |
3787 | Fix _mda_setup() to not check first mda's size before pe_align rounding. | |
3788 | Document -I option of clvmd in the man page. | |
3789 | Fix configure script to handle multiple clvmd selections. | |
3790 | Fix lvm2app.pc installation filename. | |
3791 | Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. | |
3792 | Rename lvm.h to lvm2app.h for now. | |
3793 | ||
3794 | Version 2.02.50 - 28th July 2009 | |
3795 | ================================ | |
3796 | Change test/api/test.c prompt so it's not confused with the main lvm prompt. | |
3797 | Update liblvm unit tests in test/api to cover latest liblvm changes. | |
3798 | Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm. | |
3799 | Add lvm_library_get_version to liblvm. | |
3800 | Add lvm_config_override to liblvm to allow caller to override LVM config. | |
3801 | Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm. | |
3802 | Add lvm_lv_activate and lvm_lv_deactivate to liblvm. | |
3803 | Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm. | |
3804 | Add functions to get numeric properties to liblvm. | |
3805 | Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm. | |
3806 | Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm. | |
3807 | Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm. | |
3808 | Add lvm_list_vg_names/uuids to liblvm. | |
3809 | Add lvm_errno and lvm_errmsg to liblvm to obtain failure information. | |
3810 | Rename lvm_create/destroy to lvm_init/quit. | |
3811 | Rename lvm_reload_config to lvm_config_reload. | |
3812 | Refactor _override_settings to use new override_config_tree_from_string. | |
3813 | Add vg_reduce to metadata.c and metadata-exported.h. | |
3814 | Update lvm.h to clarify API behavior and return codes. | |
3815 | Update lvm_vg_extend to do an implicit pvcreate on the device. | |
3816 | Update display.c to use vg_free(vg) instead of duplicating the calculation. | |
3817 | Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm. | |
3818 | Refactor pvcreate and lvcreate for liblvm. | |
3819 | Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. | |
3820 | All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. | |
3821 | Fix race condition with vgcreate and vgextend on same device (2.02.49). | |
3822 | Remove redundant validate_name call from vgreduce. | |
3823 | Remove unused handles lvseg, pvseg inside liblvm/lvm.h. | |
3824 | Add liblvm2app Makefile installation targets. | |
3825 | Add liblvm pkgconfig file. | |
3826 | Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. | |
3827 | Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. | |
3828 | Pass a pointer to struct cmd_context to init_multiple_segtypes | |
3829 | Return EINVALID_CMD_LINE not success when invalid VG name format is used. | |
3830 | Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). | |
3831 | Add log_errno to set a specific errno and replace log_error in due course. | |
3832 | Change create_toolcontext to still return an object if it fails part-way. | |
3833 | Add EUNCLASSIFIED (-1) as the default LVM errno code. | |
3834 | Store any errno and error messages issued while processing each command. | |
3835 | Use log_error macro consistently throughout in place of log_err. | |
3836 | ||
3837 | Version 2.02.49 - 15th July 2009 | |
3838 | ================================ | |
3839 | Add readonly locking type to replace implementation of --ignorelockingfailure. | |
3840 | Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. | |
3841 | Add unit test case for liblvm VG create/delete APIs. | |
3842 | Add liblvm APIs to implement creation and deletion of VGs. | |
3843 | Initialize cmd->cmd_line to "liblvm" in new liblvm library. | |
3844 | Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h. | |
3845 | Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. | |
3846 | Use _exit() not exit() after forking to avoid flushing libc buffers twice. | |
3847 | Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. | |
3848 | Make cmd->cmd_line const. | |
3849 | Fix dev name mismatch in vgcreate man page example. | |
3850 | Refactor vg_remove_single for use in liblvm. | |
3851 | Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second. | |
3852 | Check md devices for a partition table during device scan. | |
3853 | Add extended device (blkext) and md partition (mdp) types to filters. | |
3854 | Make text metadata read errors for segment areas more precise. | |
3855 | Fix text segment metadata read errors to mention correct segment name. | |
3856 | Include segment and LV names in text segment import error messages. | |
3857 | Add parent node to config_node structure. | |
3858 | Update vgsplit and vgcreate to call new vg_create and 'set' functions. | |
3859 | Change vg_create to take minimal parameters, obtain a lock, and return vg_t. | |
3860 | Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm. | |
3861 | Update t-vgcreate-usage.sh to test for default vg properties. | |
3862 | Fix memory leak in vgsplit when re-reading the vg. | |
3863 | Make various exit/cleanup paths more robust after lvm init failures. | |
3864 | Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. | |
3865 | Remove unnecessary locking and existence tests from new vg_read() interface. | |
3866 | Permit several segment types to be registered by a single shared object. | |
3867 | Update the man pages to document size units uniformly. | |
3868 | Allow commandline sizes to be specified in terms of bytes and sectors. | |
3869 | Update 'md_chunk_alignment' to use stripe-width to align PV data area. | |
3870 | Update test/t-inconsistent-metadata.sh to match new vg_read interface. | |
3871 | Add lvmcache_init() to polldaemon initialization. | |
3872 | Convert tools to use new vg_read / vg_read_for_update. | |
3873 | Fix segfault in vg_release when vg->cmd is NULL. | |
3874 | ||
3875 | Version 2.02.48 - 30th June 2009 | |
3876 | ================================ | |
3877 | Abort if automatic metadata correction fails when reading VG to update it. | |
3878 | Explicitly request fallback to default major number in device mapper. | |
3879 | Ignore suspended devices during repair. | |
3880 | Call vgreduce --removemissing automatically to fix missing PVs in dmeventd. | |
3881 | Suggest using lvchange --resync when adding leg to not-yet-synced mirror. | |
3882 | Destroy toolcontext on clvmd exit to avoid memory pool leaks. | |
3883 | Fix lvconvert not to poll mirror if no conversion in progress. | |
3884 | Fix memory leaks in toolcontext error path. | |
3885 | Reinstate partial activation support in clustered mode. (2.02.40) | |
3886 | Allow metadata correction even when PVs are missing. | |
3887 | Use 'lvm lvresize' instead of 'lvresize' in fsadm. | |
3888 | Do not use '-n' realine option in fsadm for busybox compatiblity. | |
3889 | Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. | |
3890 | Round up requested readahead to at least one page and print warning. | |
3891 | Try to repair vg before actual vgremove when force flag provided. | |
3892 | Fix possible double release of VG after recovery. | |
3893 | Add parameter to process_each_vg specifying what to do with inconsistent VG. | |
3894 | Unify error messages when processing inconsistent volume group. | |
3895 | Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. | |
3896 | Introduce lvconvert --use_policies (repair policy according to lvm.conf). | |
3897 | Update clvmd-corosync to match new corosync API. | |
3898 | Fix lib Makefile to include any shared libraries in default target. | |
3899 | Fix rename of active snapshot with virtual origin. | |
3900 | Fix convert polling to ignore LV with different UUID. | |
3901 | Cache underlying device readahead only before activation calls. | |
3902 | Fix segfault when calculating readahead on missing device in vgreduce. | |
3903 | Remove verbose 'visited' messages. | |
3904 | Handle multi-extent mirror log allocation when smallest PV has only 1 extent. | |
3905 | Add LSB standard headers and functions (incl. reload) to clvmd initscript. | |
3906 | When creating new LV, double-check that name is not already in use. | |
3907 | Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. | |
3908 | Rename internal vorigin LV to match visible LV. | |
3909 | Suppress 'removed' messages displayed when internal LVs are removed. | |
3910 | Fix lvchange -a and -p for sparse LVs. | |
3911 | Fix lvcreate --virtualsize to activate the new device immediately. | |
3912 | Make --snapshot optional with lvcreate --virtualsize. | |
3913 | Generalise --virtualoriginsize to --virtualsize. | |
3914 | Skip virtual origins in process_each_lv_in_vg() without --all. | |
3915 | Fix counting of virtual origin LVs in vg_validate. | |
3916 | Attempt to load dm-zero module if zero target needed but not present. | |
3917 | ||
3918 | Version 2.02.47 - 22nd May 2009 | |
3919 | =============================== | |
3920 | Rename liblvm.so to liblvm2app.so and use configure --enable-applib. | |
3921 | Reinstate version in liblvm2cmd.so soname. (2.02.44) | |
3922 | ||
3923 | Version 2.02.46 - 21st May 2009 | |
3924 | =============================== | |
3925 | Inherit readahead setting from underlying devices during activation. | |
3926 | Detect LVs active on remote nodes by querying locks if supported. | |
3927 | Enable online resizing of mirrors. | |
3928 | Use suspend with flush when device size was changed during table preload. | |
3929 | Implement query_resource_fn for cluster_locking. | |
3930 | Support query_resource_fn in locking modules. | |
3931 | Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. | |
3932 | Fix pvmove to revert operation if temporary mirror creation fails. | |
3933 | Fix metadata export for VG with missing PVs. | |
3934 | Add vgimportclone and install it and the man page by default. | |
3935 | Force max_lv restriction only for newly created LV. | |
3936 | Remove unneeded import parameter from lv_create_empty. | |
3937 | Merge lv_is_displayable and lv_is_visible functions. | |
3938 | Introduce lv_set_visible & lv_set_hidden functions. | |
3939 | Fix lv_is_visible to handle virtual origin. | |
3940 | Introduce link_lv_to_vg and unlink_lv_from_vg functions. | |
3941 | Remove lv_count from VG and use counter function instead. | |
3942 | Fix snapshot segment import to not use duplicate segments & replace. | |
3943 | Do not query nonexistent devices for readahead. | |
3944 | Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. | |
3945 | Remove snapshot_count from VG and use function instead. | |
3946 | Fix first_seg() call for empty segment list. | |
3947 | Add install_lvm2 makefile target to install only the LVM2 components. | |
3948 | Reject missing PVs from allocation in toollib. | |
3949 | Fix PV datalignment for values starting prior to MDA area. (2.02.45) | |
3950 | Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). | |
3951 | Fix minimum width of devices column in reports. | |
3952 | Add lvs origin_size field. | |
3953 | Fix linux configure --enable-debug to exclude -O2. | |
3954 | Implement lvconvert --repair for repairing partially-failed mirrors. | |
3955 | Fix vgreduce --removemissing failure exit code. | |
3956 | Fix remote metadata backup for clvmd. | |
3957 | Introduce unlock_and_release_vg macro. | |
3958 | Introduce vg_release() to be called to free every struct volume_group. | |
3959 | Alloc PV internal structure from VG mempool if possible. | |
3960 | Fix metadata backup to run after vg_commit always. | |
3961 | Tidy clvmd volume lock cache functions. | |
3962 | Fix pvs report for orphan PVs when segment attributes are requested. | |
3963 | Fix pvs -a output to not read volume groups from non-PV devices. | |
3964 | Add MMC (mmcblk) device type to filters. | |
3965 | Introduce memory pools per volume group (to reduce memory for large VGs). | |
3966 | Use copy of PV structure when manipulating global PV lists. | |
3967 | Always return exit error status when locking of volume group fails. | |
3968 | Fix mirror log convert validation question. | |
3969 | Avoid referencing files from DESTDIR during build process. | |
3970 | Avoid creating some static libraries unless configured --enable-static_link. | |
3971 | Enable use of cached metadata for pvs and pvdisplay commands. | |
3972 | Add missing 'device-mapper' internal subdir build dependency. | |
3973 | Fix memory leak in mirror allocation code. | |
3974 | Save and restore the previous logging level when log level is changed. | |
3975 | Fix error message when archive initialization fails. | |
3976 | Make sure clvmd-corosync releases the lockspace when it exits. | |
3977 | Fix segfault for vgcfgrestore on VG with missing PVs. | |
3978 | Block SIGTERM & SIGINT in clvmd subthreads. | |
3979 | Detect and conditionally wipe swapspace signatures in pvcreate. | |
3980 | Fix maximal volume count check for snapshots if max_lv set for volume group. | |
3981 | Fix lvcreate to remove unused cow volume if the snapshot creation fails. | |
3982 | Fix error messages when PV uuid or pe_start reading fails. | |
3983 | Build new liblvm application-level library. | |
3984 | Rename liblvm.a to liblvm-internal.a. | |
3985 | Flush memory pool and fix locking in clvmd refresh and backup command. | |
3986 | Fix unlocks in clvmd-corosync. (2.02.45) | |
3987 | Fix error message when adding metadata directory to internal list fails. | |
3988 | Fix size and error message of memory allocation at backup initialization. | |
3989 | Remove old metadata backup file after renaming VG. | |
3990 | Restore log_suppress state when metadata backup file is up-to-date. | |
3991 | ||
3992 | Version 2.02.45 - 3rd March 2009 | |
3993 | ================================ | |
3994 | Avoid scanning empty metadata areas for VG names. | |
3995 | Attempt proper clean up in child before executing new binary in exec_cmd(). | |
3996 | Do not scan devices if reporting only attributes from PV label. | |
3997 | Use pkgconfig to obtain corosync library details during configuration. | |
3998 | Fix error returns in clvmd-corosync interface to DLM. | |
3999 | Add --refresh to vgchange and vgmknodes man pages. | |
4000 | Pass --test from lvresize to fsadm as --dry-run. | |
4001 | Supply argv[] list to exec_cmd() to allow for variable number of parameters. | |
4002 | Prevent fsadm from checking mounted filesystems. | |
4003 | No longer treats any other key as 'no' when prompting in fsadm. | |
4004 | Tidy fsadm command line processing. | |
4005 | Add lib/lvm.h and lib/lvm_base.c for the new library interface. | |
4006 | Move tools/version.h to lib/misc/lvm-version.h. | |
4007 | Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. | |
4008 | Add system_dir parameter to create_toolcontext(). | |
4009 | Add --dataalignment to pvcreate to specify alignment of data area. | |
4010 | Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. | |
4011 | Provide da and mda locations in debug message when writing text format label. | |
4012 | Mention the restriction on file descriptors at invocation on the lvm man page. | |
4013 | Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. | |
4014 | No longer require kernel and metadata major numbers to match. | |
4015 | Add a fully-functional get_cluster_name() to clvmd corosync interface. | |
4016 | Remove duplicate cpg_initialize from clvmd startup. | |
4017 | Add option to /etc/sysconfig/cluster to select cluster type for clvmd. | |
4018 | Allow clvmd to start up if its lockspace already exists. | |
4019 | Separate PV label attributes which do not need parse metadata when reporting. | |
4020 | Remove external dependency on the 'cut' command from fsadm. | |
4021 | Fix pvs segfault when pv mda attributes requested for not available PV. | |
4022 | Add fsadm support for reszing ext4 filesysystems. | |
4023 | Move locking_type reading inside init_locking(). | |
4024 | Rename get_vgs() to get_vgnames() and clarify related error messages. | |
4025 | Allow clvmd to be built with all cluster managers & select one on cmdline. | |
4026 | Mention --with-clvmd=corosync in ./configure. | |
4027 | Replace internal vg_check_status() implementation. | |
4028 | Rename vg_read() to vg_read_internal(). | |
4029 | ||
4030 | Version 2.02.44 - 26th January 2009 | |
4031 | =================================== | |
4032 | Fix --enable-static_link after the recent repository changes. | |
4033 | Add corosync/DLM cluster interface to clvmd. | |
4034 | Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. | |
4035 | Fix lvresize size conversion for fsadm when block size is not 1K. | |
4036 | Fix pvs segfault when run with orphan PV and some VG fields. | |
4037 | Display a 'dev_size' of zero for missing devices in reports. | |
4038 | Add pv_mda_size to pvs and vg_mda_size to vgs. | |
4039 | Fix lvmdump /sys listing to include virtual devices directory. | |
4040 | Add "--refresh" functionality to vgchange and vgmknodes. | |
4041 | Avoid exceeding LV size when wiping device. | |
4042 | Calculate mirror log size instead of using 1 extent. | |
4043 | Ensure requested device number is available before activating with it. | |
4044 | Fix incorrect exit status from 'help <command>'. | |
4045 | Fix vgrename using UUID if there are VGs with identical names. | |
4046 | Fix segfault when invalid field given in reporting commands. | |
4047 | Move is_static from cmd to global is_static(). | |
4048 | Refactor init_lvm() for lvmcmdline and clvmd. | |
4049 | Add liblvm interactive test infrastructure to build. | |
4050 | Add skeleton lvm2.h file in preparation for a shared library interface. | |
4051 | Use better random seed value in temp file creation. | |
4052 | Add read_urandom to read /dev/urandom. Use in uuid calculation. | |
4053 | Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. | |
4054 | Fix race in vgcreate that would result in second caller overwriting first. | |
4055 | Fix uninitialised lv_count in vgdisplay -c. | |
4056 | Don't skip updating pvid hash when lvmcache_info struct got swapped. | |
4057 | Add tinfo to termcap search path for pld-linux. | |
4058 | Fix startup race in clvmd. | |
4059 | Generate Red Hat clvmd startup script at config time with correct paths. | |
4060 | Fix clvmd & dmeventd builds after tree restructuring. | |
4061 | Cope with snapshot dependencies when removing a whole VG with lvremove. | |
4062 | Make man pages and tool help text consistent using | for alternative options. | |
4063 | ||
4064 | Version 2.02.43 - 10th November 2008 | |
4065 | ==================================== | |
4066 | Merge device-mapper into the lvm2 tree. | |
4067 | Correct prototype for --permission on lvchange and lvcreate man pages. | |
4068 | Exit with non-zero status from vgdisplay if couldn't show any requested VG. | |
4069 | Move list.c into libdevmapper and rename functions. | |
4070 | Rename a couple of variables that matched function names. | |
4071 | Use simplified x.y.z version number in libdevmapper.pc. | |
4072 | Remove ancient debian directory. | |
4073 | Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. | |
4074 | ||
4075 | Version 2.02.42 - 26th October 2008 | |
4076 | =================================== | |
4077 | Accept locking fallback_to_* options in the global section as documented. | |
4078 | Fix temp table activation in mirror conversions not to happen in other cmds. | |
4079 | Fix temp table in mirror conversions to use always-present error not zero. | |
4080 | ||
4081 | Version 2.02.41 - 17th October 2008 | |
4082 | =================================== | |
4083 | Use temp table to set device size when converting mirrors. | |
4084 | In resume_mirror_images replace activate_lv with resume_lv as workaround. | |
4085 | Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. | |
4086 | Fix snapshot monitoring library to not cancel monitoring invalid snapshot. | |
4087 | Generate man pages from templates and include version. | |
4088 | Add usrlibdir and usrsbindir to configure. | |
4089 | Fix conversion of md chunk size into sectors. | |
4090 | Free text metadata buffer after a failure writing it. | |
4091 | Fix misleading error message when there are no allocatable extents in VG. | |
4092 | Fix handling of PVs which reappeared with old metadata version. | |
4093 | Fix mirror DSO to call vgreduce with proper parameters. | |
4094 | Fix validation of --minor and --major in lvcreate to require -My always. | |
4095 | Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. | |
4096 | ||
4097 | Version 2.02.40 - 19th September 2008 | |
4098 | ===================================== | |
4099 | Allow lvremove to remove LVs from VGs with missing PVs. | |
4100 | In VG with PVs missing, by default allow activation of LVs that are complete. | |
4101 | Track PARTIAL_LV and MISSING_PV flags internally. | |
4102 | Require --force with --removemissing in vgreduce to remove partial LVs. | |
4103 | No longer write out PARTIAL flag into metadata backups. | |
4104 | Treat new default activation/missing_stripe_filler "error" as an error target. | |
4105 | Remove internal partial_mode. | |
4106 | Add devices/md_chunk_alignment to lvm.conf. | |
4107 | Pass struct physical_volume to pe_align and adjust for md chunk size. | |
4108 | Store sysfs location in struct cmd_context. | |
4109 | Avoid shuffling remaining mirror images when removing one, retaining primary. | |
4110 | Add missing LV error target activation in _remove_mirror_images. | |
4111 | Prevent resizing an LV while lvconvert is using it. | |
4112 | Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. | |
4113 | Fix pvresize to not allow resize if PV has two metadata areas. | |
4114 | Fix setting of volume limit count if converting to lvm1 format. | |
4115 | Fix vgconvert logical volume id metadata validation. | |
4116 | Fix lvmdump metadata gather option (-m) to work correctly. | |
4117 | Fix allocation bug in text metadata format write error path. | |
4118 | Fix vgcfgbackup to properly check filename if template is used. | |
4119 | configure aborts if lcov or genhtml are missing with --enable-profiling | |
4120 | vgremove tries to remove lv snapshot first. | |
4121 | Added function lv_remove_with_dependencies(). | |
4122 | Improve file descriptor leak detection to display likely culprit and filename. | |
4123 | Change clustered mirror kernel module name from cmirror to dm-log-clustered. | |
4124 | Avoid looping forever in _pv_analyze_mda_raw used by pvck. | |
4125 | Change lvchange exit status to indicate if any part of the operation failed. | |
4126 | Fix pvchange and pvremove to handle PVs without mdas. | |
4127 | Refactor _text_pv_read and always return mda list if requested. | |
4128 | Fix configure to work w/o readline unless --enable-readline used. (2.02.39) | |
4129 | Remove is_lvm_partition template which has not yet been coded. | |
4130 | Refactor pvcreate to separate parameter parsing from validation logic. | |
4131 | Check for label_write() failure in _text_pv_write(). | |
4132 | Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. | |
4133 | Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. | |
4134 | Cease recognising snapshot-in-use percentages returned by early devt kernels. | |
4135 | Add backward-compatible flags field to on-disk format_text metadata. | |
4136 | Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) | |
4137 | ||
4138 | Version 2.02.39 - 27th June 2008 | |
4139 | ================================ | |
4140 | Enable readline by default if available. | |
4141 | Update autoconf to 2008-01-16. | |
4142 | Add $DISTCLEAN_DIRS to make.tmpl.in. | |
4143 | Create coverage reports with --enable-profiling and make lcov or lcov-dated. | |
4144 | Fix up cache for PVs without mdas after consistent VG metadata is processed. | |
4145 | Update validation of safe mirror log type conversions in lvconvert. | |
4146 | Fix lvconvert to disallow snapshot and mirror combinations. | |
4147 | Fix reporting of LV fields alongside unallocated PV segments. | |
4148 | Add --unquoted and --rows to reporting tools. | |
4149 | Add and use uninitialized_var() macro to suppress invalid compiler warnings. | |
4150 | Introduce enum for md minor sb version to suppress compiler warning. | |
4151 | Avoid undefined return value after _memlock manipulation in lvm2_run. | |
4152 | Avoid link failure if configured without --enable-cmdlib or --enable-readline. | |
4153 | Make clvmd return at once if other nodes down in a gulm or openais cluster. | |
4154 | Fix and improve readahead 'auto' calculation for stripe_size. | |
4155 | Fix lvchange output for -r auto setting if auto is already set. | |
4156 | Add test case for readahead. | |
4157 | Avoid ambiguous use of identifier error_message_produced. | |
4158 | Begin syncing configure.in for merge/unification with device-mapper. | |
4159 | Fix add_mirror_images not to dereference uninitialized log_lv upon failure. | |
4160 | Don't call openlog for every debug line output by clvmd. | |
4161 | Add --force to lvextend and lvresize. | |
4162 | Fix vgchange not to activate component mirror volumes directly. | |
4163 | Fix test directory clean up in make distclean. | |
4164 | ||
4165 | Version 2.02.38 - 11th June 2008 | |
4166 | ================================ | |
4167 | Fix tracking of validity of PVs with no mdas in lvmcache. | |
4168 | Fix return values for reporting commands when run with no PVs, LVs, or VGs. | |
4169 | Add omitted unlock_vg() call when sigint_caught() during vg processing. | |
4170 | Fix free_count when reading pool metadata. | |
4171 | Fix segfault when using pvcreate on a device containing pool metadata. | |
4172 | Fix segfault after _free_vginfo by remembering to remove vginfo from list. | |
4173 | Tweak detection of invalid fid after changes to PVs in VG in _vg_read. | |
4174 | Revert assuming precommitted metadata is live when activating (unnecessary). | |
4175 | Drop cached metadata for disappearing VG in vgmerge. | |
4176 | In script-processing mode, stop if any command fails. | |
4177 | Warn if command exits with non-zero status code without a prior log_error. | |
4178 | Check lv_count in vg_validate. | |
4179 | Add --nameprefixes to reporting tools for field name prefix output format. | |
4180 | ||
4181 | Version 2.02.37 - 6th June 2008 | |
4182 | =============================== | |
4183 | Make clvmd-cman use a hash rather than an array for node updown info. | |
4184 | Correct config file line numbers in messages when parsing comments. | |
4185 | Drop cached metadata when renaming a VG. | |
4186 | Allow for vginfo changing during _vg_read. | |
4187 | Decode numbers in clvmd debugging output. | |
4188 | Add missing deactivation after activation failure in lvcreate -Zy. | |
4189 | When activating, if precommitted metadata is still cached, assume it's live. | |
4190 | When removing LV symlinks, skip any where the VG name is not determined. | |
4191 | Drop metadata cache if update fails in vg_revert or vg_commit. | |
4192 | Avoid spurious duplicate VG messages referring to VGs that are gone. | |
4193 | Drop dev_name_confirmed error message to debug level. | |
4194 | Fix setpriority error message to signed int. | |
4195 | Temporarily disable dmeventd mirror monitoring during lvchange --resync. | |
4196 | Refactor some vginfo manipulation code. | |
4197 | Add assertions to trap deprecated P_ and V_ lock usage. | |
4198 | Add missing mutex around clvmd lvmcache_drop_metadata library call. | |
4199 | Fix uninitialised mutex in clvmd if all daemons are not running at startup. | |
4200 | Avoid using DLM locks with LCK_CACHE type P_ lock requests. | |
4201 | When asked to drop cached committed VG metadata, invalidate cached PV labels. | |
4202 | Drop metadata cache before writing precommitted metadata instead of after. | |
4203 | Don't touch /dev in vgrename if activation is disabled. | |
4204 | ||
4205 | Version 2.02.36 - 29th April 2008 | |
4206 | ================================= | |
4207 | Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. | |
4208 | Fix lvresize to pass new size to fsadm when extending device. | |
4209 | Remove unused struct in clvmd-openais, and use correct node count. | |
4210 | Fix nodes list in clvmd-openais, and allow for broadcast messages. | |
4211 | Exclude VG_GLOBAL from internal concurrent VG lock counter. | |
4212 | Fix vgsplit internal counting of snapshot LVs. | |
4213 | Fix vgmerge snapshot_count when source VG contains snapshots. | |
4214 | Simplify clvmd-openais by using non-async saLckResourceLock. | |
4215 | Fix internal LV counter when a snapshot is removed. | |
4216 | Fix metadata corruption writing lvm1-formatted metadata with snapshots. | |
4217 | Fix lvconvert -m0 allocatable space check. | |
4218 | ||
4219 | Version 2.02.35 - 15th April 2008 | |
4220 | ================================= | |
4221 | Drop cached VG metadata before and after committing changes to it. | |
4222 | Rename P_global to P_#global. | |
4223 | Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) | |
4224 | Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) | |
4225 | Update vgsplit tests to verify loosening of active LV restriction. | |
4226 | Update vgsplit to only restrict split with active LVs involved in split. | |
4227 | Add lv_is_active() to determine whether an lv is active. | |
4228 | ||
4229 | Version 2.02.34 - 10th April 2008 | |
4230 | ================================= | |
4231 | Improve preferred_names lvm.conf example. | |
4232 | Fix vgdisplay 'Cur LV' field to match lvdisplay output. | |
4233 | Fix lv_count report field to exclude hidden LVs. | |
4234 | Add vg_is_clustered() helper function. | |
4235 | Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. | |
4236 | Update vgsplit tests for lvnames on the cmdline. | |
4237 | Update vgsplit man page to reflect lvnames on the cmdline. | |
4238 | Update vgsplit to take "-n LogicalVolumeName" on the cmdline. | |
4239 | Use clustered mirror log with pvmove in clustered VGs, if available. | |
4240 | Fix some pvmove error status codes. | |
4241 | Fix vgsplit error paths to release vg_to lock. | |
4242 | Indicate whether or not VG is clustered in vgcreate log message. | |
4243 | Mention default --clustered setting in vgcreate man page. | |
4244 | Add config file overrides to clvmd when it reads the active LVs list. | |
4245 | Fix vgreduce to use vg_split_mdas to check sufficient mdas remain. | |
4246 | Add (empty) orphan VGs to lvmcache during initialisation. | |
4247 | Fix orphan VG name used for format_pool. | |
4248 | Create a fid for internal orphan VGs. | |
4249 | Update lvmcache VG lock state for all locking types now. | |
4250 | Fix output if overriding command_names on cmdline. | |
4251 | Add detection of clustered mirror log capability. | |
4252 | Add check to vg_commit() ensuring VG lock held before writing new VG metadata. | |
4253 | Add validation of LV name to pvmove -n. | |
4254 | Make clvmd refresh the context correctly when lvm.conf is updated. | |
4255 | Add some basic internal VG lock validation. | |
4256 | Add per-command flags to control which commands use the VG metadata cache. | |
4257 | Fix vgsplit locking of new VG (2.02.30). | |
4258 | Avoid erroneous vgsplit error message for new VG. (2.02.29) | |
4259 | Suppress duplicate message when lvresize fails because of invalid vgname. | |
4260 | Cache VG metadata internally while VG lock is held. | |
4261 | Fix redundant lvresize message if vg doesn't exist. | |
4262 | Fix another allocation bug with clvmd and large node IDs. | |
4263 | Add find_lv_in_lv_list() and find_pv_in_pv_list(). | |
4264 | Fix uninitialised variable in clvmd that could cause odd hangs. | |
4265 | Add vgmerge tests. | |
4266 | Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. | |
4267 | Add list_move() for moving elements from one list to another. | |
4268 | Add 'is_reserved_lvname()' for identifying hidden LVs. | |
4269 | Correct command name in lvmdiskscan man page. | |
4270 | clvmd no longer crashes if it sees nodeids over 50. | |
4271 | Fix potential deadlock in clvmd thread handling. | |
4272 | Refactor text format initialisation into _init_text_import. | |
4273 | Escape double quotes and backslashes in external metadata and config data. | |
4274 | Add functions for escaping double quotes in strings. | |
4275 | Rename count_chars_len to count_chars. | |
4276 | Use return_0 in a couple more places. | |
4277 | Correct a function name typo in _line_append error message. | |
4278 | Include limits.h in clvmd so it compiles with newer headers. | |
4279 | Add VirtIO disks (virtblk) to filters. | |
4280 | Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) | |
4281 | Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) | |
4282 | Add missing no-longer-used segs_using_this_lv test to check_lv_segments. | |
4283 | Remove redundant non-NULL tests before calling free in clvmd.c. | |
4284 | Avoid a compiler warning: make is_orphan's parameter const. | |
4285 | Fix lvconvert detection of mirror conversion in progress. (2.02.30) | |
4286 | Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) | |
4287 | Fix 'pvs -a' to detect VGs of PVs without metadata areas. | |
4288 | Divide up internal orphan volume group by format type. | |
4289 | Update usage message for clvmd. | |
4290 | Fix clvmd man page not to print <br> and clarified debug options. | |
4291 | Fix lvresize to support /dev/mapper prefix in the LV name. | |
4292 | Fix unfilled parameter passed to fsadm from lvresize. | |
4293 | Update fsadm to call lvresize if the partition size differs (with option -l). | |
4294 | Fix fsadm to support VG/LV names. | |
4295 | ||
4296 | Version 2.02.33 - 31st January 2008 | |
4297 | =================================== | |
4298 | Fix mirror log name construction during lvconvert. (2.02.30) | |
4299 | Make monitor_dev_for_events recurse through the stack of LVs. | |
4300 | Clean up some more compiler warnings. | |
4301 | Some whitespace tidy-ups. | |
4302 | Use stack return macros throughout. | |
4303 | Rely upon internally-cached PV labels while corresponding VG lock is held. | |
4304 | ||
4305 | Version 2.02.32 - 29th January 2008 | |
4306 | =================================== | |
4307 | Fix two check_lv_segments error messages to show whole segment. | |
4308 | Refactor mirror log attachment code. | |
4309 | Fix internal metadata corruption in lvchange --resync. (2.02.30) | |
4310 | Fix new parameter validation in vgsplit and test mode. (2.02.30) | |
4311 | Remove redundant cnxman-socket.h file from clvmd directory. | |
4312 | Fix pvs, vgs, lvs error exit status on some error paths. | |
4313 | ||
4314 | Version 2.02.31 - 19th January 2008 | |
4315 | =================================== | |
4316 | Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) | |
4317 | Add very_verbose lvconvert messages. | |
4318 | Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) | |
4319 | ||
4320 | Version 2.02.30 - 17th January 2008 | |
4321 | =================================== | |
4322 | Set default readahead to twice maximium stripe size. | |
4323 | Reinstate VG extent size and stripe size defaults (halved). (2.02.29) | |
4324 | Add lists of stacked LV segments using each LV to the internal metadata. | |
4325 | Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. | |
4326 | Fix process_all_pvs to detect non-orphans with no MDAs correctly. | |
4327 | Don't use block_on_error with mirror targets version 1.12 and above. | |
4328 | Update vgsplit to accept vgcreate options when new VG is destination. | |
4329 | Update vgsplit to accept existing VG as destination. | |
4330 | lvconvert waits for completion of initial sync by default. | |
4331 | Refactor vgcreate for parameter validation and add tests. | |
4332 | Add new convert_lv field to lvs output. | |
4333 | Print warning when lvm tools are running as non-root. | |
4334 | Add snapshot dmeventd library (enables dmeventd snapshot monitoring). | |
4335 | Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. | |
4336 | Fix a segfault if using pvs with --all argument. (2.02.29) | |
4337 | Update --uuid argument description in man pages. | |
4338 | Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) | |
4339 | Extend lvconvert to use polldaemon. | |
4340 | Add support for stacked mirrors. | |
4341 | Major restructuring of pvmove and lvconvert layer manipulation code. | |
4342 | Replace tools/fsadm with scripts/fsadm.sh. | |
4343 | Append fields to report/pvsegs_cols_verbose. | |
4344 | Permit LV segment fields with PV segment reports. | |
4345 | Add seg_start_pe and seg_pe_ranges to reports. | |
4346 | ||
4347 | Version 2.02.29 - 5th December 2007 | |
4348 | =================================== | |
4349 | Make clvmd backup vg metadata on remote nodes. | |
4350 | Refactor pvmove allocation code. | |
4351 | Decode cluster locking state in log message. | |
4352 | Change file locking state messages from debug to very verbose. | |
4353 | Fix --addtag to drop @ prefix from name. | |
4354 | Stop clvmd going haywire if a pre_function fails. | |
4355 | Convert some vg_reads into vg_lock_and_reads. | |
4356 | Avoid nested vg_reads when processing PVs in VGs and fix associated locking. | |
4357 | Accept sizes with --readahead argument. | |
4358 | Store size arguments as sectors internally. | |
4359 | Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. | |
4360 | Add read_ahead activation code. | |
4361 | Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. | |
4362 | Extend readahead arg to accept "auto" and "none". | |
4363 | Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. | |
4364 | Prevent lvconvert -s from using same LV as origin and snapshot. | |
4365 | Fix human-readable output of odd numbers of sectors. | |
4366 | Add pv_mda_free and vg_mda_free fields to reports for raw text format. | |
4367 | Add LVM2 version to 'Generated by' comment in metadata. | |
4368 | Show 'not usable' space when PV is too large for device in pvdisplay. | |
4369 | Ignore and fix up any excessive device size found in metadata. | |
4370 | Fix error message when fixing up PV size in lvm2 metadata (2.02.11). | |
4371 | Fix orphan-related locking in pvdisplay and pvs. | |
4372 | Fix missing VG unlocks in some pvchange error paths. | |
4373 | Add some missing validation of VG names. | |
4374 | Rename validate_vg_name() to validate_new_vg_name(). | |
4375 | Change orphan lock to VG_ORPHANS. | |
4376 | Change format1 to use ORPHAN as orphan VG name. | |
4377 | Convert pvchange, pvdisplay, pvscan to use is_orphan() | |
4378 | Add is_orphan_vg() and change all hard-coded checks to use it. | |
4379 | Detect md superblocks version 1.0, 1.1 and 1.2. | |
4380 | Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. | |
4381 | Add pv_dev_name() to access PV device name. | |
4382 | Add const attributes to pv accessor functions. | |
4383 | Refactor vg_add_snapshot() and lv_create_empty(). | |
4384 | Handle new sysfs subsystem/block/devices directory structure. | |
4385 | Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. | |
4386 | Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. | |
4387 | Fix underquotations in lvm_dump.sh. | |
4388 | Refactor lvcreate stripe and mirror parameter validation. | |
4389 | Print --help output to stdout, not stderr. | |
4390 | After a cmdline processing error, don't print help text but suggest --help. | |
4391 | Add %PVS extents option to lvresize, lvextend, and lvcreate. | |
4392 | Add 'make check' to run tests in new subdirectory 'test'. | |
4393 | Moved the obsolete test subdirectory to old-tests. | |
4394 | Cope with relative paths in configure --with-dmdir. | |
4395 | Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. | |
4396 | Fix strdup memory leak in str_list_dup(). | |
4397 | Link with -lpthread when static SELinux libraries require that. | |
4398 | Detect command line PE values that exceed their 32-bit range. | |
4399 | Include strerror string in dev_open_flags' stat failure message. | |
4400 | Move guts of pvresize into library. | |
4401 | Avoid error when --corelog is provided without --mirrorlog. (2.02.28) | |
4402 | Correct --mirrorlog argument name in man pages (not --log). | |
4403 | Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear. | |
4404 | Modify lvremove to prompt for removal if LV active on other cluster nodes. | |
4405 | Add '-f' to vgremove to force removal of VG even if LVs exist. | |
4406 | ||
4407 | Version 2.02.28 - 24th August 2007 | |
4408 | ================================== | |
4409 | Fix clvmd logging so you can get lvm-level debugging out of it. | |
4410 | Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. | |
4411 | Change locking_flags from int to uint32_t. | |
4412 | Fix clvmd -R, so it fully refreshes the caches. | |
4413 | Change lvconvert_mirrors to use mirror segtype not striped. | |
4414 | Fix lvconvert_mirrors detection of number of existing mirrors. | |
4415 | Clean up numerous compiler warnings that appeared in recent releases. | |
4416 | Remove several unused parameters from _allocate(). | |
4417 | Only permit --force, --verbose and --debug arguments to be repeated. | |
4418 | Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. | |
4419 | Move guts of vgremove and lvremove into library, including yes_no_prompt. | |
4420 | Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C]. | |
4421 | Update to use autoconf 2.61, while still supporting 2.57. | |
4422 | Add more cluster info to lvmdump. | |
4423 | Add further const attributes throughout. | |
4424 | Add support for renaming mirrored LVs. | |
4425 | Factor out core of lvrename() to library function. | |
4426 | Add --mirrorlog argument to specify log type for mirrors. | |
4427 | Don't attempt to monitor devices if their creation failed in _lv_activate. | |
4428 | Don't leak a file descriptor in fcntl_lock_file() when fcntl fails. | |
4429 | Replace create_dir with dm_create_dir. | |
4430 | Detect stream write failure reliably with lvm_fclose using dm_fclose. | |
4431 | Fix clvmd if compiled with gulm support. (2.02.26) | |
4432 | Fix lvdisplay man page to say LV size is reported in sectors, not KB. | |
4433 | Add vg_lock_and_read() external library function. | |
4434 | Fix loading of persistent cache if cache_dir is used. (2.02.23) | |
4435 | Reduce _compare_paths lstat error message from log_error to log_very_verbose. | |
4436 | Create util.h with last_path_component replacing strdup + basename. | |
4437 | Use gcc's printf attribute wherever possible. | |
4438 | In _line_append, use "sizeof buf - 1" rather than equivalent "4095". | |
4439 | Introduce is_same_inode macro, now including a comparison of st_dev. | |
4440 | Don't leak a file descriptor in _lock_file() when flock fails. | |
4441 | Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. | |
4442 | Split metadata-external.h out from metadata.h for the tools to use. | |
4443 | ||
4444 | Version 2.02.27 - 17th July 2007 | |
4445 | ================================ | |
4446 | Fix snapshot cow area deactivation if origin is not active. (2.02.13) | |
4447 | Fix configure libdevmapper.h check when --with-dmdir is used. | |
4448 | Turn _add_pv_to_vg() into external library function add_pv_to_vg(). | |
4449 | Add pv_by_path() external library function. | |
4450 | Tidy clvmd-openais of redundant bits, and improve an error report. | |
4451 | Cope with find_seg_by_le() failure in check_lv_segments(). | |
4452 | Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. | |
4453 | Add vg_mda_count and pv_mda_count columns to reports. | |
4454 | Fix dumpconfig to use log_print instead of stdout directly. | |
4455 | Remove unused parameter 'fid' from _add_pv_to_vg. | |
4456 | Add kernel and device-mapper targets versions to lvmdump. | |
4457 | Replace BSD (r)index with C89 str(r)chr. | |
4458 | Handle vgsplit of an entire VG as a vgrename. | |
4459 | Reinitialise internal lvmdiskscan variables when called repeatedly. | |
4460 | Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) | |
4461 | Add vg_status function and clean up vg->status in tools directory. | |
4462 | Add --ignoremonitoring to disable all dmeventd interaction. | |
4463 | Remove get_ prefix from get_pv_* functions. | |
4464 | clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. | |
4465 | Print warnings to stderr instead of stdout. | |
4466 | ||
4467 | Version 2.02.26 - 15th June 2007 | |
4468 | ================================ | |
4469 | Update vgcfgrestore man page. | |
4470 | Allow keyboard interrupt during user prompts when appropriate. | |
4471 | Remove unused clvmd system-lv code. | |
4472 | Replace many physical_volume struct dereferences with new get_pv_* functions. | |
4473 | Suppress a benign compile-time warning. | |
4474 | Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. | |
4475 | Add wrappers to some functions in preparation for external LVM library. | |
4476 | Add -f to vgcfgrestore to list metadata backup files. | |
4477 | Add vg_check_status to consolidate vg status checks and error messages. | |
4478 | Add pvdisplay --maps implementation. | |
4479 | Remove unsupported LVM1 options from vgcfgrestore man page. | |
4480 | Update vgcfgrestore man page to show mandatory VG name. | |
4481 | Update vgrename man page to include UUID and be consistent with lvrename. | |
4482 | Add (experimental) OpenAIS support to clvmd. | |
4483 | Fix deactivation code to follow dependencies and remove symlinks. | |
4484 | Fix and clarify vgsplit error messages. | |
4485 | Fix a segfault in device_is_usable() if a device has no table. | |
4486 | Add some more debug messages to clvmd startup. | |
4487 | Misc clvmd cleanups. | |
4488 | ||
4489 | Version 2.02.25 - 27th April 2007 | |
4490 | ================================= | |
4491 | Fix get_config_uint64() to read a 64-bit value not a 32-bit one. | |
4492 | Add -Wformat-security and change one fprintf() to fputs(). | |
4493 | Move regex functions into libdevmapper. | |
4494 | Change some #include lines to search only standard system directories. | |
4495 | Add devices/preferred_names config regex list for displayed device names. | |
4496 | Free a temporary dir string in fcntl_lock_file() after use. | |
4497 | Fix a dm_pool_destroy() in matcher_create(). | |
4498 | Introduce goto_bad macro. | |
4499 | Fix warnings on x86_64 involving ptrdiff_t in log_error messages. | |
4500 | Update pvck to include text metadata area and record detection. | |
4501 | Add support functions for token counting in config file extracts. | |
4502 | Update pvck to read labels on disk, with --labelsector parameter. | |
4503 | Add count_chars and count_chars_len functions. | |
4504 | Add /sys/block listings to lvm_dump.sh. | |
4505 | Make lvm_dump.sh list /dev recursively. | |
4506 | Fix thread race in clvmd. | |
4507 | Add scan_sector param to label_read and _find_labeller. | |
4508 | Make clvmd cope with quorum devices. | |
4509 | Add extra internal error checking to clvmd. | |
4510 | Add dev_read_circular. | |
4511 | Add pvck command stub. | |
4512 | Update lists of attribute characters in man pages. | |
4513 | Change cling alloc policy attribute character from 'C' to l'. | |
4514 | Fix creation and conversion of mirrors with tags. | |
4515 | Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). | |
4516 | Split metadata areas in vgsplit properly. | |
4517 | ||
4518 | Version 2.02.24 - 19th March 2007 | |
4519 | ================================= | |
4520 | Fix processing of exit status in init scripts | |
4521 | Fix vgremove to require at least one vg argument. | |
4522 | Fix reading of striped LVs in LVM1 format. | |
4523 | Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) | |
4524 | Add a few missing pieces of vgname command line validation. | |
4525 | Support the /dev/mapper prefix on most command lines. | |
4526 | ||
4527 | Version 2.02.23 - 8th March 2007 | |
4528 | ================================ | |
4529 | Fix vgrename active LV check to ignore differing vgids. | |
4530 | Remove no-longer-used uuid_out parameter from activation info functions. | |
4531 | Fix two more segfaults if an empty config file section encountered. | |
4532 | Move .cache file into a new /etc/lvm/cache directory by default. | |
4533 | Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache. | |
4534 | Create directory in fcntl_lock_file() if required. | |
4535 | Exclude readline support from lvm.static. | |
4536 | Fix a leak in a reporting error path (2.02.19). | |
4537 | ||
4538 | Version 2.02.22 - 13th February 2007 | |
4539 | ==================================== | |
4540 | Correct -b and -P on a couple of man pages. | |
4541 | Add global/units to example.conf. | |
4542 | Fix loading of segment_libraries. | |
4543 | If a PV reappears after it was removed from its VG, make it an orphan. | |
4544 | Don't update metadata automatically if VGIDs don't match. | |
4545 | Fix some vgreduce --removemissing command line validation. | |
4546 | ||
4547 | Version 2.02.21 - 30th January 2007 | |
4548 | =================================== | |
4549 | Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. | |
4550 | Fix vgsplit to handle mirrors. | |
4551 | Reorder fields in reporting field definitions. | |
4552 | Fix vgs to treat args as VGs even when PV fields are displayed. | |
4553 | Fix md signature check to handle both endiannesses. | |
4554 | ||
4555 | Version 2.02.20 - 25th January 2007 | |
4556 | =================================== | |
4557 | dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. | |
4558 | Add devices/ignore_suspended_devices to ignore suspended dm devices. | |
4559 | Add some missing close() and fclose() return code checks. | |
4560 | Fix exit statuses of reporting tools (2.02.19). | |
4561 | Add init script for dmeventd monitoring. | |
4562 | lvm.static no longer interacts with dmeventd unless explicitly asked to. | |
4563 | Add field definitions to report help text. | |
4564 | Remove unnecessary cmd arg from target_*monitor_events(). | |
4565 | Add private variable to dmeventd shared library interface. | |
4566 | Long-lived processes write out persistent dev cache in refresh_toolcontext(). | |
4567 | Fix refresh_toolcontext() always to wipe persistent device filter cache. | |
4568 | Add is_long_lived to toolcontext. | |
4569 | Add --clustered to man pages. | |
4570 | Streamline dm_report_field_* interface. | |
4571 | Change remaining dmeventd terminology 'register' to 'monitor'. | |
4572 | Update reporting man pages. | |
4573 | No longer necessary to specify alignment type for report fields. | |
4574 | ||
4575 | Version 2.02.19 - 17th January 2007 | |
4576 | =================================== | |
4577 | Fix a segfault if an empty config file section encountered. | |
4578 | Move basic reporting functions into libdevmapper. | |
4579 | Fix partition table processing after sparc changes (2.02.16). | |
4580 | Fix cmdline PE range processing segfault (2.02.13). | |
4581 | Some libdevmapper-event interface changes. | |
4582 | Report dmeventd mirror monitoring status. | |
4583 | Fix dmeventd mirror status line processing. | |
4584 | ||
4585 | Version 2.02.18 - 11th January 2007 | |
4586 | =================================== | |
4587 | Revised libdevmapper-event interface for dmeventd. | |
4588 | Remove dmeventd mirror status line word limit. | |
4589 | Use CFLAGS when linking so mixed sparc builds can supply -m64. | |
4590 | Prevent permission changes on active mirrors. | |
4591 | Print warning instead of error message if lvconvert cannot zero volume. | |
4592 | Add snapshot options to lvconvert man page. | |
4593 | dumpconfig accepts a list of configuration variables to display. | |
4594 | Change dumpconfig to use --file to redirect output to a file. | |
4595 | Avoid vgreduce error when mirror code removes the log LV. | |
4596 | Remove 3 redundant AC_MSG_RESULTs from configure.in. | |
4597 | Free memory in _raw_read_mda_header() error paths. | |
4598 | Fix ambiguous vgsplit error message for split LV. | |
4599 | Fix lvextend man page typo. | |
4600 | Add configure --with-dmdir to compile against a device-mapper source tree. | |
4601 | Use no flush suspending for mirrors. | |
4602 | Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. | |
4603 | Fix create mirror with name longer than 22 chars. | |
4604 | Fix some activate.c prototypes when compiled without devmapper. | |
4605 | Fix dmeventd mirror to cope if monitored device disappears. | |
4606 | ||
4607 | Version 2.02.17 - 14th December 2006 | |
4608 | ==================================== | |
4609 | Add missing pvremove error message when device doesn't exist. | |
4610 | When lvconvert allocates a mirror log, respect parallel area constraints. | |
4611 | Use loop to iterate through the now-ordered policy list in _allocate(). | |
4612 | Check for failure to allocate just the mirror log. | |
4613 | Introduce calc_area_multiple(). | |
4614 | Support mirror log allocation when there is only one PV: area_count now 0. | |
4615 | Fix detection of smallest area in _alloc_parallel_area() for cling policy. | |
4616 | Add manpage entry for clvmd -T | |
4617 | Fix gulm operation of clvmd, including a hang when doing lvchange -aey | |
4618 | Fix hang in clvmd if a pre-command failed. | |
4619 | ||
4620 | Version 2.02.16 - 1st December 2006 | |
4621 | =================================== | |
4622 | Fix VG clustered read locks to use PR not CR. | |
4623 | Adjust some alignments for ia64/sparc. | |
4624 | Fix mirror segment removal to use temporary error segment. | |
4625 | Always compile debug logging into clvmd. | |
4626 | Add startup timeout to RHEL4 clvmd startup script. | |
4627 | Add -T (startup timeout) switch to clvmd. | |
4628 | Improve lvm_dump.sh robustness. | |
4629 | Update lvm2create_initrd to support gentoo. | |
4630 | ||
4631 | Version 2.02.15 - 21st November 2006 | |
4632 | ==================================== | |
4633 | Fix clvmd_init_rhel4 line truncation (2.02.14). | |
4634 | Install lvmdump by default. | |
4635 | Fix check for snapshot module when activating snapshot. | |
4636 | Fix pvremove error path for case when PV is in use. | |
4637 | Warn if certain duplicate config file entries are seen. | |
4638 | Enhance lvm_dump.sh for sysreport integration and add man page. | |
4639 | Fix --autobackup argument which could never disable backups. | |
4640 | Fix a label_verify error path. | |
4641 | ||
4642 | Version 2.02.14 - 10th November 2006 | |
4643 | ==================================== | |
4644 | Fix adjusted_mirror_region_size() to handle 64-bit size. | |
4645 | Add some missing bounds checks on 32-bit extent counters. | |
4646 | Add Petabyte and Exabyte support. | |
4647 | Fix lvcreate error message when 0 extents requested. | |
4648 | lvremove man page: volumes must be cluster inactive before being removed. | |
4649 | Protect .cache manipulations with fcntl locking. | |
4650 | Change .cache timestamp comparisons to use ctime. | |
4651 | Fix mirror log LV writing to set all bits in whole LV. | |
4652 | Fix clustered VG detection and default runlevels in clvmd_init_rhel4. | |
4653 | Fix high-level free space check for partial allocations. | |
4654 | ||
4655 | Version 2.02.13 - 27th October 2006 | |
4656 | =================================== | |
4657 | Add couple of missing files to tools/Makefile CLEAN_TARGETS. | |
4658 | When adding snapshot leave cow LV mapped device active after zeroing. | |
4659 | Fix a clvmd debug message. | |
4660 | Add dev_flush() to set_lv(). | |
4661 | Add lvchange --resync. | |
4662 | Perform high-level free space check before each allocation attempt. | |
4663 | Don't allow a node to remove an LV that's exclusively active on anther node. | |
4664 | Cope if same PV is included more than once in cmdline PE range list. | |
4665 | Set PV size to current device size if it is found to be zero. | |
4666 | Add segment parameter to target_present functions. | |
4667 | ||
4668 | Version 2.02.12 - 16th October 2006 | |
4669 | =================================== | |
4670 | Fix pvdisplay to use vg_read() for non-orphans. | |
4671 | Fall back to internal locking if external locking lib is missing or fails. | |
4672 | Retain activation state after changing LV minor number with --force. | |
4673 | Propagate clustered flag in vgsplit and require resizeable flag. | |
4674 | ||
4675 | Version 2.02.11 - 12th October 2006 | |
4676 | =================================== | |
4677 | Add clvmd function to return the cluster name. not used by LVM yet. | |
4678 | Add cling allocation policy. | |
4679 | Change _check_contiguous() to use _for_each_pv(). | |
4680 | Extend _for_each_pv() to allow termination without error. | |
4681 | Abstract _is_contiguous(). | |
4682 | Remove duplicated pv arg from _check_contiguous(). | |
4683 | Accept regionsize with lvconvert. | |
4684 | Add report columns with underscore before field names ending 'size'. | |
4685 | Correct regionsize default on lvcreate man page (MB). | |
4686 | Fix clvmd bug that could cause it to die when a node with a long name crashed. | |
4687 | Add device size to text metadata. | |
4688 | Fix format_text mda_setup pv->size and pv_setup pe_count calculations. | |
4689 | Fix _for_each_pv() for mirror with core log. | |
4690 | Add lvm_dump.sh script to create a tarball of debugging info from a system. | |
4691 | Capture error messages in clvmd and pass them back to the user. | |
4692 | Remove unused #defines from filter-md.c. | |
4693 | Make clvmd restart init script wait until clvmd has died before starting it. | |
4694 | Add -R to clvmd which tells running clvmds to reload their device cache. | |
4695 | Add LV column to reports listing kernel modules needed for activation. | |
4696 | Show available fields if report given invalid field. (e.g. lvs -o list) | |
4697 | Add timestamp functions with --disable-realtime configure option. | |
4698 | Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. | |
4699 | Fix two potential NULL pointer derefs in error cases in vg_read(). | |
4700 | Separate --enable-cluster from locking lib options in lvmconf.sh. | |
4701 | Add a missing comma in lvcreate man page. | |
4702 | ||
4703 | Version 2.02.10 - 19th September 2006 | |
4704 | ===================================== | |
4705 | Fix lvconvert mirror change case detection logic. | |
4706 | Fix mirror log detachment so it correctly becomes a standalone LV. | |
4707 | Extend _check_contiguous() to detect single-area LVs. | |
4708 | Include mirror log (untested) in _for_each_pv() processing. | |
4709 | Use MIRROR_LOG_SIZE constant. | |
4710 | Remove struct seg_pvs from _for_each_pv() to generalise. | |
4711 | Avoid adding duplicates to list of parallel PVs to avoid. | |
4712 | Fix several incorrect comparisons in parallel area avoidance code. | |
4713 | Fix segment lengths when flattening existing parallel areas. | |
4714 | Log existing parallel areas prior to allocation. | |
4715 | Fix mirror log creation when activation disabled. | |
4716 | Don't attempt automatic recovery without proper locking. | |
4717 | When using local file locking, skip clustered VGs. | |
4718 | Add fallback_to_clustered_locking and fallback_to_local_locking parameters. | |
4719 | lvm.static uses built-in cluster locking instead of external locking. | |
4720 | Don't attempt to load shared libraries if built statically. | |
4721 | Change default locking_lib to liblvm2clusterlock.so. | |
4722 | Add skip_dev_dir() to process command line VGs. | |
4723 | Stop clvmd complaining about nodes that have left the cluster. | |
4724 | Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. | |
4725 | Add lvconvert man page. | |
4726 | Add mirror options to man pages. | |
4727 | Prevent mirror renames. | |
4728 | Move CMDLIB code into separate file and record whether static build. | |
4729 | ||
4730 | Version 2.02.09 - 17th August 2006 | |
4731 | ================================== | |
4732 | Fix PE_ALIGN for pagesize over 32KB. | |
4733 | Separate out LVM1_PE_ALIGN and pe_align(). | |
4734 | Add lvm_getpagesize wrapper. | |
4735 | Add --maxphysicalvolumes to vgchange. | |
4736 | ||
4737 | Version 2.02.08 - 15th August 2006 | |
4738 | ================================== | |
4739 | Add checks for duplicate LV name, lvid and PV id before writing metadata. | |
4740 | Report all sanity check failures, not just the first. | |
4741 | Fix missing lockfs on first snapshot creation. | |
4742 | Add unreliable --trustcache option to reporting commands. | |
4743 | Fix locking for mimage removal. | |
4744 | Fix clvmd_init_rhel4 'status' exit code. | |
4745 | ||
4746 | Version 2.02.07 - 17th July 2006 | |
4747 | ================================ | |
4748 | Fix activation logic in lvchange --persistent. | |
4749 | Don't ignore persistent minor numbers when activating. | |
4750 | Use RTLD_GLOBAL when loading shared libraries. | |
4751 | Add some forgotten memlock checks to _vg_read to protect against full scans. | |
4752 | Add mutex to dmeventd_mirror to avoid concurrent execution. | |
4753 | Fix vgreduce --removemissing to return success if VG is already consistent. | |
4754 | Fix return code if VG specified on command line is not found. | |
4755 | Fix PV tools to include orphaned PVs in default output again. | |
4756 | Fixed unaligned access when using clvm. | |
4757 | Fix an extra dev_close in a label_read error path. | |
4758 | Append patches to commit emails. | |
4759 | Fix target_register_events args. | |
4760 | Prevent snapshots of mirrors. | |
4761 | Add DISTCLEAN_TARGETS to make template for configure.h. | |
4762 | More fixes to error paths. | |
4763 | Fix lvcreate corelog validation. | |
4764 | Add --config for overriding most config file settings from cmdline. | |
4765 | Quote arguments when printing command line. | |
4766 | Remove linefeed from 'initialising logging' message. | |
4767 | Add 'Completed' debug message. | |
4768 | Don't attempt library exit after reloading config files. | |
4769 | Always compile with libdevmapper, even if device-mapper is disabled. | |
4770 | ||
4771 | Version 2.02.06 - 12th May 2006 | |
4772 | =============================== | |
4773 | Propagate --monitor around cluster. | |
4774 | Add --monitor to vgcreate and lvcreate to control dmeventd registration. | |
4775 | Filter LCK_NONBLOCK in clvmd lock_vg. | |
4776 | Add --nosync to lvcreate with LV flag NOTSYNCED. | |
4777 | Use mirror's uuid for a core log. | |
4778 | Add mirror log fault-handling policy. | |
4779 | Improve mirror warning messages and tidy dmeventd syslog output. | |
4780 | Propagate nosync flag around cluster. | |
4781 | Allow vgreduce to handle mirror log failures. | |
4782 | Add --corelog to lvcreate and lvconvert. | |
4783 | Create a log header for replacement in-sync mirror log. | |
4784 | Use set_lv() and dev_set() to wipe sections of devices. | |
4785 | Add mirror_in_sync() flag to avoid unnecessary resync on activation. | |
4786 | Add mirror_library description to example.conf. | |
4787 | Fix uuid_from_num() buffer overrun. | |
4788 | Make SIZE_SHORT the default for display_size(). | |
4789 | Fix some memory leaks in error paths found by coverity. | |
4790 | Use C99 struct initialisers. | |
4791 | Move DEFS into configure.h. | |
4792 | Clean-ups to remove miscellaneous compiler warnings. | |
4793 | Improve stripe size validation. | |
4794 | Increase maximum stripe size limit to physical extent size for lvm2 metadata. | |
4795 | Fix activation code to check for pre-existing mirror logs. | |
4796 | Tighten region size validation. | |
4797 | Ignore empty strings in config files. | |
4798 | Require non-zero regionsize and document parameter on lvcreate man page. | |
4799 | Invalidate cache if composition of VG changed externally. | |
4800 | ||
4801 | Version 2.02.05 - 21st April 2006 | |
4802 | ================================= | |
4803 | Fix vgid string termination in recent cache code. | |
4804 | ||
4805 | Version 2.02.04 - 19th April 2006 | |
4806 | ================================= | |
4807 | Check for libsepol. | |
4808 | Add some cflow & scope support. | |
4809 | Separate out DEFS from CFLAGS. | |
4810 | Remove inlines and use unique function names. | |
4811 | ||
4812 | Version 2.02.03 - 14th April 2006 | |
4813 | ================================= | |
4814 | vgrename accepts vgid and exported VG. | |
4815 | Add --partial to pvs. | |
4816 | When choosing between identically-named VGs, also consider creation_host. | |
4817 | Provide total log suppression with 2. | |
4818 | Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct. | |
4819 | Add vgid to struct physical_volume and pass with vg_name to some functions. | |
4820 | If two or more VGs are found with the same name, use one that is not exported. | |
4821 | Whenever vgname is captured, also capture vgid and whether exported. | |
4822 | Remove an incorrect unlock_vg() from process_each_lv(). | |
4823 | Update extent size information in vgchange and vgcreate man pages. | |
4824 | Introduce origin_from_cow() and lv_is_visible(). | |
4825 | pvremove without -f now fails if there's no PV label. | |
4826 | Support lvconvert -s. | |
4827 | Suppress locking library load failure message if --ignorelockingfailure. | |
4828 | Propagate partial mode around cluster. | |
4829 | Fix archive file expiration. | |
4830 | Fix dmeventd build. | |
4831 | clvmd now uses libcman rather than cman ioctls. | |
4832 | clvmd will allow new cman to shutdown on request. | |
4833 | ||
4834 | Version 2.02.02 - 7th February 2006 | |
4835 | =================================== | |
4836 | Add %.so: %.a make template rule. | |
4837 | Switchover library building to use LIB_SUFFIX. | |
4838 | Only do lockfs filesystem sync when suspending snapshots. | |
4839 | Always print warning if activation is disabled. | |
4840 | vgreduce removes mirror images. | |
4841 | Add --mirrorsonly to vgreduce. | |
4842 | vgreduce replaces active LVs with error segment before removing them. | |
4843 | Set block_on_error parameter if available. | |
4844 | Add target_version. | |
4845 | Add details to format1 'Invalid LV in extent map' error message. | |
4846 | Fix lvscan snapshot full display. | |
4847 | Bring lvdisplay man page example into line. | |
4848 | Add mirror dmeventd library. | |
4849 | Add some activation logic to remove_mirror_images(). | |
4850 | lvconvert can remove specified PVs from a mirror. | |
4851 | lvconvert turns an existing LV into a mirror. | |
4852 | Allow signed mirrors arguments. | |
4853 | Move create_mirror_log() into toollib. | |
4854 | Determine parallel PVs to avoid with ALLOC_NORMAL allocation. | |
4855 | Fix lv_empty. | |
4856 | ||
4857 | Version 2.02.01 - 23rd November 2005 | |
4858 | ==================================== | |
4859 | Fix lvdisplay cmdline to accept snapshots. | |
4860 | Fix open RO->RW promotion. | |
4861 | Fix missing vg_revert in lvcreate error path. | |
4862 | ||
4863 | Version 2.02.00 - 10th November 2005 | |
4864 | ==================================== | |
4865 | Extend allocation areas to avoid overflow with contiguous with other PVs. | |
4866 | Stop lvcreate attempting to wipe zero or error segments. | |
4867 | Added new lvs table attributes. | |
4868 | Separated out activation preload. | |
4869 | Moved activation functions into libdevmapper. | |
4870 | Fixed build_dm_name. | |
4871 | Add return macros. | |
4872 | Added xen xvd devices. | |
4873 | Clear up precommitted metadata better. | |
4874 | A pvresize implementation. | |
4875 | Fix contiguous allocation when there are no preceding segments. | |
4876 | Add mirror_seg pointer to lv_segment struct. | |
4877 | Only keep a device open if it's known to belong to a locked VG. | |
4878 | Fix lvdisplay to show all mirror destinations. | |
4879 | Replacement suspend code using libdevmapper dependency tree. | |
4880 | Add DEFS to make.tmpl. | |
4881 | Use dm_is_dm_major instead of local copy. | |
4882 | Allow mapped devices to be used as PVs. | |
4883 | Move set_selinux_context into libdevmapper. | |
4884 | Fix automatic text metadata buffer expansion (using macro). | |
4885 | Cache formatted text metadata buffer between metadata area writes. | |
4886 | Add pe_start field to pvs. | |
4887 | Add 'LVM-' prefix to uuids. | |
4888 | Split lv_segment_area from lv_segment to permit extension. | |
4889 | Replacement deactivation code using libdevmapper dependency tree. | |
4890 | Simplify dev_manager_info(). | |
4891 | Attempt to load missing targets using modprobe. | |
4892 | Add -a to lvscan. | |
4893 | Move mknodes into libdevmapper. | |
4894 | Move bitset, hash, pool and dbg_malloc into libdevmapper. | |
4895 | ||
4896 | Version 2.01.15 - 16th October 2005 | |
4897 | =================================== | |
4898 | Refuse to run pvcreate/pvremove on devices we can't open exclusively. | |
4899 | Use ORPHAN lock definition throughout. | |
4900 | Validate chunksize in lvcreate. | |
4901 | Reduce chunksize limit to 512k. | |
4902 | Fix chunksize field in reports. | |
4903 | Don't hide snapshots from default 'lvs' output. | |
4904 | Add is_dm_major() for use in duplicate device detection in lvmcache_add(). | |
4905 | Really switch device number in lvmcache when it says it is doing so. | |
4906 | Option for bitset memory allocation using malloc as well as pool. | |
4907 | Don't assume exactly two mirrors when parsing mirror status. | |
4908 | Suppress fsync() error message on filesystems that don't support it. | |
4909 | Fix yes_no_prompt() error handling. | |
4910 | Add lvm.conf comment warning against multiple filter lines. | |
4911 | Tidy lvmconf.sh. | |
4912 | Add format1 dev_write debug messages. | |
4913 | Add clustered VG attribute to report. | |
4914 | Move lvconvert parameters into struct lvconvert_params. | |
4915 | Add clustered VG flag to LV lock requests. | |
4916 | Change LV locking macros to take lv instead of lvid. | |
4917 | Prepend 'cluster' activation parameter to mirror log when appropriate. | |
4918 | Pass exclusive flag to lv_activate and on to target activation code. | |
4919 | Prevent snapshot creation in a clustered VG for now. | |
4920 | Factor out adjusted_mirror_region_size() and generate_log_name_format(). | |
4921 | Move compose_log_line() into mirror directory. | |
4922 | Factor out _get_library_path(). | |
4923 | Don't kill idling clvmd threads. | |
4924 | clvmd no longer takes out locks for non-clustered LVs. | |
4925 | Recognise ATA over Ethernet (aoe) devices. | |
4926 | ||
4927 | Version 2.01.14 - 4th August 2005 | |
4928 | ================================= | |
4929 | Fix lvconvert PV parameter in help string. | |
4930 | Prevent snapshots getting activated in a clustered VG. | |
4931 | Separate out _build_dev_string. | |
4932 | Move zero_lv to toollib. | |
4933 | Fix pool format handler to work with pv segment code. | |
4934 | ||
4935 | Version 2.01.13 - 13th July 2005 | |
4936 | ================================ | |
4937 | Fix pvmove segment splitting. | |
4938 | Abstract vg_validate. | |
4939 | Only make one attempt at contiguous allocation. | |
4940 | Fix lvm1 format metadata read. | |
4941 | Fix lvm1 format non-mirror lvcreate. | |
4942 | ||
4943 | Version 2.01.12 - 14th June 2005 | |
4944 | ================================ | |
4945 | Various allocation-related pvmove fixes. | |
4946 | Log an error if clvmd can't resolve a host name got from CCS. | |
4947 | Fix potential spin loop in clvmd. | |
4948 | ||
4949 | Version 2.01.11 - 13th June 2005 | |
4950 | ================================ | |
4951 | Added lvmconf.sh. | |
4952 | Use matchpathcon mode parameter. | |
4953 | Don't defer closing dead FDs in clvmd. | |
4954 | Remove hard-coded 64k text metadata writing restriction. | |
4955 | Make VG name restrictions consistent. | |
4956 | Introduce lvconvert. So far only removes mirror images. | |
4957 | Allow mirror images to be resized. | |
4958 | Allow mirror images to have more than one segment. | |
4959 | Centralise restrictions on LV names. | |
4960 | Always insert an intermediate layer for mirrors. | |
4961 | Suppress hidden LVs from reports unless --all is given. | |
4962 | Use square brackets for hidden LVs in reports. | |
4963 | Allow the creation of mirrors with contiguous extents. | |
4964 | Always perform sanity checks against metadata before committing it to disk. | |
4965 | Split lv_extend into two steps: choosing extents + allocation to LV(s). | |
4966 | Add mirror log region size to metadata. | |
4967 | Use list_iterate_items throughout and add list*back macros. | |
4968 | Introduce seg_ macros to access areas. | |
4969 | Add segtype_is_ macros. | |
4970 | Support tiny metadata areas for pool conversions. | |
4971 | Mirror activation handles disk log as well as core. | |
4972 | Activation code recognises mirror log dependency. | |
4973 | Add mirror_log and regionsize fields to report. | |
4974 | Fix non-orphan pvchange -u. | |
4975 | Fix vgmerge to handle duplicate LVIDs. | |
4976 | Move archiver code from tools into library. | |
4977 | vgscan/change/display/vgs automatically create metadata backups if needed. | |
4978 | Merge cloned allocation functions. | |
4979 | Fix contiguous allocation policy with linear. | |
4980 | Cope with missing format1 PVs again. | |
4981 | Remove lists of free PV segments. | |
4982 | Simplify pv_maps code and remove slow bitset algorithm. | |
4983 | Red-Hat-ify the clvmd rhel4 initscript. | |
4984 | %Zu->%zu | |
4985 | Fix loopfiles alias alloc & mem debugging. | |
4986 | Un-inline dbg_strdup. | |
4987 | lv_reduce tidying. | |
4988 | Remove some unnecessary parameters. | |
4989 | Introduce seg_is macros. | |
4990 | ||
4991 | Version 2.01.10 - 3rd May 2005 | |
4992 | ============================== | |
4993 | Don't create backup and archive dirs till needed. | |
4994 | Reinstate full PV size when removing from VG. | |
4995 | Support loopfiles for testing. | |
4996 | Tidy lv_segment interface. | |
4997 | pv_segment support. | |
4998 | vgchange --physicalextentsize | |
4999 | Internal snapshot restructuring. | |
5000 | Remove unused internal non-persistent snapshot option. | |
5001 | Allow offline extension of snapshot volumes. | |
5002 | Move from 2-step to 3-step on-disk metadata commit. | |
5003 | Scan ramdisks too and allow non-O_DIRECT fallback. | |
5004 | Annotate, tidy and extend list.h. | |
5005 | Alignment tidying. | |
5006 | Make clvmd work around some "bugs" in gulm's node state notifications. | |
5007 | Tidy clvmd's SIGHUP handler | |
5008 | ||
5009 | Version 2.01.09 - 4th April 2005 | |
5010 | ================================ | |
5011 | Add --ignorelockingfailure to vgmknodes. | |
5012 | clvmd: Don't allow user operations to start until the lvm thread is fully up. | |
5013 | clvmd-gulm: set KEEPALIVE on sockets. | |
5014 | ||
5015 | Version 2.01.08 - 22nd March 2005 | |
5016 | ================================= | |
5017 | Add clustered attribute so vgchange can identify clustered VGs w/o locking. | |
5018 | Improve detection of external changes affecting internal cache. | |
5019 | Add 'already in device cache' debug message. | |
5020 | Add -a to pvdisplay -C. | |
5021 | Avoid rmdir opendir error messsages when dir was already removed. | |
5022 | Tighten signal handlers. | |
5023 | Avoid some compiler warnings. | |
5024 | Additional rename failure error message. | |
5025 | read/write may be macros. | |
5026 | clvmd: don't take out lvm thread lock at startup, it only protects jobs list. | |
5027 | ||
5028 | Version 2.01.07 - 8th March 2005 | |
5029 | ================================ | |
5030 | Cope with new devices appearing by rescanning /dev if a uuid can't be found. | |
5031 | Remove DESTDIR from LVM_SHARED_PATH. | |
5032 | clvmd fixes: make FDs close-on-exec | |
5033 | gulm unlocks VG & orphan locks at startup in case they are stale | |
5034 | gulm now unlocks VG & orphan locks if client dies. | |
5035 | ||
5036 | Version 2.01.06 - 1st March 2005 | |
5037 | ================================ | |
5038 | Suppress 'open failed' error messages during scanning. | |
5039 | Option to suppress warnings of file descriptors left open. | |
5040 | Fix default value of metadatacopies in documentation (2->1). | |
5041 | Fix clvmd-gulm locking. | |
5042 | ./configure --enable-debug now enables debugging code in clvmd. | |
5043 | Fix clvmd-gulm node up/down code so it actually works. | |
5044 | clvmd-gulm now releases locks when shut down. | |
5045 | ||
5046 | Version 2.01.05 - 18th February 2005 | |
5047 | ==================================== | |
5048 | Static binary invokes dynamic binary if appropriate. | |
5049 | Make clvmd config check a little more tolerant. | |
5050 | gulm clvmd can now cope with >1 message arriving in a TCP message. | |
5051 | ||
5052 | Version 2.01.04 - 9th February 2005 | |
5053 | =================================== | |
5054 | Add fixed offset to imported pool minor numbers. | |
5055 | Update binary pathnames in clvmd_init_rhel4. | |
5056 | lvm2cmd.so should skip the check for open fds. | |
5057 | Remove unused -f from pvmove. | |
5058 | Gulm clvmd doesn't report "connection refused" errors. | |
5059 | clvmd does a basic config file sanity check at startup. | |
5060 | Fix potential thread shutdown race in clvmd. | |
5061 | ||
5062 | Version 2.01.03 - 1st February 2005 | |
5063 | =================================== | |
5064 | More 64-bit display/report fixes. | |
5065 | More informative startup mesg if can't create /etc/lvm. | |
5066 | Fix snapshot device size bug (since 2.01.01). | |
5067 | clvmd announces startup and cluster connection in syslog. | |
5068 | Gulm clvmd doesn't hang trying to talk to a rebooted node. | |
5069 | Gulm clvmd doesn't print cman error on startup. | |
5070 | ||
5071 | Version 2.01.02 - 21st January 2005 | |
5072 | =================================== | |
5073 | Update clvmd_init_rhel4: use lvm.static and don't load dlm. | |
5074 | Fix some size_t printing. | |
5075 | Fix 64 bit xlate consts. | |
5076 | Split out pool sptype_names to avoid unused const. | |
5077 | Always fail if random id generation fails. | |
5078 | Recognise gnbd devices. | |
5079 | Fix clvmd startup bug introduced in cman/gulm amalgamation. | |
5080 | Improve reporting of node-specific locking errors. | |
5081 | ||
5082 | Version 2.01.01 - 19th January 2005 | |
5083 | =================================== | |
5084 | Fix clvmd lv_info_by_lvid open_count. | |
5085 | Store snapshot and origin sizes separately. | |
5086 | Update vgcreate man page. | |
5087 | ||
5088 | Version 2.01.00 - 17th January 2005 | |
5089 | =================================== | |
5090 | Fix vgscan metadata auto-correction. | |
5091 | Only ask libdevmapper for open_count when we need it. | |
5092 | Adjust RHEL4 clvmd init script priority. | |
5093 | Enable building of CMAN & GULM versions of clvmd into a single binary | |
5094 | ||
5095 | Version 2.00.33 - 7th January 2005 | |
5096 | ================================== | |
5097 | pvcreate wipes first 4 sectors unless given --zero n. | |
5098 | gulm clvmd now uses new ccsd key names. | |
5099 | gulm clvmd now doesn't ignore the first node in cluster.conf | |
5100 | Improve clvmd failure message if it's already running. | |
5101 | Allow user to kill clvmd during initialisation. | |
5102 | Fix off-by-one error in cluster_locking that could cause read hangs. | |
5103 | ||
5104 | Version 2.00.32 - 22nd December 2004 | |
5105 | ==================================== | |
5106 | Drop static/dl restriction for now. | |
5107 | Fix an error fprintf. | |
5108 | Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. | |
5109 | Fix device reference counting on re-opens. | |
5110 | Ignore sysfs symlinks when DT_UNKNOWN. | |
5111 | Add clvmd init script for RHEL4. | |
5112 | Skip devices that are too small to be PVs. | |
5113 | Fix pvchange -x segfault with lvm2-format orphan. | |
5114 | Cope with empty msdos partition tables. | |
5115 | Add CONTRIBUTORS file. | |
5116 | ||
5117 | Version 2.00.31 - 12th December 2004 | |
5118 | ==================================== | |
5119 | Reopen RO file descriptors RW if necessary. | |
5120 | ||
5121 | Version 2.00.30 - 10th December 2004 | |
5122 | ==================================== | |
5123 | Additional device-handling debug messages. | |
5124 | Additional verbosity level -vvvv includes line numbers and backtraces. | |
5125 | Verbose messages now go to stderr not stdout. | |
5126 | Close any stray file descriptors before starting. | |
5127 | Refine partitionable checks for certain device types. | |
5128 | Allow devices/types to override built-ins. | |
5129 | Fix lvreduce man page .i->.I | |
5130 | Fix vgsplit man page title. | |
5131 | Fix clvmd man makefile. | |
5132 | Extend dev_open logging. | |
5133 | Make clvmd_fix_conf.sh UNDOable. | |
5134 | ||
5135 | Version 2.00.29 - 27th November 2004 | |
5136 | ==================================== | |
5137 | xlate compilation fix. | |
5138 | ||
5139 | Version 2.00.28 - 27th November 2004 | |
5140 | ==================================== | |
5141 | Fix partition table & md signature detection. | |
5142 | Minor configure/makefile tidy. | |
5143 | Export version.h from tools for clvmd. | |
5144 | ||
5145 | Version 2.00.27 - 24th November 2004 | |
5146 | ==================================== | |
5147 | Trap large memory allocation requests. | |
5148 | Fix to partition table detection code. | |
5149 | Improve filter debug mesgs. | |
5150 | Make clvmd_fix_conf.sh UNDOable | |
5151 | ||
5152 | Version 2.00.26 - 23rd November 2004 | |
5153 | ==================================== | |
5154 | Improve pool debugging stats. | |
5155 | Detect partition table signature. | |
5156 | pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) | |
5157 | Separate out md superblock detection code. | |
5158 | Prevent snapshot origin resizing. | |
5159 | Improve a vgremove error message. | |
5160 | Update some man pages. | |
5161 | Allow y/n with -ae args (exclusive activation). | |
5162 | Fixes to lvcreate vgname parsing. | |
5163 | Fix dm_name string size calculation. | |
5164 | Improve clvmd error reporting during startup. | |
5165 | Make clvmd cope with large gaps in node numbers IDs. | |
5166 | Make clvmd initialisation cope better with debugging output. | |
5167 | Tidy clvmd socket callbacks so all work happens outside main loop. | |
5168 | clvmd -V now displays lvm version too. | |
5169 | Add optional gulm build for clvmd | |
5170 | ||
5171 | Version 2.00.25 - 29th September 2004 | |
5172 | ===================================== | |
5173 | Fix return code from rm_link for vgmknodes. | |
5174 | Make clvmd LV hash table thread-safe. | |
5175 | Fix clvmd locking so it will lock out multiple users on the same node. | |
5176 | Fix clvmd VG locking to it can cope with multiple VG locks. | |
5177 | Remove spurious trailing dot in lvreduce man page. | |
5178 | Fix vgremove locking. | |
5179 | ||
5180 | Version 2.00.24 - 16th September 2004 | |
5181 | ===================================== | |
5182 | Fix pool_empty so it really does empty the memory pool. | |
5183 | Rename old segtypes files to segtype. | |
5184 | Some fixes to memory debugging code. | |
5185 | Exclude internal commands formats & segtypes from install. | |
5186 | ||
5187 | Version 2.00.23 - 15th September 2004 | |
5188 | ===================================== | |
5189 | Export dm name build & split functions. | |
5190 | Use O_NOATIME on devices if available. | |
5191 | Write log message when each segtype/format gets initialised. | |
5192 | New commands 'segtypes' and 'formats'. | |
5193 | Suppress pvmove abort message in test mode. | |
5194 | Improve pvcreate/remove device not found error message. | |
5195 | Allow pvmove to move data within the same PV. | |
5196 | Describe how pvmove works on man page. | |
5197 | Test for incompatible format/segtype combinations in lv_extend. | |
5198 | Fix lvchange example on man page. | |
5199 | ||
5200 | Version 2.00.22 - 3rd September 2004 | |
5201 | ==================================== | |
5202 | Fix /dev/vgname perms. | |
5203 | Restructure xlate.h. | |
5204 | Add clvmd man page. | |
5205 | ||
5206 | Version 2.00.21 - 19th August 2004 | |
5207 | ================================== | |
5208 | Update cnxman-socket.h from cman. | |
5209 | Recognise iseries/vd devices. | |
5210 | Use 'make install_cluster' to install cluster extensions only. | |
5211 | Cope with DT_UNKNOWN in sysfs. | |
5212 | Fix extents_moved metadata size comment. | |
5213 | Remove duplicate line in pvremove help text. | |
5214 | Support variable mirror region size. | |
5215 | Support PE ranges in pvmove source PV. | |
5216 | Fixes to as-yet-unused LV segment splitting code. | |
5217 | Change alloc_areas to pe_ranges and allow suppression of availability checks. | |
5218 | Add dev_size column to pvs. | |
5219 | Add report columns for in-kernel device number. | |
5220 | ||
5221 | Version 2.00.20 - 3 July 2004 | |
5222 | ============================= | |
5223 | More autoconf fixes. | |
5224 | Fix device number handling for 2.6 kernels. | |
5225 | ||
5226 | Version 2.00.19 - 29 June 2004 | |
5227 | ============================== | |
5228 | Reduce severity of setlocale failure message. | |
5229 | Recognise argv[0] "initrd-lvm" (pld-linux). | |
5230 | Make -O2 configurable. | |
5231 | Added --disable-selinux to configure script. | |
5232 | LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. | |
5233 | Add init_debug to clvmd. | |
5234 | ||
5235 | Version 2.00.18 - 24 June 2004 | |
5236 | ============================== | |
5237 | Fix vgchange activation. | |
5238 | Add cluster support. | |
5239 | ||
5240 | Version 2.00.17 - 20 June 2004 | |
5241 | ============================== | |
5242 | configure --enable-fsadm to try out fsadm. fsadm is not tested yet. | |
5243 | Display all filtered devices, not just PVs, with pvs -a. | |
5244 | Fix sync_dir() when no / in filename | |
5245 | vgcfgbackup -f accepts template with %s for VG name. | |
5246 | Extend hash functions to handle non-null-terminated data. | |
5247 | Add local activation support. | |
5248 | Tidy relative paths in makefile includes. | |
5249 | fsadm support for fsck and resizing - needs testing. | |
5250 | Add read-only GFS pool support. | |
5251 | Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ | |
5252 | Fix rounding of large diplayed sizes. | |
5253 | Suppress decimal point when using units of sectors/bytes. | |
5254 | Additional kernel target checks before pvmove & snapshot creation. | |
5255 | Add i2o_block. | |
5256 | ||
5257 | Version 2.00.16 - 24 May 2004 | |
5258 | ============================= | |
5259 | Set area_count within alloc_lv_segment. | |
5260 | Remove error labels from lvresize. | |
5261 | Fix a pvs error path. | |
5262 | xxchange -ae for exclusive activation. | |
5263 | Don't return non-zero status if there aren't any volume groups. | |
5264 | Add --alloc argument to tools. | |
5265 | Rename allocation policies to contiguous, normal, anywhere, inherit. | |
5266 | nextfree becomes normal; anywhere isn't implemented yet. | |
5267 | LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal | |
5268 | Additional status character added to vgs to indicate allocation policy. | |
5269 | Add reset_fn to external_locking. | |
5270 | Ensure presence of virtual targets before attempting activating. | |
5271 | Attempt to fix resizing of snapshot origins. | |
5272 | Restructure lvresize, bringing it closer to lvcreate. | |
5273 | A quick sanity check on vg_disk struct when read in. More checks needed. | |
5274 | Only include visible LVs in active/open counts. | |
5275 | Add virtual segment types, zero and error. A large sparse device can be | |
5276 | constructed as a writeable snapshot of a large zero segment. | |
5277 | Add --type to lvcreate/resize. | |
5278 | Push lv_create & alloc policy up to tool level. | |
5279 | Fix pvdisplay return code. | |
5280 | Detect invalid LV names in arg lists. | |
5281 | Reporting uses line-at-a-time output. | |
5282 | lvm2 format sets unlimited_vols format flag. | |
5283 | Internal-only metadata flag support. | |
5284 | Basic checking for presence of device-mapper targets. | |
5285 | Separate out polldaemon. | |
5286 | Revise internal locking semantics. | |
5287 | Move find_pv_by_name to library. | |
5288 | Rename move->copy. | |
5289 | Add devices to segments report. | |
5290 | Begin separating out segment code. There's a lot of change here. | |
5291 | Compress any (obsolete) long LVM1 pvids encountered. | |
5292 | Support for tagged config files. | |
5293 | Don't abort operations if selinux present but disabled. | |
5294 | Fix typo in configure which left HAVE_LIBDL unset. | |
5295 | ||
5296 | Version 2.00.15 - 19 Apr 2004 | |
5297 | ============================= | |
5298 | configure --with-owner= --with-group= to avoid -o and -g args to 'install' | |
5299 | ||
5300 | Version 2.00.14 - 16 Apr 2004 | |
5301 | ============================= | |
5302 | Use 64-bit file functions by default. | |
5303 | ||
5304 | Version 2.00.13 - 16 Apr 2004 | |
5305 | ============================= | |
5306 | Set devices/md_component_detection = 1 to ignore devices containing md | |
5307 | superblocks. [Luca Berra] | |
5308 | Ignore error setting selinux file context if fs doesn't support it. | |
5309 | ||
5310 | Version 2.00.12 - 14 Apr 2004 | |
5311 | ============================= | |
5312 | Install a default lvm.conf into /etc/lvm if there isn't one already. | |
5313 | Allow different installation dir for lvm.static (configure --staticdir=) | |
5314 | Fix inverted selinux error check. | |
5315 | Recognise power2 in /proc/devices. | |
5316 | Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.] | |
5317 | ||
5318 | Version 2.00.11 - 8 Apr 2004 | |
5319 | ============================ | |
5320 | Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback) | |
5321 | to run lvm1 binaries if running a 2.4 kernel without device-mapper. | |
5322 | ||
5323 | Version 2.00.10 - 7 Apr 2004 | |
5324 | ============================ | |
5325 | More fixes for static build. | |
5326 | Add basic selinux support. | |
5327 | Fix sysfs detection. | |
5328 | ||
5329 | Version 2.00.09 - 31 Mar 2004 | |
5330 | ============================= | |
5331 | Update copyright notices for Red Hat. | |
5332 | Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd). | |
5333 | Add LVM1-style colon output to vgdisplay. | |
5334 | lvchange --refresh to reload active LVs. | |
5335 | Add string display to memory leak dump. | |
5336 | Add locking flags & memlock option. | |
5337 | Add list_versions to library. | |
5338 | Ignore open hidden LVs when checking if deactivation is OK. | |
5339 | Suppress move percentage when device inactive. | |
5340 | Add lv_info_by_lvid. | |
5341 | Various tidy-ups to the build process. | |
5342 | Rebaseline internal verbose level. | |
5343 | Add --nolocking option for read operations if locking is failing. | |
5344 | Add option to compile into a library. | |
5345 | When compiled without libdevmapper, only print warning message once. | |
5346 | Fix lvreduce PV extent calculations. | |
5347 | Fix DESTDIR to work with configure path overrides. | |
5348 | Always use / as config file separator & rename internal config file variables. | |
5349 | Add support for tagging PV/VG/LVs and hosts. | |
5350 | Fix rare bug in recognition of long cmdline argument forms. | |
5351 | Add basic internationalisation infrastructure. | |
5352 | Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels. | |
5353 | Update autoconf files. | |
5354 | Add sysfs block device filtering for 2.6 kernels. | |
5355 | Update refs for move to sources.redhat.com. | |
5356 | ||
5357 | Friday 14th November 2003 | |
5358 | ========================= | |
5359 | Some bug fixes & minor enhancements, including: | |
5360 | Backwards compatibility with LVM1 metadata improved. | |
5361 | Missing man pages written. | |
5362 | Tool error codes made more consistent. | |
5363 | vgmknodes written. | |
5364 | O_DIRECT can be turned off if it doesn't work in your kernel. | |
5365 | dumpconfig to display the active configuration file | |
5366 | ||
5367 | You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'. | |
5368 | If your root filesystem is on an LV, you should run one of those two | |
5369 | commands to fix up the special files in /dev in your real root filesystem | |
5370 | after finishing with your initrd. Also, remember you can use | |
5371 | 'vgchange --ignorelockingfailure' on your initrd if the tool fails because | |
5372 | it can't write a lock file to a read-only filesystem. | |
5373 | ||
5374 | Wednesday 30th April 2003 | |
5375 | ========================= | |
5376 | A pvmove implementation is now available for the new metadata format. | |
5377 | ||
5378 | When running a command that allocates space (e.g. lvcreate), you can now | |
5379 | restrict not only which disk(s) may be used but also the Physical Extents | |
5380 | on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 | |
5381 | ||
5382 | ||
5383 | Monday 18th November 2002 | |
5384 | ======================== | |
5385 | ||
5386 | The new format of LVM metadata is ready for you to test! | |
5387 | We expect it to be more efficient and more robust than the original format. | |
5388 | It's more compact and supports transactional changes and replication. | |
5389 | Should things go wrong on a system, it's human-readable (and editable). | |
5390 | ||
5391 | Please report any problems you find to the mailing list, | |
5392 | linux-lvm@sistina.com. The software has NOT yet been thoroughly | |
5393 | tested and so quite possibly there'll still be some bugs in it. | |
5394 | Be aware of the disclaimer in the COPYING file. | |
5395 | ||
5396 | While testing, we recommend turning logging on in the configuration file | |
5397 | to provide us with diagnostic information: | |
5398 | log { | |
5399 | file="/tmp/lvm2.log" | |
5400 | level=7 | |
5401 | activation=1 | |
5402 | } | |
5403 | ||
5404 | You should schedule regular backups of your configuration file and | |
5405 | metadata backups and archives (normally kept under /etc/lvm). | |
5406 | ||
5407 | Please read docs/example.conf and "man lvm.conf" to find out more about | |
5408 | the configuration file. | |
5409 | ||
5410 | To convert an existing volume group called vg1 to the new format using | |
5411 | the default settings, use "vgconvert -M2 vg1". See "man vgconvert". | |
5412 | ||
5413 | -M (or --metadatatype in its long form) is a new flag to indicate which | |
5414 | format of metadata the command should use for anything it creates. | |
5415 | Currently, the valid types are "lvm1" and "lvm2" and they can be | |
5416 | abbreviated to "1" and "2" respectively. The default value for this | |
5417 | flag can be changed in the global section in the config file. | |
5418 | ||
5419 | Backwards-compatible support for the original LVM1 metadata format is | |
5420 | maintained, but it can be moved into a shared library or removed | |
5421 | completely with configure's --with-lvm1 option. | |
5422 | ||
5423 | Under LVM2, the basic unit of metadata is the volume group. Different | |
5424 | volume groups can use different formats of metadata - vg1 could use | |
5425 | the original LVM1 format while vg2 used the new format - but you can't | |
5426 | mix formats within a volume group. So to add a PV to an LVM2-format | |
5427 | volume group you must run "pvcreate -M2" on it, followed by "vgextend". | |
5428 | ||
5429 | With LVM2-format metadata, lvextend will let you specify striping | |
5430 | parameters. So an LV could consist of two or more "segments" - the | |
5431 | first segment could have 3 stripes while the second segment has just 2. | |
5432 | ||
5433 | LVM2 maintains a backup of the current metadata for each volume group | |
5434 | in /etc/lvm/backup, and puts copies of previous versions in | |
5435 | /etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to | |
5436 | create and restore from these files. If you fully understand what | |
5437 | you're doing, metadata can be changed by editing a copy of a current | |
5438 | backup file and using vgcfgrestore to reload it. | |
5439 | ||
5440 | Please read the pvcreate man page for more information on the new | |
5441 | format for metadata. | |
5442 | ||
5443 | All tools that can change things have a --test flag which can be used | |
5444 | to check the effect of a set of cmdline args without really making the | |
5445 | changes. | |
5446 | ||
5447 | ||
5448 | What's not finished? | |
5449 | ==================== | |
5450 | The internal cache. If you turn on debugging output you'll see lots of | |
5451 | repeated messages, many of which will eventually get optimised out. | |
5452 | ||
5453 | --test sometimes causes a command to fail (e.g. vgconvert --test) even | |
5454 | though the real command would work: again, fixing this is waiting for | |
5455 | the work on the cache. | |
5456 | ||
5457 | Several of the tools do not yet contain the logic to handle full | |
5458 | recovery: combinations of pvcreate and vgcfgrestore may sometimes be | |
5459 | needed to restore metadata if a tool gets interrupted or crashes or | |
5460 | finds something unexpected. This applies particularly to tools that | |
5461 | work on more than one volume group at once (e.g. vgsplit). | |
5462 | ||
5463 | Display output. Some metadata information cannot yet be displayed. | |
5464 | ||
5465 | Recovery tools to salvage "lost" metadata directly from the disks: | |
5466 | but we hope the new format will mean such tools are hardly ever needed! | |
5467 | ||
5468 |