]> sourceware.org Git - lvm2.git/blame - WHATS_NEW
Fix orphan-related locking in pvdisplay and pvs.
[lvm2.git] / WHATS_NEW
CommitLineData
e4e02000
AK
1Version 2.02.29 -
2==================================
d38bf361
AK
3 Fix orphan-related locking in pvdisplay and pvs.
4 Fix missing VG unlocks in some pvchange error paths.
5 Add some missing validation of VG names.
6 Rename validate_vg_name() to validate_new_vg_name().
7 Change orphan lock to VG_ORPHANS.
8 Change format1 to use ORPHAN as orphan VG name.
9c1dbeb3 9 Convert pvchange, pvdisplay, pvscan to use is_orphan()
d38bf361 10 Add is_orphan_vg() and change all hard-coded checks to use it.
47c06763 11 Detect md superblocks version 1.0, 1.1 and 1.2.
0283c439 12 Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths.
1b8de4cb 13 Add pv_dev_name() to access PV device name.
70d9f98e 14 Add const attributes to pv accessor functions.
0283c439 15 Refactor vg_add_snapshot() and lv_create_empty().
6aca8e92 16 Handle new sysfs subsystem/block/devices directory structure.
6c1d30b7 17 Tests are run with LVM_SYSTEM_DIR pointing to private root and /dev dirs.
da08e40f 18 Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries.
216283b6 19 Fix underquotations in lvm_dump.sh.
479921f1 20 Refactor lvcreate stripe and mirror parameter validation.
01c2ec4b 21 All tools: print --help output to stdout, not stderr.
60c453a2 22 After a diagnostic, suggest --help, rather than printing all --help output.
dfef7f69 23 Add %PVS extents option to lvresize, lvextend, and lvcreate.
d5f554ab 24 Moved the obsolete test subdirectory to old-tests.
13aba081 25 Remove no-longer-correct restrictions on PV arg count with stripes/mirrors.
9eea0107 26 Fix strdup memory leak in str_list_dup().
533a024a
AK
27 Link with -lpthread when static SELinux libraries require that.
28 Detect command line PE values that exceed their 32-bit range.
b45b8464 29 Include strerror string in dev_open_flags' stat failure message.
c6ea067f 30 Move guts of pvresize into library.
2b849ab4
AK
31 Avoid error when --corelog is provided without --mirrorlog. (2.02.28)
32 Correct --mirrorlog argument name in man pages (not --log).
33 Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear.
f603fe64
DW
34 Modify lvremove to prompt for removal if LV active on other cluster nodes.
35 Add '-f' to vgremove to force removal of VG even if LVs exist.
b45b8464 36
230948b9
AK
37Version 2.02.28 - 24th August 2007
38==================================
d2fb8b66 39 Fix clvmd logging so you can get lvm-level debugging out of it.
e935d217 40 Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R.
230948b9 41 Change locking_flags from int to uint32_t.
88fc506b 42 Fix clvmd -R, so it fully refreshes the caches.
3b3948f1 43 Change lvconvert_mirrors to use mirror segtype not striped.
ea041b12 44 Fix lvconvert_mirrors detection of number of existing mirrors.
230948b9 45 Clean up numerous compiler warnings that appeared in recent releases.
21bc3664 46 Remove several unused parameters from _allocate().
edb3374d 47 Only permit --force, --verbose and --debug arguments to be repeated.
be684599 48 Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
230948b9
AK
49 Move guts of vgremove and lvremove into library, including yes_no_prompt.
50 Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C].
7a197a62 51 Update to use autoconf 2.61, while still supporting 2.57.
230948b9
AK
52 Add more cluster info to lvmdump.
53 Add further const attributes throughout.
48bb503f 54 Add support for renaming mirrored LVs.
230948b9 55 Factor out core of lvrename() to library function.
edb3374d 56 Add --mirrorlog argument to specify log type for mirrors.
230948b9
AK
57 Don't attempt to monitor devices if their creation failed in _lv_activate.
58 Don't leak a file descriptor in fcntl_lock_file() when fcntl fails.
edb3374d 59 Replace create_dir with dm_create_dir.
230948b9 60 Detect stream write failure reliably with lvm_fclose using dm_fclose.
3c116860 61 Fix clvmd if compiled with gulm support. (2.02.26)
230948b9 62 Fix lvdisplay man page to say LV size is reported in sectors, not KB.
891c3d29 63 Add vg_lock_and_read() external library function.
8a0de6c3 64 Fix loading of persistent cache if cache_dir is used. (2.02.23)
230948b9
AK
65 Reduce _compare_paths lstat error message from log_error to log_very_verbose.
66 Create util.h with last_path_component replacing strdup + basename.
bbcd2460 67 Use gcc's printf attribute wherever possible.
230948b9 68 In _line_append, use "sizeof buf - 1" rather than equivalent "4095".
c93e6b5f 69 Introduce is_same_inode macro, now including a comparison of st_dev.
230948b9 70 Don't leak a file descriptor in _lock_file() when flock fails.
3579b652 71 Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters.
03eee0e2 72 Split metadata-external.h out from metadata.h for the tools to use.
f5840016 73
6fb02eb2 74Version 2.02.27 - 17th July 2007
6dee7d31 75================================
5b7d1629 76 Fix snapshot cow area deactivation if origin is not active. (2.02.13)
d1158c75 77 Fix configure libdevmapper.h check when --with-dmdir is used.
0c795e2e 78 Turn _add_pv_to_vg() into external library function add_pv_to_vg().
33e56019 79 Add pv_by_path() external library function.
b3ae66ae 80 Tidy clvmd-openais of redundant bits, and improve an error report.
3c21da17 81 Cope with find_seg_by_le() failure in check_lv_segments().
fb697f28 82 Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint.
d27e1233 83 Add vg_mda_count and pv_mda_count columns to reports.
68c87619 84 Fix dumpconfig to use log_print instead of stdout directly.
fba549f8 85 Remove unused parameter 'fid' from _add_pv_to_vg.
68c87619
AK
86 Add kernel and device-mapper targets versions to lvmdump.
87 Replace BSD (r)index with C89 str(r)chr.
88 Handle vgsplit of an entire VG as a vgrename.
89 Reinitialise internal lvmdiskscan variables when called repeatedly.
86df68f3 90 Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23)
69483a8a 91 Add vg_status function and clean up vg->status in tools directory.
53c774b9 92 Add --ignoremonitoring to disable all dmeventd interaction.
69483a8a 93 Remove get_ prefix from get_pv_* functions.
8e2f0361 94 clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm.
e7ddf416 95 Print warnings to stderr instead of stdout.
6dee7d31 96
8f1fb4ad
AK
97Version 2.02.26 - 15th June 2007
98================================
1471bc87 99 Update vgcfgrestore man page.
8f1fb4ad
AK
100 Allow keyboard interrupt during user prompts when appropriate.
101 Remove unused clvmd system-lv code.
102 Replace many physical_volume struct dereferences with new get_pv_* functions.
103 Suppress a benign compile-time warning.
b496210d 104 Convert find_pv_in_vg_by_uuid and pv_create to use PV handles.
4e5f3e73 105 Add wrappers to some functions in preparation for external LVM library.
8f1fb4ad 106 Add -f to vgcfgrestore to list metadata backup files.
c221b0bc 107 Add vg_check_status to consolidate vg status checks and error messages.
5a4ba89a 108 Add pvdisplay --maps implementation.
8f1fb4ad
AK
109 Remove unsupported LVM1 options from vgcfgrestore man page.
110 Update vgcfgrestore man page to show mandatory VG name.
111 Update vgrename man page to include UUID and be consistent with lvrename.
59231b56 112 Add (experimental) OpenAIS support to clvmd.
8f1fb4ad 113 Fix deactivation code to follow dependencies and remove symlinks.
b3b0f199 114 Fix and clarify vgsplit error messages.
8f1fb4ad
AK
115 Fix a segfault in device_is_usable() if a device has no table.
116 Add some more debug messages to clvmd startup.
117 Misc clvmd cleanups.
ffd5c5c8 118
e3a12d14 119Version 2.02.25 - 27th April 2007
a8f51fa2 120=================================
19eb95f7 121 Fix get_config_uint64() to read a 64-bit value not a 32-bit one.
7c03887b 122 Add -Wformat-security and change one fprintf() to fputs().
e6edd1d7 123 Move regex functions into libdevmapper.
1bf5aae9 124 Change some #include lines to search only standard system directories.
4f2f566b
AK
125 Add devices/preferred_names config regex list for displayed device names.
126 Free a temporary dir string in fcntl_lock_file() after use.
127 Fix a dm_pool_destroy() in matcher_create().
128 Introduce goto_bad macro.
129 Fix warnings on x86_64 involving ptrdiff_t in log_error messages.
130 Update pvck to include text metadata area and record detection.
131 Add support functions for token counting in config file extracts.
132 Update pvck to read labels on disk, with --labelsector parameter.
133 Add count_chars and count_chars_len functions.
134 Add /sys/block listings to lvm_dump.sh.
135 Make lvm_dump.sh list /dev recursively.
05aa860f 136 Fix thread race in clvmd.
17a6fc0b 137 Add scan_sector param to label_read and _find_labeller.
4f2f566b
AK
138 Make clvmd cope with quorum devices.
139 Add extra internal error checking to clvmd.
662e0238 140 Add dev_read_circular.
cc5a4e1d 141 Add pvck command stub.
b4fb5226
AK
142 Update lists of attribute characters in man pages.
143 Change cling alloc policy attribute character from 'C' to l'.
5d06515c 144 Fix creation and conversion of mirrors with tags.
851002b8
MB
145 Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata).
146 Split metadata areas in vgsplit properly.
a8f51fa2 147
91dc07af
AK
148Version 2.02.24 - 19th March 2007
149=================================
eca7ef18 150 Fix processing of exit status in init scripts
d330e660 151 Fix vgremove to require at least one vg argument.
74e2acb6
AK
152 Fix reading of striped LVs in LVM1 format.
153 Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10)
b9b26011 154 Add a few missing pieces of vgname command line validation.
9397354a 155 Support the /dev/mapper prefix on most command lines.
13e5d242
AK
156
157Version 2.02.23 - 8th March 2007
158================================
b45c9f49 159 Fix vgrename active LV check to ignore differing vgids.
8fe54fdd 160 Remove no-longer-used uuid_out parameter from activation info functions.
af914569 161 Fix two more segfaults if an empty config file section encountered.
87cec8eb
AK
162 Move .cache file into a new /etc/lvm/cache directory by default.
163 Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache.
164 Create directory in fcntl_lock_file() if required.
f359c9b8 165 Exclude readline support from lvm.static.
0558b928 166 Fix a leak in a reporting error path (2.02.19).
2f2c9932 167
187c689f
AK
168Version 2.02.22 - 13th February 2007
169====================================
d8ff86fd
AK
170 Correct -b and -P on a couple of man pages.
171 Add global/units to example.conf.
e09dfed8 172 Fix loading of segment_libraries.
37fb985a
AK
173 If a PV reappears after it was removed from its VG, make it an orphan.
174 Don't update metadata automatically if VGIDs don't match.
aa350ef4 175 Fix some vgreduce --removemissing command line validation.
612209c8 176
f21f60d5 177Version 2.02.21 - 30th January 2007
67fa4fd4 178===================================
319e74e2 179 Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring.
ce4c3310
AK
180 Fix vgsplit to handle mirrors.
181 Reorder fields in reporting field definitions.
898b3d4d 182 Fix vgs to treat args as VGs even when PV fields are displayed.
fce67134 183 Fix md signature check to handle both endiannesses.
67fa4fd4 184
667eb775 185Version 2.02.20 - 25th January 2007
07473c2b 186===================================
aca04336 187 dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors.
f247a4e7 188 Add devices/ignore_suspended_devices to ignore suspended dm devices.
2e1b92e3
AK
189 Add some missing close() and fclose() return code checks.
190 Fix exit statuses of reporting tools (2.02.19).
00fc37f1 191 Add init script for dmeventd monitoring.
20db8ffc 192 lvm.static no longer interacts with dmeventd unless explicitly asked to.
57fc4cc0
AK
193 Add field definitions to report help text.
194 Remove unnecessary cmd arg from target_*monitor_events().
3329c698 195 Add private variable to dmeventd shared library interface.
dd9927bc 196 Long-lived processes write out persistent dev cache in refresh_toolcontext().
f72de1dc
AK
197 Fix refresh_toolcontext() always to wipe persistent device filter cache.
198 Add is_long_lived to toolcontext.
147b7d5e 199 Add --clustered to man pages.
7fee061a 200 Streamline dm_report_field_* interface.
8a37910d 201 Change remaining dmeventd terminology 'register' to 'monitor'.
10232bd9 202 Update reporting man pages.
147b7d5e 203 No longer necessary to specify alignment type for report fields.
07473c2b 204
c3afa8df 205Version 2.02.19 - 17th January 2007
99a4014f 206===================================
6a91a99b 207 Fix a segfault if an empty config file section encountered.
d838a1e3 208 Move basic reporting functions into libdevmapper.
b1ab8b00
AK
209 Fix partition table processing after sparc changes (2.02.16).
210 Fix cmdline PE range processing segfault (2.02.13).
02059c81 211 Some libdevmapper-event interface changes.
8ef6eb30
AK
212 Report dmeventd mirror monitoring status.
213 Fix dmeventd mirror status line processing.
99a4014f 214
96710ad8
AK
215Version 2.02.18 - 11th January 2007
216===================================
6b36e863 217 Revised libdevmapper-event interface for dmeventd.
65e635b6 218 Remove dmeventd mirror status line word limit.
3b007b27 219 Use CFLAGS when linking so mixed sparc builds can supply -m64.
fb12fd44
AK
220 Prevent permission changes on active mirrors.
221 Print warning instead of error message if lvconvert cannot zero volume.
222 Add snapshot options to lvconvert man page.
2eeb2a1f
AK
223 dumpconfig accepts a list of configuration variables to display.
224 Change dumpconfig to use --file to redirect output to a file.
7c0cd273 225 Avoid vgreduce error when mirror code removes the log LV.
7cb59417 226 Remove 3 redundant AC_MSG_RESULTs from configure.in.
e62436fc
AK
227 Free memory in _raw_read_mda_header() error paths.
228 Fix ambiguous vgsplit error message for split LV.
229 Fix lvextend man page typo.
33f732c5
AK
230 Add configure --with-dmdir to compile against a device-mapper source tree.
231 Use no flush suspending for mirrors.
6032a223 232 Add dmeventd_mirror register_mutex, tidy initialisation & add memlock.
aa8a4d96 233 Fix create mirror with name longer than 22 chars.
0ce83a83 234 Fix some activate.c prototypes when compiled without devmapper.
0c8569ed 235 Fix dmeventd mirror to cope if monitored device disappears.
1a42d65a 236
dced1554
AK
237Version 2.02.17 - 14th December 2006
238====================================
67e6c7e7 239 Add missing pvremove error message when device doesn't exist.
5b61ca72
AK
240 When lvconvert allocates a mirror log, respect parallel area constraints.
241 Use loop to iterate through the now-ordered policy list in _allocate().
242 Check for failure to allocate just the mirror log.
243 Introduce calc_area_multiple().
244 Support mirror log allocation when there is only one PV: area_count now 0.
948ee3e3 245 Fix detection of smallest area in _alloc_parallel_area() for cling policy.
699b275a 246 Add manpage entry for clvmd -T
e3e6eba1 247 Fix gulm operation of clvmd, including a hang when doing lvchange -aey
47436a42 248 Fix hang in clvmd if a pre-command failed.
193992de 249
b3bafefd
AK
250Version 2.02.16 - 1st December 2006
251===================================
0357f18e 252 Fix VG clustered read locks to use PR not CR.
4dc0ec22 253 Adjust some alignments for ia64/sparc.
6c48fe74 254 Fix mirror segment removal to use temporary error segment.
a16f48e3
PC
255 Always compile debug logging into clvmd.
256 Add startup timeout to RHEL4 clvmd startup script.
bd8be78c 257 Add -T (startup timeout) switch to clvmd.
d9cc9173 258 Improve lvm_dump.sh robustness.
066ac2ef 259 Update lvm2create_initrd to support gentoo.
55b5ce87 260
efecd5c1 261Version 2.02.15 - 21st November 2006
3b276539 262====================================
efecd5c1 263 Fix clvmd_init_rhel4 line truncation (2.02.14).
4eee5764 264 Install lvmdump by default.
25375165 265 Fix check for snapshot module when activating snapshot.
ba4f5d80 266 Fix pvremove error path for case when PV is in use.
9f7e7709 267 Warn if certain duplicate config file entries are seen.
15545b91 268 Enhance lvm_dump.sh for sysreport integration and add man page.
b65e33f4 269 Fix --autobackup argument which could never disable backups.
deb202bd 270 Fix a label_verify error path.
3b276539 271
9f74b2fc
AK
272Version 2.02.14 - 10th November 2006
273====================================
f96cde8c
AK
274 Fix adjusted_mirror_region_size() to handle 64-bit size.
275 Add some missing bounds checks on 32-bit extent counters.
a89d6014
AK
276 Add Petabyte and Exabyte support.
277 Fix lvcreate error message when 0 extents requested.
581e8111 278 lvremove man page: volumes must be cluster inactive before being removed.
c1c16a8f
AK
279 Protect .cache manipulations with fcntl locking.
280 Change .cache timestamp comparisons to use ctime.
1c3c2df9 281 Fix mirror log LV writing to set all bits in whole LV.
df52a8b5 282 Fix clustered VG detection and default runlevels in clvmd_init_rhel4.
c8902451 283 Fix high-level free space check for partial allocations.
7d1c3fcd 284
ffe524cc 285Version 2.02.13 - 27th October 2006
38a5f0b6 286===================================
7f31917d 287 Add couple of missing files to tools/Makefile CLEAN_TARGETS.
013577fb 288 When adding snapshot leave cow LV mapped device active after zeroing.
99d00efa 289 Fix a clvmd debug message.
4098f628 290 Add dev_flush() to set_lv().
e51d50a1 291 Add lvchange --resync.
2bdc8e12 292 Perform high-level free space check before each allocation attempt.
77fcc207 293 Don't allow a node to remove an LV that's exclusively active on anther node.
9766c3c9 294 Cope if same PV is included more than once in cmdline PE range list.
b16b9c2b 295 Set PV size to current device size if it is found to be zero.
7c5ec126 296 Add segment parameter to target_present functions.
38a5f0b6 297
0b0fd330 298Version 2.02.12 - 16th October 2006
89a4e806 299===================================
e663b4e8 300 Fix pvdisplay to use vg_read() for non-orphans.
04dabc15 301 Fall back to internal locking if external locking lib is missing or fails.
a590f3b6
AK
302 Retain activation state after changing LV minor number with --force.
303 Propagate clustered flag in vgsplit and require resizeable flag.
89a4e806 304
181b5f00
AK
305Version 2.02.11 - 12th October 2006
306===================================
efa483c5 307 Add clvmd function to return the cluster name. not used by LVM yet.
de5c82a0 308 Add cling allocation policy.
4a2ca1b9 309 Change _check_contiguous() to use _for_each_pv().
b6f85520
AK
310 Extend _for_each_pv() to allow termination without error.
311 Abstract _is_contiguous().
68d7c0e6 312 Remove duplicated pv arg from _check_contiguous().
705eabf7 313 Accept regionsize with lvconvert.
d547cbb0
AK
314 Add report columns with underscore before field names ending 'size'.
315 Correct regionsize default on lvcreate man page (MB).
e37a2415 316 Fix clvmd bug that could cause it to die when a node with a long name crashed.
b4e2a0e1 317 Add device size to text metadata.
209f03f2 318 Fix format_text mda_setup pv->size and pv_setup pe_count calculations.
8d18637e 319 Fix _for_each_pv() for mirror with core log.
92921054 320 Add lvm_dump.sh script to create a tarball of debugging info from a system.
2a7f7fc1 321 Capture error messages in clvmd and pass them back to the user.
7089e02c 322 Remove unused #defines from filter-md.c.
dc9dcb3d 323 Make clvmd restart init script wait until clvmd has died before starting it.
13583874 324 Add -R to clvmd which tells running clvmds to reload their device cache.
6c81ed26 325 Add LV column to reports listing kernel modules needed for activation.
1baed0e1 326 Show available fields if report given invalid field. (e.g. lvs -o list)
8b1a3214 327 Add timestamp functions with --disable-realtime configure option.
34fadac4 328 Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg.
5095de51 329 Fix two potential NULL pointer derefs in error cases in vg_read().
e0a26692 330 Separate --enable-cluster from locking lib options in lvmconf.sh.
d1a1e1a3 331 Add a missing comma in lvcreate man page.
71fc0206 332
19513ad8
AK
333Version 2.02.10 - 19th September 2006
334=====================================
13ba0f94
AK
335 Fix lvconvert mirror change case detection logic.
336 Fix mirror log detachment so it correctly becomes a standalone LV.
bbb06856
AK
337 Extend _check_contiguous() to detect single-area LVs.
338 Include mirror log (untested) in _for_each_pv() processing.
339 Use MIRROR_LOG_SIZE constant.
340 Remove struct seg_pvs from _for_each_pv() to generalise.
341 Avoid adding duplicates to list of parallel PVs to avoid.
d9c6bbab
AK
342 Fix several incorrect comparisons in parallel area avoidance code.
343 Fix segment lengths when flattening existing parallel areas.
344 Log existing parallel areas prior to allocation.
345 Fix mirror log creation when activation disabled.
fe748f00 346 Don't attempt automatic recovery without proper locking.
dc4d7417
AK
347 When using local file locking, skip clustered VGs.
348 Add fallback_to_clustered_locking and fallback_to_local_locking parameters.
a45da5f6
AK
349 lvm.static uses built-in cluster locking instead of external locking.
350 Don't attempt to load shared libraries if built statically.
1c792fad 351 Change default locking_lib to liblvm2clusterlock.so.
08c060cf
AK
352 Add skip_dev_dir() to process command line VGs.
353 Stop clvmd complaining about nodes that have left the cluster.
0550c1b6 354 Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper.
48432c88
AK
355 Add lvconvert man page.
356 Add mirror options to man pages.
d68336a5 357 Prevent mirror renames.
6711231a 358 Move CMDLIB code into separate file and record whether static build.
ade81b8a 359
086b63ca 360Version 2.02.09 - 17th August 2006
64c84579 361==================================
94d501ed 362 Fix PE_ALIGN for pagesize over 32KB.
b5d761e1 363 Separate out LVM1_PE_ALIGN and pe_align().
916490f8 364 Add lvm_getpagesize wrapper.
e95d8284 365 Add --maxphysicalvolumes to vgchange.
64c84579 366
a9a6934b
AK
367Version 2.02.08 - 15th August 2006
368==================================
438abca8
AK
369 Add checks for duplicate LV name, lvid and PV id before writing metadata.
370 Report all sanity check failures, not just the first.
9cd3426d 371 Fix missing lockfs on first snapshot creation.
e3ad1d19 372 Add unreliable --trustcache option to reporting commands.
8b0d546f 373 Fix locking for mimage removal.
b813f533 374 Fix clvmd_init_rhel4 'status' exit code.
7a21367d 375
cecdabd9
AK
376Version 2.02.07 - 17th July 2006
377================================
443a8f76 378 Fix activation logic in lvchange --persistent.
fe686a51 379 Don't ignore persistent minor numbers when activating.
0b431b8a 380 Use RTLD_GLOBAL when loading shared libraries.
e67ed94b 381 Add some forgotten memlock checks to _vg_read to protect against full scans.
f1dc5cc9
AK
382 Add mutex to dmeventd_mirror to avoid concurrent execution.
383 Fix vgreduce --removemissing to return success if VG is already consistent.
4bfab20a 384 Fix return code if VG specified on command line is not found.
2415c1ef
AK
385 Fix PV tools to include orphaned PVs in default output again.
386 Fixed unaligned access when using clvm.
9f100d60 387 Fix an extra dev_close in a label_read error path.
4cd33f98 388 Append patches to commit emails.
4aae7246 389 Fix target_register_events args.
83de5aa6 390 Prevent snapshots of mirrors.
aba30ebc
AK
391 Add DISTCLEAN_TARGETS to make template for configure.h.
392 More fixes to error paths.
2293567c
AK
393 Fix lvcreate corelog validation.
394 Add --config for overriding most config file settings from cmdline.
395 Quote arguments when printing command line.
396 Remove linefeed from 'initialising logging' message.
397 Add 'Completed' debug message.
398 Don't attempt library exit after reloading config files.
399 Always compile with libdevmapper, even if device-mapper is disabled.
476d09d0 400
396cbbde
AK
401Version 2.02.06 - 12th May 2006
402===============================
3e3d5d85
AK
403 Propagate --monitor around cluster.
404 Add --monitor to vgcreate and lvcreate to control dmeventd registration.
405 Filter LCK_NONBLOCK in clvmd lock_vg.
de828433 406 Add --nosync to lvcreate with LV flag NOTSYNCED.
49fba23c 407 Use mirror's uuid for a core log.
aeb2c277
AK
408 Add mirror log fault-handling policy.
409 Improve mirror warning messages and tidy dmeventd syslog output.
526a3c21 410 Propagate nosync flag around cluster.
532dae48 411 Allow vgreduce to handle mirror log failures.
f17f6814 412 Add --corelog to lvcreate and lvconvert.
5c9d70c9
AK
413 Create a log header for replacement in-sync mirror log.
414 Use set_lv() and dev_set() to wipe sections of devices.
415 Add mirror_in_sync() flag to avoid unnecessary resync on activation.
898e6f8e 416 Add mirror_library description to example.conf.
eba586f0 417 Fix uuid_from_num() buffer overrun.
72b2cb61
AK
418 Make SIZE_SHORT the default for display_size().
419 Fix some memory leaks in error paths found by coverity.
420 Use C99 struct initialisers.
421 Move DEFS into configure.h.
422 Clean-ups to remove miscellaneous compiler warnings.
12de747d
AK
423 Improve stripe size validation.
424 Increase maximum stripe size limit to physical extent size for lvm2 metadata.
2f1489a6 425 Fix activation code to check for pre-existing mirror logs.
089ae9a5 426 Tighten region size validation.
81b4308b 427 Ignore empty strings in config files.
12ccdb25 428 Require non-zero regionsize and document parameter on lvcreate man page.
26b25249
AK
429 Invalidate cache if composition of VG changed externally.
430
05ffaffe 431Version 2.02.05 - 21st April 2006
c05fbac2 432=================================
05ffaffe 433 Fix vgid string termination in recent cache code.
c05fbac2 434
13eadfc9 435Version 2.02.04 - 19th April 2006
3ab3766f 436=================================
8a2fc586
AK
437 Check for libsepol.
438 Add some cflow & scope support.
439 Separate out DEFS from CFLAGS.
440 Remove inlines and use unique function names.
3ab3766f 441
7fae84d7
AK
442Version 2.02.03 - 14th April 2006
443=================================
dbd3026f 444 vgrename accepts vgid and exported VG.
f855ac38 445 Add --partial to pvs.
2ab16287
AK
446 When choosing between identically-named VGs, also consider creation_host.
447 Provide total log suppression with 2.
a5fe5a7c
AK
448 Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct.
449 Add vgid to struct physical_volume and pass with vg_name to some functions.
e8db7023 450 If two or more VGs are found with the same name, use one that is not exported.
f084e627 451 Whenever vgname is captured, also capture vgid and whether exported.
cced28da 452 Remove an incorrect unlock_vg() from process_each_lv().
76f97cd7 453 Update extent size information in vgchange and vgcreate man pages.
ace652e6 454 Introduce origin_from_cow() and lv_is_visible().
7810d55d 455 pvremove without -f now fails if there's no PV label.
1c8b86c7 456 Support lvconvert -s.
1a01b0c1 457 Suppress locking library load failure message if --ignorelockingfailure.
9f5d8283 458 Propagate partial mode around cluster.
d6207798 459 Fix archive file expiration.
ed2b1bc5 460 Fix dmeventd build.
e7f55bb4 461 clvmd now uses libcman rather than cman ioctls.
a3167672 462 clvmd will allow new cman to shutdown on request.
ed2b1bc5 463
b5f90860
AK
464Version 2.02.02 - 7th February 2006
465===================================
f0c9fe01 466 Add %.so: %.a make template rule.
e4c11ad1
AK
467 Switchover library building to use LIB_SUFFIX.
468 Only do lockfs filesystem sync when suspending snapshots.
bfe2b548 469 Always print warning if activation is disabled.
079ac15e 470 vgreduce removes mirror images.
c9dcba6b 471 Add --mirrorsonly to vgreduce.
3fc3e48c 472 vgreduce replaces active LVs with error segment before removing them.
bbf83db1
AK
473 Set block_on_error parameter if available.
474 Add target_version.
cad9fac9 475 Add details to format1 'Invalid LV in extent map' error message.
e6493477 476 Fix lvscan snapshot full display.
15d91f5a 477 Bring lvdisplay man page example into line.
06f62ad1 478 Add mirror dmeventd library.
e2619d9e
AK
479 Add some activation logic to remove_mirror_images().
480 lvconvert can remove specified PVs from a mirror.
481 lvconvert turns an existing LV into a mirror.
482 Allow signed mirrors arguments.
483 Move create_mirror_log() into toollib.
c27920b1 484 Determine parallel PVs to avoid with ALLOC_NORMAL allocation.
2fb492f6 485 Fix lv_empty.
ebf78e7d 486
20e5495e 487Version 2.02.01 - 23rd November 2005
0c32d9db 488====================================
f3ce273f 489 Fix lvdisplay cmdline to accept snapshots.
349216a6 490 Fix open RO->RW promotion.
749caf94 491 Fix missing vg_revert in lvcreate error path.
0c32d9db 492
da5edd8e
AK
493Version 2.02.00 - 10th November 2005
494====================================
b79c897e 495 Extend allocation areas to avoid overflow with contiguous with other PVs.
ad6b0ebb
AK
496 Stop lvcreate attempting to wipe zero or error segments.
497 Added new lvs table attributes.
498 Separated out activation preload.
499 Moved activation functions into libdevmapper.
500 Fixed build_dm_name.
501 Add return macros.
436d3694 502 Added xen xvd devices.
7a593325 503 Clear up precommitted metadata better.
3bf5f6f5 504 A pvresize implementation.
a78c7609 505 Fix contiguous allocation when there are no preceding segments.
5727a8fa 506 Add mirror_seg pointer to lv_segment struct.
5f5355cb 507 Only keep a device open if it's known to belong to a locked VG.
f9a8e6ee 508 Fix lvdisplay to show all mirror destinations.
76c8ddc0 509 Replacement suspend code using libdevmapper dependency tree.
352a99b9
AK
510 Add DEFS to make.tmpl.
511 Use dm_is_dm_major instead of local copy.
512 Allow mapped devices to be used as PVs.
ffbfce30 513 Move set_selinux_context into libdevmapper.
78aa12e1
AK
514 Fix automatic text metadata buffer expansion (using macro).
515 Cache formatted text metadata buffer between metadata area writes.
31b5c6e6 516 Add pe_start field to pvs.
03b49fe1 517 Add 'LVM-' prefix to uuids.
06820362 518 Split lv_segment_area from lv_segment to permit extension.
9fdc84c3 519 Replacement deactivation code using libdevmapper dependency tree.
f894b4b1 520 Simplify dev_manager_info().
a653923f 521 Attempt to load missing targets using modprobe.
191abde9 522 Add -a to lvscan.
2262b320
AK
523 Move mknodes into libdevmapper.
524 Move bitset, hash, pool and dbg_malloc into libdevmapper.
58d83f1a 525
9aa2fec0
AK
526Version 2.01.15 - 16th October 2005
527===================================
9b02bdbc 528 Refuse to run pvcreate/pvremove on devices we can't open exclusively.
9c9e30cd 529 Use ORPHAN lock definition throughout.
0858a992 530 Validate chunksize in lvcreate.
2b96712a 531 Reduce chunksize limit to 512k.
88d2bdc6 532 Fix chunksize field in reports.
540b3799 533 Don't hide snapshots from default 'lvs' output.
68366c99
AK
534 Add is_dm_major() for use in duplicate device detection in lvmcache_add().
535 Really switch device number in lvmcache when it says it is doing so.
536 Option for bitset memory allocation using malloc as well as pool.
dbb43034 537 Don't assume exactly two mirrors when parsing mirror status.
40ec1e8a 538 Suppress fsync() error message on filesystems that don't support it.
ae9c3f16
AK
539 Fix yes_no_prompt() error handling.
540 Add lvm.conf comment warning against multiple filter lines.
721b61a4 541 Tidy lvmconf.sh.
fd0eec20 542 Add format1 dev_write debug messages.
3d387697 543 Add clustered VG attribute to report.
2d9e596f 544 Move lvconvert parameters into struct lvconvert_params.
4c60a352 545 Add clustered VG flag to LV lock requests.
0fb173aa 546 Change LV locking macros to take lv instead of lvid.
07d31831
AK
547 Prepend 'cluster' activation parameter to mirror log when appropriate.
548 Pass exclusive flag to lv_activate and on to target activation code.
549 Prevent snapshot creation in a clustered VG for now.
fb9d44da 550 Factor out adjusted_mirror_region_size() and generate_log_name_format().
19763200 551 Move compose_log_line() into mirror directory.
4bf57ace 552 Factor out _get_library_path().
0c09c9d9 553 Don't kill idling clvmd threads.
fe6c7862 554 clvmd no longer takes out locks for non-clustered LVs.
0b63cc1e 555 Recognise ATA over Ethernet (aoe) devices.
3bb7a8c8
AK
556
557Version 2.01.14 - 4th August 2005
558=================================
190f6945 559 Fix lvconvert PV parameter in help string.
78a352c2 560 Prevent snapshots getting activated in a clustered VG.
a4be2c01 561 Separate out _build_dev_string.
a9b5af1d
AK
562 Move zero_lv to toollib.
563 Fix pool format handler to work with pv segment code.
d87b3a61 564
42043c23 565Version 2.01.13 - 13th July 2005
f92853b4 566================================
0440a206
AK
567 Fix pvmove segment splitting.
568 Abstract vg_validate.
10b44b2d 569 Only make one attempt at contiguous allocation.
4f878105
AK
570 Fix lvm1 format metadata read.
571 Fix lvm1 format non-mirror lvcreate.
f92853b4 572
1956b7be 573Version 2.01.12 - 14th June 2005
3a373791 574================================
5e947dac 575 Various allocation-related pvmove fixes.
1956b7be
AK
576 Log an error if clvmd can't resolve a host name got from CCS.
577 Fix potential spin loop in clvmd.
3a373791 578
5e2a6b8f
AK
579Version 2.01.11 - 13th June 2005
580================================
5e947dac 581 Added lvmconf.sh.
56c3d1f7
AK
582 Use matchpathcon mode parameter.
583 Don't defer closing dead FDs in clvmd.
5748cb17 584 Remove hard-coded 64k text metadata writing restriction.
8b80d2a5 585 Make VG name restrictions consistent.
1a1f3d3e 586 Introduce lvconvert. So far only removes mirror images.
ffb0e538 587 Allow mirror images to be resized.
c77de777 588 Allow mirror images to have more than one segment.
8211a13c
AK
589 Centralise restrictions on LV names.
590 Always insert an intermediate layer for mirrors.
591 Suppress hidden LVs from reports unless --all is given.
592 Use square brackets for hidden LVs in reports.
60f13f01
AK
593 Allow the creation of mirrors with contiguous extents.
594 Always perform sanity checks against metadata before committing it to disk.
595 Split lv_extend into two steps: choosing extents + allocation to LV(s).
596 Add mirror log region size to metadata.
597 Use list_iterate_items throughout and add list*back macros.
598 Introduce seg_ macros to access areas.
599 Add segtype_is_ macros.
600 Support tiny metadata areas for pool conversions.
601 Mirror activation handles disk log as well as core.
602 Activation code recognises mirror log dependency.
603 Add mirror_log and regionsize fields to report.
bd236f65 604 Fix non-orphan pvchange -u.
21ca3b12 605 Fix vgmerge to handle duplicate LVIDs.
7ac8c238 606 Move archiver code from tools into library.
24e65464 607 vgscan/change/display/vgs automatically create metadata backups if needed.
e7c47a5d 608 Merge cloned allocation functions.
0888dc43 609 Fix contiguous allocation policy with linear.
17ae61cc 610 Cope with missing format1 PVs again.
7f2def9e
AK
611 Remove lists of free PV segments.
612 Simplify pv_maps code and remove slow bitset algorithm.
613 Red-Hat-ify the clvmd rhel4 initscript.
c44c04a6 614 %Zu->%zu
c708ec79 615 Fix loopfiles alias alloc & mem debugging.
4d122676 616 Un-inline dbg_strdup.
32469fb2
AK
617 lv_reduce tidying.
618 Remove some unnecessary parameters.
619 Introduce seg_is macros.
b8e2ad3d 620
f81656fd
AK
621Version 2.01.10 - 3rd May 2005
622==============================
abe198c0 623 Don't create backup and archive dirs till needed.
15db9fcf
AK
624 Reinstate full PV size when removing from VG.
625 Support loopfiles for testing.
e40d124e 626 Tidy lv_segment interface.
15db9fcf 627 pv_segment support.
66278a80 628 vgchange --physicalextentsize
90395b8d 629 Internal snapshot restructuring.
69b2cc0e 630 Remove unused internal non-persistent snapshot option.
864de9ce 631 Allow offline extension of snapshot volumes.
367b9cb1 632 Move from 2-step to 3-step on-disk metadata commit.
864de9ce 633 Scan ramdisks too and allow non-O_DIRECT fallback.
1128f56b 634 Annotate, tidy and extend list.h.
1165258c 635 Alignment tidying.
2b7e4013 636 Make clvmd work around some "bugs" in gulm's node state notifications.
30bda776 637 Tidy clvmd's SIGHUP handler
4a0623f9 638
37baa586
AK
639Version 2.01.09 - 4th April 2005
640================================
0a0f13e6 641 Add --ignorelockingfailure to vgmknodes.
11270d07 642 clvmd: Don't allow user operations to start until the lvm thread is fully up.
a478de3d 643 clvmd-gulm: set KEEPALIVE on sockets.
11270d07 644
c8f9c82d
AK
645Version 2.01.08 - 22nd March 2005
646=================================
343a8c92 647 Add clustered attribute so vgchange can identify clustered VGs w/o locking.
e5b836d2 648 Improve detection of external changes affecting internal cache.
162d85b9 649 Add 'already in device cache' debug message.
200ef4db 650 Add -a to pvdisplay -C.
0aa8e5be 651 Avoid rmdir opendir error messsages when dir was already removed.
779b7713 652 Tighten signal handlers.
7e0b7fd0 653 Avoid some compiler warnings.
e5def0ba 654 Additional rename failure error message.
1cbfe699 655 read/write may be macros.
02c6d3f2 656 clvmd: don't take out lvm thread lock at startup, it only protects jobs list.
47de3990 657
b9565b40 658Version 2.01.07 - 8th March 2005
4c908521 659================================
b9565b40 660 Cope with new devices appearing by rescanning /dev if a uuid can't be found.
8f5d81cb 661 Remove DESTDIR from LVM_SHARED_PATH.
3329bbfd
PC
662 clvmd fixes: make FDs close-on-exec
663 gulm unlocks VG & orphan locks at startup in case they are stale
664 gulm now unlocks VG & orphan locks if client dies.
4c908521 665
9a56fc81
AK
666Version 2.01.06 - 1st March 2005
667================================
aa70fe8b 668 Suppress 'open failed' error messages during scanning.
432cd1e4 669 Option to suppress warnings of file descriptors left open.
f3b0ea28 670 Fix default value of metadatacopies in documentation (2->1).
ce1aa2c3 671 Fix clvmd-gulm locking.
eb3037dd
PC
672 ./configure --enable-debug now enables debugging code in clvmd.
673 Fix clvmd-gulm node up/down code so it actually works.
674 clvmd-gulm now releases locks when shut down.
8b307a08 675
8e3a97ba
AK
676Version 2.01.05 - 18th February 2005
677====================================
678 Static binary invokes dynamic binary if appropriate.
a3dfa1c7 679 Make clvmd config check a little more tolerant.
c9808c32 680 gulm clvmd can now cope with >1 message arriving in a TCP message.
50e3a3f3 681
f1b2dad4 682Version 2.01.04 - 9th February 2005
939a307d 683===================================
f1b2dad4
AK
684 Add fixed offset to imported pool minor numbers.
685 Update binary pathnames in clvmd_init_rhel4.
3ef1acee 686 lvm2cmd.so should skip the check for open fds.
421c2a6a 687 Remove unused -f from pvmove.
28b4320c 688 Gulm clvmd doesn't report "connection refused" errors.
d9656543 689 clvmd does a basic config file sanity check at startup.
ceda2b14 690 Fix potential thread shutdown race in clvmd.
939a307d 691
07a2b9f8 692Version 2.01.03 - 1st February 2005
2efec8b2 693===================================
274c88be 694 More 64-bit display/report fixes.
51c2a813 695 More informative startup mesg if can't create /etc/lvm.
7851b13b 696 Fix snapshot device size bug (since 2.01.01).
c9f9a8b2 697 clvmd announces startup and cluster connection in syslog.
4e224cf0 698 Gulm clvmd doesn't hang trying to talk to a rebooted node.
9549da27 699 Gulm clvmd doesn't print cman error on startup.
2efec8b2 700
a918e733 701Version 2.01.02 - 21st January 2005
c44c015a 702===================================
eaafeaaa 703 Update clvmd_init_rhel4: use lvm.static and don't load dlm.
ed2799e7 704 Fix some size_t printing.
894a05ff 705 Fix 64 bit xlate consts.
da73b38d 706 Split out pool sptype_names to avoid unused const.
52f9afec 707 Always fail if random id generation fails.
c44c015a 708 Recognise gnbd devices.
6f4d25ec
PC
709 Fix clvmd startup bug introduced in cman/gulm amalgamation.
710 Improve reporting of node-specific locking errors.
c44c015a 711
5d0b9f47 712Version 2.01.01 - 19th January 2005
34d9b431 713===================================
5d0b9f47 714 Fix clvmd lv_info_by_lvid open_count.
c45a8a2c 715 Store snapshot and origin sizes separately.
73a9487f 716 Update vgcreate man page.
34d9b431 717
3833b9cc
AK
718Version 2.01.00 - 17th January 2005
719===================================
73543ee7 720 Fix vgscan metadata auto-correction.
e9c761b8 721 Only ask libdevmapper for open_count when we need it.
bfe848e1 722 Adjust RHEL4 clvmd init script priority.
5c7fc7c4 723 Enable building of CMAN & GULM versions of clvmd into a single binary
968b11a9 724
b7b17625
AK
725Version 2.00.33 - 7th January 2005
726==================================
2245e1c4 727 pvcreate wipes first 4 sectors unless given --zero n.
a057a834 728 gulm clvmd now uses new ccsd key names.
67443fad 729 gulm clvmd now doesn't ignore the first node in cluster.conf
0d194755
PC
730 Improve clvmd failure message if it's already running.
731 Allow user to kill clvmd during initialisation.
b9fb9b20 732 Fix off-by-one error in cluster_locking that could cause read hangs.
a057a834 733
01a0beed 734Version 2.00.32 - 22nd December 2004
158fe3d3 735====================================
7e9e9502 736 Drop static/dl restriction for now.
01a0beed 737 Fix an error fprintf.
bc0d0ce0 738 Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now.
165f49ba 739 Fix device reference counting on re-opens.
f6ab00eb 740 Ignore sysfs symlinks when DT_UNKNOWN.
57b08371 741 Add clvmd init script for RHEL4.
d46fd67f 742 Skip devices that are too small to be PVs.
8c9a1d6a 743 Fix pvchange -x segfault with lvm2-format orphan.
9ec48461 744 Cope with empty msdos partition tables.
db1cd377 745 Add CONTRIBUTORS file.
158fe3d3 746
9a2abb82 747Version 2.00.31 - 12th December 2004
6aad6545 748====================================
9a2abb82 749 Reopen RO file descriptors RW if necessary.
6aad6545 750
c4bb9aa6 751Version 2.00.30 - 10th December 2004
0ef6cc3f 752====================================
09a7dce6
AK
753 Additional device-handling debug messages.
754 Additional verbosity level -vvvv includes line numbers and backtraces.
755 Verbose messages now go to stderr not stdout.
756 Close any stray file descriptors before starting.
757 Refine partitionable checks for certain device types.
758 Allow devices/types to override built-ins.
21c42c7f 759 Fix lvreduce man page .i->.I
80b04895 760 Fix vgsplit man page title.
db7e9905 761 Fix clvmd man makefile.
39de4a2a
AK
762 Extend dev_open logging.
763 Make clvmd_fix_conf.sh UNDOable.
0ef6cc3f 764
66f04084
AK
765Version 2.00.29 - 27th November 2004
766====================================
767 xlate compilation fix.
768
bbdab3fc 769Version 2.00.28 - 27th November 2004
a266258f 770====================================
bbdab3fc 771 Fix partition table & md signature detection.
a266258f
AK
772 Minor configure/makefile tidy.
773 Export version.h from tools for clvmd.
774
2e605167 775Version 2.00.27 - 24th November 2004
a614641a 776====================================
c3a4c63c 777 Trap large memory allocation requests.
2e605167 778 Fix to partition table detection code.
7f1e8db7 779 Improve filter debug mesgs.
838ebb83 780 Make clvmd_fix_conf.sh UNDOable
a614641a 781
d528aaa6
AK
782Version 2.00.26 - 23rd November 2004
783====================================
bd46a496 784 Improve pool debugging stats.
985ef461 785 Detect partition table signature.
5ab925de 786 pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.)
b2dd0bb1 787 Separate out md superblock detection code.
0ec78e98
AK
788 Prevent snapshot origin resizing.
789 Improve a vgremove error message.
fcac0642
AK
790 Update some man pages.
791 Allow y/n with -ae args (exclusive activation).
cb8920e6 792 Fixes to lvcreate vgname parsing.
56f5c04d 793 Fix dm_name string size calculation.
bfd4b014 794 Improve clvmd error reporting during startup.
cf541774 795 Make clvmd cope with large gaps in node numbers IDs.
bfd4b014 796 Make clvmd initialisation cope better with debugging output.
63bea03e 797 Tidy clvmd socket callbacks so all work happens outside main loop.
3d4159b6 798 clvmd -V now displays lvm version too.
b1098701 799 Add optional gulm build for clvmd
b44dc25e 800
c3c9d9b0 801Version 2.00.25 - 29th September 2004
f2b2f485 802=====================================
be495a46
AK
803 Fix return code from rm_link for vgmknodes.
804 Make clvmd LV hash table thread-safe.
c3c9d9b0
AK
805 Fix clvmd locking so it will lock out multiple users on the same node.
806 Fix clvmd VG locking to it can cope with multiple VG locks.
807 Remove spurious trailing dot in lvreduce man page.
808 Fix vgremove locking.
f2b2f485 809
f663e437 810Version 2.00.24 - 16th September 2004
5b3d93c8 811=====================================
2b176f90 812 Fix pool_empty so it really does empty the memory pool.
c4ddb31a 813 Rename old segtypes files to segtype.
e26c4fd2
AK
814 Some fixes to memory debugging code.
815 Exclude internal commands formats & segtypes from install.
5b3d93c8 816
47ded66e
AK
817Version 2.00.23 - 15th September 2004
818=====================================
7f64c8e5 819 Export dm name build & split functions.
60bd7179 820 Use O_NOATIME on devices if available.
19d1e710 821 Write log message when each segtype/format gets initialised.
156dd4f1 822 New commands 'segtypes' and 'formats'.
17d1ae7e 823 Suppress pvmove abort message in test mode.
b9ade4bc 824 Improve pvcreate/remove device not found error message.
00b47204 825 Allow pvmove to move data within the same PV.
05503c5e 826 Describe how pvmove works on man page.
68eb9e3b 827 Test for incompatible format/segtype combinations in lv_extend.
075ab744
PC
828 Fix lvchange example on man page.
829
6e047bb5
AK
830Version 2.00.22 - 3rd September 2004
831====================================
b588726e 832 Fix /dev/vgname perms.
f15c75cb
AK
833 Restructure xlate.h.
834 Add clvmd man page.
9c2f42bd 835
311cea83
AK
836Version 2.00.21 - 19th August 2004
837==================================
838 Update cnxman-socket.h from cman.
acac21c4 839 Recognise iseries/vd devices.
cab8ea7c 840 Use 'make install_cluster' to install cluster extensions only.
cf076dd3 841 Cope with DT_UNKNOWN in sysfs.
392b28ec
AK
842 Fix extents_moved metadata size comment.
843 Remove duplicate line in pvremove help text.
844 Support variable mirror region size.
845 Support PE ranges in pvmove source PV.
846 Fixes to as-yet-unused LV segment splitting code.
eabaa339 847 Change alloc_areas to pe_ranges and allow suppression of availability checks.
a303dcde 848 Add dev_size column to pvs.
5fd24a89 849 Add report columns for in-kernel device number.
3b55d300 850
ad6254c5
AK
851Version 2.00.20 - 3 July 2004
852=============================
853 More autoconf fixes.
8bad0339 854 Fix device number handling for 2.6 kernels.
8630c7fb 855
8ce0cbda 856Version 2.00.19 - 29 June 2004
2e15e5e4 857==============================
8ce0cbda
AK
858 Reduce severity of setlocale failure message.
859 Recognise argv[0] "initrd-lvm" (pld-linux).
860 Make -O2 configurable.
80992638
AK
861 Added --disable-selinux to configure script.
862 LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script.
863 Add init_debug to clvmd.
2e15e5e4 864
d3c8211f
AK
865Version 2.00.18 - 24 June 2004
866==============================
88be836f 867 Fix vgchange activation.
d3c8211f
AK
868 Add cluster support.
869
809fae91
AK
870Version 2.00.17 - 20 June 2004
871==============================
872 configure --enable-fsadm to try out fsadm. fsadm is not tested yet.
c29d2465 873 Display all filtered devices, not just PVs, with pvs -a.
01c263e9 874 Fix sync_dir() when no / in filename
8d267798 875 vgcfgbackup -f accepts template with %s for VG name.
374df1cf 876 Extend hash functions to handle non-null-terminated data.
b86ef8e2 877 Add local activation support.
b7d0982a 878 Tidy relative paths in makefile includes.
1a9ea74d 879 fsadm support for fsck and resizing - needs testing.
d8ac0fbc 880 Add read-only GFS pool support.
8c670f83 881 Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/
30bab85b 882 Fix rounding of large diplayed sizes.
7d36b514 883 Suppress decimal point when using units of sectors/bytes.
abaf083d 884 Additional kernel target checks before pvmove & snapshot creation.
2ea0f30f 885 Add i2o_block.
abaf083d 886
ea556d1f 887Version 2.00.16 - 24 May 2004
25579907 888=============================
bfa258b3 889 Set area_count within alloc_lv_segment.
7f0dc9c4 890 Remove error labels from lvresize.
199fa12a 891 Fix a pvs error path.
36cfd887 892 xxchange -ae for exclusive activation.
29e94d95 893 Don't return non-zero status if there aren't any volume groups.
a0a23eff
AK
894 Add --alloc argument to tools.
895 Rename allocation policies to contiguous, normal, anywhere, inherit.
896 nextfree becomes normal; anywhere isn't implemented yet.
897 LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal
898 Additional status character added to vgs to indicate allocation policy.
b61702ce 899 Add reset_fn to external_locking.
e0a86d8c
AK
900 Ensure presence of virtual targets before attempting activating.
901 Attempt to fix resizing of snapshot origins.
241913fe 902 Restructure lvresize, bringing it closer to lvcreate.
6925cbe6 903 A quick sanity check on vg_disk struct when read in. More checks needed.
ff4b8b64 904 Only include visible LVs in active/open counts.
1832f310
AK
905 Add virtual segment types, zero and error. A large sparse device can be
906constructed as a writeable snapshot of a large zero segment.
907 Add --type to lvcreate/resize.
1d2ebf62
AK
908 Push lv_create & alloc policy up to tool level.
909 Fix pvdisplay return code.
e3adcd79 910 Detect invalid LV names in arg lists.
0e3d9452
AK
911 Reporting uses line-at-a-time output.
912 lvm2 format sets unlimited_vols format flag.
ea601b75
AK
913 Internal-only metadata flag support.
914 Basic checking for presence of device-mapper targets.
cb919290 915 Separate out polldaemon.
23289e6d
AK
916 Revise internal locking semantics.
917 Move find_pv_by_name to library.
0b2b87b7
AK
918 Rename move->copy.
919 Add devices to segments report.
4922197a
AK
920 Begin separating out segment code. There's a lot of change here.
921 Compress any (obsolete) long LVM1 pvids encountered.
25579907
AK
922 Support for tagged config files.
923 Don't abort operations if selinux present but disabled.
924 Fix typo in configure which left HAVE_LIBDL unset.
925
a38df97f
AK
926Version 2.00.15 - 19 Apr 2004
927=============================
928 configure --with-owner= --with-group= to avoid -o and -g args to 'install'
929
96185e9c
AK
930Version 2.00.14 - 16 Apr 2004
931=============================
932 Use 64-bit file functions by default.
933
01c6121b 934Version 2.00.13 - 16 Apr 2004
121c5c06 935=============================
01c6121b
AK
936 Set devices/md_component_detection = 1 to ignore devices containing md
937 superblocks. [Luca Berra]
121c5c06
AK
938 Ignore error setting selinux file context if fs doesn't support it.
939
a218a29c
AK
940Version 2.00.12 - 14 Apr 2004
941=============================
4563e036
AK
942 Install a default lvm.conf into /etc/lvm if there isn't one already.
943 Allow different installation dir for lvm.static (configure --staticdir=)
944 Fix inverted selinux error check.
945 Recognise power2 in /proc/devices.
946 Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.]
947
e5b28125
AK
948Version 2.00.11 - 8 Apr 2004
949============================
950 Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback)
951 to run lvm1 binaries if running a 2.4 kernel without device-mapper.
952
0d0b3357 953Version 2.00.10 - 7 Apr 2004
35030bb0
AK
954============================
955 More fixes for static build.
0d0b3357
AK
956 Add basic selinux support.
957 Fix sysfs detection.
35030bb0 958
6b493d07
AK
959Version 2.00.09 - 31 Mar 2004
960=============================
cd242223
AK
961 Update copyright notices for Red Hat.
962 Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd).
963 Add LVM1-style colon output to vgdisplay.
964 lvchange --refresh to reload active LVs.
965 Add string display to memory leak dump.
966 Add locking flags & memlock option.
967 Add list_versions to library.
968 Ignore open hidden LVs when checking if deactivation is OK.
969 Suppress move percentage when device inactive.
970 Add lv_info_by_lvid.
971 Various tidy-ups to the build process.
972 Rebaseline internal verbose level.
973 Add --nolocking option for read operations if locking is failing.
974 Add option to compile into a library.
975 When compiled without libdevmapper, only print warning message once.
976 Fix lvreduce PV extent calculations.
977 Fix DESTDIR to work with configure path overrides.
978 Always use / as config file separator & rename internal config file variables.
979 Add support for tagging PV/VG/LVs and hosts.
980 Fix rare bug in recognition of long cmdline argument forms.
981 Add basic internationalisation infrastructure.
982 Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels.
983 Update autoconf files.
984 Add sysfs block device filtering for 2.6 kernels.
985 Update refs for move to sources.redhat.com.
986
f74d51d9
AK
987Friday 14th November 2003
988=========================
989Some bug fixes & minor enhancements, including:
990 Backwards compatibility with LVM1 metadata improved.
991 Missing man pages written.
992 Tool error codes made more consistent.
993 vgmknodes written.
994 O_DIRECT can be turned off if it doesn't work in your kernel.
b2bb7264 995 dumpconfig to display the active configuration file
f74d51d9
AK
996
997You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'.
998If your root filesystem is on an LV, you should run one of those two
57015b12 999commands to fix up the special files in /dev in your real root filesystem
f74d51d9
AK
1000after finishing with your initrd. Also, remember you can use
1001'vgchange --ignorelockingfailure' on your initrd if the tool fails because
1002it can't write a lock file to a read-only filesystem.
1003
541f8753
AK
1004Wednesday 30th April 2003
1005=========================
1006A pvmove implementation is now available for the new metadata format.
1007
1008When running a command that allocates space (e.g. lvcreate), you can now
57015b12 1009restrict not only which disk(s) may be used but also the Physical Extents
541f8753
AK
1010on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000
1011
1012
1013Monday 18th November 2002
5a52dca9
AK
1014========================
1015
1016The new format of LVM metadata is ready for you to test!
1017 We expect it to be more efficient and more robust than the original format.
1018 It's more compact and supports transactional changes and replication.
1019 Should things go wrong on a system, it's human-readable (and editable).
1020
57015b12 1021Please report any problems you find to the mailing list,
5a52dca9
AK
1022linux-lvm@sistina.com. The software has NOT yet been thoroughly
1023tested and so quite possibly there'll still be some bugs in it.
1024Be aware of the disclaimer in the COPYING file.
1025
57015b12 1026While testing, we recommend turning logging on in the configuration file
5a52dca9
AK
1027to provide us with diagnostic information:
1028 log {
1029 file="/tmp/lvm2.log"
541f8753 1030 level=7
5518374b 1031 activation=1
5a52dca9
AK
1032 }
1033
1034You should schedule regular backups of your configuration file and
1035metadata backups and archives (normally kept under /etc/lvm).
1036
57015b12 1037Please read docs/example.conf and "man lvm.conf" to find out more about
5a52dca9
AK
1038the configuration file.
1039
1040To convert an existing volume group called vg1 to the new format using
1041the default settings, use "vgconvert -M2 vg1". See "man vgconvert".
1042
1043-M (or --metadatatype in its long form) is a new flag to indicate which
1044format of metadata the command should use for anything it creates.
1045Currently, the valid types are "lvm1" and "lvm2" and they can be
1046abbreviated to "1" and "2" respectively. The default value for this
1047flag can be changed in the global section in the config file.
1048
1049Backwards-compatible support for the original LVM1 metadata format is
1050maintained, but it can be moved into a shared library or removed
1051completely with configure's --with-lvm1 option.
1052
1053Under LVM2, the basic unit of metadata is the volume group. Different
1054volume groups can use different formats of metadata - vg1 could use
1055the original LVM1 format while vg2 used the new format - but you can't
1056mix formats within a volume group. So to add a PV to an LVM2-format
1057volume group you must run "pvcreate -M2" on it, followed by "vgextend".
1058
1059With LVM2-format metadata, lvextend will let you specify striping
1060parameters. So an LV could consist of two or more "segments" - the
1061first segment could have 3 stripes while the second segment has just 2.
1062
1063LVM2 maintains a backup of the current metadata for each volume group
1064in /etc/lvm/backup, and puts copies of previous versions in
1065/etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to
57015b12 1066create and restore from these files. If you fully understand what
5a52dca9
AK
1067you're doing, metadata can be changed by editing a copy of a current
1068backup file and using vgcfgrestore to reload it.
1069
1070Please read the pvcreate man page for more information on the new
1071format for metadata.
1072
1073All tools that can change things have a --test flag which can be used
1074to check the effect of a set of cmdline args without really making the
1075changes.
1076
1077
1078What's not finished?
1079====================
1080The internal cache. If you turn on debugging output you'll see lots of
914c9723 1081repeated messages, many of which will eventually get optimised out.
5a52dca9 1082
57015b12
JM
1083--test sometimes causes a command to fail (e.g. vgconvert --test) even
1084though the real command would work: again, fixing this is waiting for
5a52dca9
AK
1085the work on the cache.
1086
1087Several of the tools do not yet contain the logic to handle full
1088recovery: combinations of pvcreate and vgcfgrestore may sometimes be
1089needed to restore metadata if a tool gets interrupted or crashes or
1090finds something unexpected. This applies particularly to tools that
1091work on more than one volume group at once (e.g. vgsplit).
1092
1093Display output. Some metadata information cannot yet be displayed.
5a52dca9
AK
1094
1095Recovery tools to salvage "lost" metadata directly from the disks:
1096but we hope the new format will mean such tools are hardly ever needed!
This page took 0.22718 seconds and 5 git commands to generate.