]>
Commit | Line | Data |
---|---|---|
ec0b34a9 AK |
1 | Version 2.02.54 - |
2 | ===================================== | |
ae1e83aa | 3 | Add dmeventd.static to the build. |
89044bc0 | 4 | Disable realtime support code by default. |
c503c83c | 5 | Make clvmd return 0 on success rather than 1. |
0ddb66ef | 6 | Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. |
0175de7f | 7 | Add implict pvcreate support to vgcreate and vgextend. |
cf65a124 AK |
8 | Correct example.conf to indicate that lvm2 not lvm1 is the default format. |
9 | Remove an unused stray LVM1_SUPPORT ifdef. | |
e1b8a236 | 10 | Only include selinux libs in libdevmapper.pc when selinux build enabled. |
db8b5af9 | 11 | Allow for a build directory separate from the source. |
1ae30159 | 12 | Update distclean target for rename clogd to cmirrord. (2.02.52) |
29846c24 | 13 | Only do lock conversions in clvmd if we are explicitly asked for one. |
78ad1549 | 14 | Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. |
42dd692b | 15 | Factor out poll_mirror_progress and introduce progress_t. |
8e4858cc | 16 | Distinguish between powers of 1000 and powers of 1024 in unit suffixes. |
93bbc31c | 17 | Restart lvconverts in vgchange by sharing lv_spawn_background_polling. |
724de279 | 18 | Generalise polldaemon code by changing mirror-specific variable names. |
64a95010 | 19 | Don't attempt to deactivate an LV if any of its snapshots are in use. |
89a6cdfd | 20 | Return fail if lv_deactivate fails to remove device from kernel. |
a0f9708e | 21 | Provide alternative implementation of obsolete siginterrupt(). |
d5577738 | 22 | Consolidate LV allocation into alloc_lv(). |
673ecf73 | 23 | Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) |
95eaa683 AK |
24 | Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. |
25 | Add configure --enable-units-compat to set si_unit_consistency off by default. | |
26 | Add global/si_unit_consistency to enable cleaned-up use of units in output. | |
ec0b34a9 | 27 | |
9bc9dacc | 28 | Version 2.02.53 - 25th September 2009 |
786e32bf | 29 | ===================================== |
536f0e08 | 30 | Create any directories in /dev with DM_DEV_DIR_UMASK (022). |
d9be54ad | 31 | Enable dmeventd monitoring section of config file by default. |
595eaf92 | 32 | Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. |
5a446cfb | 33 | Fix lvm2app test to run under test/api subdirectory only when configured. |
68fac97a | 34 | Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. |
786e32bf | 35 | |
4b7033d3 AK |
36 | Version 2.02.52 - 15th September 2009 |
37 | ===================================== | |
266214db | 38 | Update _process_one_vg to cleanup properly after vg_read_error. |
651ff9b3 AK |
39 | Add lots of missing stack debug messages to tools. |
40 | Make readonly locking available as locking type 4. | |
41 | Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49) | |
663bf8f7 AK |
42 | Add DM_UDEV_RULES_VSN environment variable to udev rules. |
43 | Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules. | |
44 | Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t. | |
45 | Enforce an alphabetical lock ordering on vgname locking. | |
46 | Prioritise write locks over read locks by default for file locking. | |
47 | Add local lock files with suffix ':aux' to serialise locking requests. | |
3c0cfa8f | 48 | Fix global locking in PV reporting commands (2.02.49). |
c2d4398d | 49 | Fix pvcreate string termination in duplicate uuid warning message. |
663bf8f7 | 50 | Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). |
cdc8e54e | 51 | Fix vgcfgrestore error paths when locking fails (2.02.49). |
663bf8f7 AK |
52 | Update Makefile distclean target. |
53 | Add libudev configuration check. | |
54 | Make clvmd check corosync to see what cluster interface it should use. | |
55 | Add clvmd autodetection check and cleanup related configure messages. | |
56 | Rewrite clvmd configuration code to cope with all combinations of libs. | |
66fd4529 | 57 | Added configure --enable-cmirrord to build the cluster mirror log daemon. |
6087b158 | 58 | Rename clogd to cmirrord. |
ea301840 | 59 | Make lvchange --refresh only take a read lock on volume group. |
663bf8f7 | 60 | Fix race where non-blocking file locks could be granted in error. |
2834bc8e | 61 | Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). |
defed336 | 62 | Fix compile warning in clvmd. |
663bf8f7 | 63 | Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. |
2834bc8e | 64 | Remove useless _pv_write wrapper. |
663bf8f7 AK |
65 | Add lvm2app.sh to tests conditional upon configure --enable-applib. |
66 | Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial. | |
67 | Update lvm_vg_remove to require lvm_vg_write to commit remove to disk. | |
2834bc8e | 68 | Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. |
adfb0e34 | 69 | |
7cec175d AK |
70 | Version 2.02.51 - 6th August 2009 |
71 | ================================= | |
ee1e49ec | 72 | Fix locking in clvmd (2.02.50). |
f3bc056a | 73 | Add --noudevsync option for relevant LVM tools. |
cf8235e0 | 74 | Add activation/udev_sync to lvm.conf. |
aaa01e34 | 75 | Only change LV symlinks on ACTIVATE not PRELOAD. |
f5cb304a | 76 | Make lvconvert honour log mirror options combined with downconversion. |
0e867038 | 77 | Allow LV suspend while --ignorelockingfailure is in force. |
e516e070 | 78 | Update synopsis in lvconvert manpage to mention --repair. |
bd90c6b2 | 79 | Set cookies in activation code and wait for udev to complete processing. |
78ce7acc AK |
80 | Added configure --enable-udev_rules --enable-udev_sync. |
81 | Added configure --with-udev-prefix --with-udevdir. | |
5d518f1f | 82 | Added udev dir to hold udev rules. |
2aabcc1c | 83 | Add devices/data_alignment_detection to lvm.conf. |
57b66035 | 84 | Add devices/data_alignment_offset_detection to lvm.conf. |
04b2a4bd | 85 | Add --dataalignmentoffset to pvcreate to shift start of aligned data area. |
ad273af9 | 86 | Fix _mda_setup() to not check first mda's size before pe_align rounding. |
8b9e5151 | 87 | Document -I option of clvmd in the man page. |
82c445b0 | 88 | Fix configure script to handle multiple clvmd selections. |
9b6f2391 | 89 | Fix lvm2app.pc installation filename. |
9e813cc9 AK |
90 | Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. |
91 | Rename lvm.h to lvm2app.h for now. | |
28ae3fe7 | 92 | |
29c70fbd | 93 | Version 2.02.50 - 28th July 2009 |
26d7762b | 94 | ================================ |
b0928986 AK |
95 | Change test/api/test.c prompt so it's not confused with the main lvm prompt. |
96 | Update liblvm unit tests in test/api to cover latest liblvm changes. | |
97 | Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm. | |
98 | Add lvm_library_get_version to liblvm. | |
99 | Add lvm_config_override to liblvm to allow caller to override LVM config. | |
100 | Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm. | |
101 | Add lvm_lv_activate and lvm_lv_deactivate to liblvm. | |
102 | Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm. | |
103 | Add functions to get numeric properties to liblvm. | |
104 | Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm. | |
105 | Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm. | |
106 | Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm. | |
107 | Add lvm_list_vg_names/uuids to liblvm. | |
108 | Add lvm_errno and lvm_errmsg to liblvm to obtain failure information. | |
109 | Rename lvm_create/destroy to lvm_init/quit. | |
a44d0046 | 110 | Rename lvm_reload_config to lvm_config_reload. |
b0928986 AK |
111 | Refactor _override_settings to use new override_config_tree_from_string. |
112 | Add vg_reduce to metadata.c and metadata-exported.h. | |
9c492aee | 113 | Update lvm.h to clarify API behavior and return codes. |
a66c95ce | 114 | Update lvm_vg_extend to do an implicit pvcreate on the device. |
b0928986 AK |
115 | Update display.c to use vg_free(vg) instead of duplicating the calculation. |
116 | Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm. | |
a66c95ce | 117 | Refactor pvcreate and lvcreate for liblvm. |
1cc59fa4 | 118 | Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. |
c07d773e | 119 | All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. |
e6923120 DW |
120 | Fix race condition with vgcreate and vgextend on same device (2.02.49). |
121 | Remove redundant validate_name call from vgreduce. | |
1936861b | 122 | Remove unused handles lvseg, pvseg inside liblvm/lvm.h. |
70046623 AK |
123 | Add liblvm2app Makefile installation targets. |
124 | Add liblvm pkgconfig file. | |
340b6b0f | 125 | Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. |
bf456146 | 126 | Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. |
df4b9706 | 127 | Pass a pointer to struct cmd_context to init_multiple_segtypes |
b68cc099 | 128 | Return EINVALID_CMD_LINE not success when invalid VG name format is used. |
e0bd7c76 | 129 | Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). |
9fac4435 | 130 | Add log_errno to set a specific errno and replace log_error in due course. |
d917192f AK |
131 | Change create_toolcontext to still return an object if it fails part-way. |
132 | Add EUNCLASSIFIED (-1) as the default LVM errno code. | |
d6146461 | 133 | Store any errno and error messages issued while processing each command. |
b8f47d5f | 134 | Use log_error macro consistently throughout in place of log_err. |
26d7762b | 135 | |
9386a684 | 136 | Version 2.02.49 - 15th July 2009 |
4397ad38 | 137 | ================================ |
651ff9b3 | 138 | Add readonly locking type to replace implementation of --ignorelockingfailure. |
7beb03dd | 139 | Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. |
867ff246 DW |
140 | Add unit test case for liblvm VG create/delete APIs. |
141 | Add liblvm APIs to implement creation and deletion of VGs. | |
7beb03dd AK |
142 | Initialize cmd->cmd_line to "liblvm" in new liblvm library. |
143 | Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h. | |
cec2a2da | 144 | Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. |
a7aa8b16 | 145 | Use _exit() not exit() after forking to avoid flushing libc buffers twice. |
7beb03dd | 146 | Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. |
7f355587 | 147 | Make cmd->cmd_line const. |
c4c107f2 | 148 | Fix dev name mismatch in vgcreate man page example. |
a4f5a4cc | 149 | Refactor vg_remove_single for use in liblvm. |
a7aa8b16 AK |
150 | Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second. |
151 | Check md devices for a partition table during device scan. | |
152 | Add extended device (blkext) and md partition (mdp) types to filters. | |
153 | Make text metadata read errors for segment areas more precise. | |
154 | Fix text segment metadata read errors to mention correct segment name. | |
155 | Include segment and LV names in text segment import error messages. | |
25497e2f | 156 | Add parent node to config_node structure. |
a7aa8b16 | 157 | Update vgsplit and vgcreate to call new vg_create and 'set' functions. |
0d107e70 DW |
158 | Change vg_create to take minimal parameters, obtain a lock, and return vg_t. |
159 | Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm. | |
160 | Update t-vgcreate-usage.sh to test for default vg properties. | |
161 | Fix memory leak in vgsplit when re-reading the vg. | |
7476b502 | 162 | Make various exit/cleanup paths more robust after lvm init failures. |
a7aa8b16 AK |
163 | Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. |
164 | Remove unnecessary locking and existence tests from new vg_read() interface. | |
dd1d42d5 | 165 | Permit several segment types to be registered by a single shared object. |
c1060e13 | 166 | Update the man pages to document size units uniformly. |
1ad6d98b | 167 | Allow commandline sizes to be specified in terms of bytes and sectors. |
bb6a3a96 | 168 | Update 'md_chunk_alignment' to use stripe-width to align PV data area. |
6e10090b DW |
169 | Update test/t-inconsistent-metadata.sh to match new vg_read interface. |
170 | Add lvmcache_init() to polldaemon initialization. | |
171 | Convert tools to use new vg_read / vg_read_for_update. | |
172 | Fix segfault in vg_release when vg->cmd is NULL. | |
4397ad38 | 173 | |
e50c61d8 | 174 | Version 2.02.48 - 30th June 2009 |
4f901270 | 175 | ================================ |
2f5a1df4 | 176 | Abort if automatic metadata correction fails when reading VG to update it. |
6391d03f | 177 | Explicitly request fallback to default major number in device mapper. |
a330337a | 178 | Ignore suspended devices during repair. |
476d4633 AK |
179 | Call vgreduce --removemissing automatically to fix missing PVs in dmeventd. |
180 | Suggest using lvchange --resync when adding leg to not-yet-synced mirror. | |
181 | Destroy toolcontext on clvmd exit to avoid memory pool leaks. | |
182 | Fix lvconvert not to poll mirror if no conversion in progress. | |
38ddfe7b | 183 | Fix memory leaks in toolcontext error path. |
476d4633 | 184 | Reinstate partial activation support in clustered mode. (2.02.40) |
2565a5e5 | 185 | Allow metadata correction even when PVs are missing. |
33048414 ZK |
186 | Use 'lvm lvresize' instead of 'lvresize' in fsadm. |
187 | Do not use '-n' realine option in fsadm for busybox compatiblity. | |
476d4633 | 188 | Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. |
12b1f31c | 189 | Round up requested readahead to at least one page and print warning. |
66086ce9 MB |
190 | Try to repair vg before actual vgremove when force flag provided. |
191 | Fix possible double release of VG after recovery. | |
192 | Add parameter to process_each_vg specifying what to do with inconsistent VG. | |
476d4633 | 193 | Unify error messages when processing inconsistent volume group. |
c26488d3 MB |
194 | Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. |
195 | Introduce lvconvert --use_policies (repair policy according to lvm.conf). | |
476d4633 | 196 | Update clvmd-corosync to match new corosync API. |
b09a20e5 | 197 | Fix lib Makefile to include any shared libraries in default target. |
771e191e | 198 | Fix rename of active snapshot with virtual origin. |
31f55a07 | 199 | Fix convert polling to ignore LV with different UUID. |
c1fdeec9 MB |
200 | Cache underlying device readahead only before activation calls. |
201 | Fix segfault when calculating readahead on missing device in vgreduce. | |
eca971ca | 202 | Remove verbose 'visited' messages. |
5cffbf0b AK |
203 | Handle multi-extent mirror log allocation when smallest PV has only 1 extent. |
204 | Add LSB standard headers and functions (incl. reload) to clvmd initscript. | |
5746e2e7 | 205 | When creating new LV, double-check that name is not already in use. |
ca51e5d9 | 206 | Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. |
ea0e5e6e | 207 | Rename internal vorigin LV to match visible LV. |
99113cc5 AK |
208 | Suppress 'removed' messages displayed when internal LVs are removed. |
209 | Fix lvchange -a and -p for sparse LVs. | |
210 | Fix lvcreate --virtualsize to activate the new device immediately. | |
154753db AK |
211 | Make --snapshot optional with lvcreate --virtualsize. |
212 | Generalise --virtualoriginsize to --virtualsize. | |
99113cc5 | 213 | Skip virtual origins in process_each_lv_in_vg() without --all. |
ea91a71b | 214 | Fix counting of virtual origin LVs in vg_validate. |
4884e0e2 | 215 | Attempt to load dm-zero module if zero target needed but not present. |
49c27642 | 216 | |
572fefeb | 217 | Version 2.02.47 - 22nd May 2009 |
4b896598 | 218 | =============================== |
572fefeb | 219 | Rename liblvm.so to liblvm2app.so and use configure --enable-applib. |
4b896598 AK |
220 | Reinstate version in liblvm2cmd.so soname. (2.02.44) |
221 | ||
25a2e7b8 AK |
222 | Version 2.02.46 - 21st May 2009 |
223 | =============================== | |
224 | Inherit readahead setting from underlying devices during activation. | |
225 | Detect LVs active on remote nodes by querying locks if supported. | |
eb91c4ee MB |
226 | Enable online resizing of mirrors. |
227 | Use suspend with flush when device size was changed during table preload. | |
25a2e7b8 AK |
228 | Implement query_resource_fn for cluster_locking. |
229 | Support query_resource_fn in locking modules. | |
fa6dca9f | 230 | Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. |
65edd11b | 231 | Fix pvmove to revert operation if temporary mirror creation fails. |
e1b0dce7 | 232 | Fix metadata export for VG with missing PVs. |
761e5741 | 233 | Add vgimportclone and install it and the man page by default. |
970f241c | 234 | Force max_lv restriction only for newly created LV. |
82cf9260 | 235 | Remove unneeded import parameter from lv_create_empty. |
afd9ba98 | 236 | Merge lv_is_displayable and lv_is_visible functions. |
25a2e7b8 | 237 | Introduce lv_set_visible & lv_set_hidden functions. |
b14c5af7 | 238 | Fix lv_is_visible to handle virtual origin. |
0b706ac6 | 239 | Introduce link_lv_to_vg and unlink_lv_from_vg functions. |
d60f341d | 240 | Remove lv_count from VG and use counter function instead. |
4b13d5a8 | 241 | Fix snapshot segment import to not use duplicate segments & replace. |
cfebc626 | 242 | Do not query nonexistent devices for readahead. |
5a820745 | 243 | Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. |
2f9a9d1a | 244 | Remove snapshot_count from VG and use function instead. |
920e68d6 | 245 | Fix first_seg() call for empty segment list. |
25a2e7b8 | 246 | Add install_lvm2 makefile target to install only the LVM2 components. |
45aff0a2 | 247 | Reject missing PVs from allocation in toollib. |
5c93cdba | 248 | Fix PV datalignment for values starting prior to MDA area. (2.02.45) |
87f42fda | 249 | Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). |
25a2e7b8 | 250 | Fix minimum width of devices column in reports. |
87f42fda AK |
251 | Add lvs origin_size field. |
252 | Fix linux configure --enable-debug to exclude -O2. | |
25a2e7b8 | 253 | Implement lvconvert --repair for repairing partially-failed mirrors. |
cd978f74 | 254 | Fix vgreduce --removemissing failure exit code. |
dfbc015c | 255 | Fix remote metadata backup for clvmd. |
25a2e7b8 AK |
256 | Introduce unlock_and_release_vg macro. |
257 | Introduce vg_release() to be called to free every struct volume_group. | |
e5656d86 | 258 | Alloc PV internal structure from VG mempool if possible. |
8f3fd69f | 259 | Fix metadata backup to run after vg_commit always. |
c4ff1338 | 260 | Tidy clvmd volume lock cache functions. |
d66abfb8 | 261 | Fix pvs report for orphan PVs when segment attributes are requested. |
81c74829 | 262 | Fix pvs -a output to not read volume groups from non-PV devices. |
1cc75dfb | 263 | Add MMC (mmcblk) device type to filters. |
8e1d5615 | 264 | Introduce memory pools per volume group (to reduce memory for large VGs). |
25a2e7b8 | 265 | Use copy of PV structure when manipulating global PV lists. |
1b25b6e0 | 266 | Always return exit error status when locking of volume group fails. |
6ce8f8d5 | 267 | Fix mirror log convert validation question. |
9bcd5c2f | 268 | Avoid referencing files from DESTDIR during build process. |
25a2e7b8 | 269 | Avoid creating some static libraries unless configured --enable-static_link. |
772cac09 | 270 | Enable use of cached metadata for pvs and pvdisplay commands. |
bef749c9 | 271 | Add missing 'device-mapper' internal subdir build dependency. |
e24f357c | 272 | Fix memory leak in mirror allocation code. |
2691077d | 273 | Save and restore the previous logging level when log level is changed. |
e69246e1 | 274 | Fix error message when archive initialization fails. |
3330038e | 275 | Make sure clvmd-corosync releases the lockspace when it exits. |
0ef8308f | 276 | Fix segfault for vgcfgrestore on VG with missing PVs. |
c35df82d | 277 | Block SIGTERM & SIGINT in clvmd subthreads. |
3402ccd4 | 278 | Detect and conditionally wipe swapspace signatures in pvcreate. |
7f436a0f | 279 | Fix maximal volume count check for snapshots if max_lv set for volume group. |
25a2e7b8 | 280 | Fix lvcreate to remove unused cow volume if the snapshot creation fails. |
47e1baf1 | 281 | Fix error messages when PV uuid or pe_start reading fails. |
25a2e7b8 AK |
282 | Build new liblvm application-level library. |
283 | Rename liblvm.a to liblvm-internal.a. | |
fe3a28e2 | 284 | Flush memory pool and fix locking in clvmd refresh and backup command. |
25a2e7b8 | 285 | Fix unlocks in clvmd-corosync. (2.02.45) |
1d13e518 | 286 | Fix error message when adding metadata directory to internal list fails. |
6a8feb3c | 287 | Fix size and error message of memory allocation at backup initialization. |
25a2e7b8 | 288 | Remove old metadata backup file after renaming VG. |
fbd97a34 | 289 | Restore log_suppress state when metadata backup file is up-to-date. |
ab5be5f0 | 290 | |
33617240 AK |
291 | Version 2.02.45 - 3rd March 2009 |
292 | ================================ | |
c3b50730 | 293 | Avoid scanning empty metadata areas for VG names. |
ed82bfd2 | 294 | Attempt proper clean up in child before executing new binary in exec_cmd(). |
7b1c853b | 295 | Do not scan devices if reporting only attributes from PV label. |
edf47283 | 296 | Use pkgconfig to obtain corosync library details during configuration. |
b36d715a | 297 | Fix error returns in clvmd-corosync interface to DLM. |
82c29eed | 298 | Add --refresh to vgchange and vgmknodes man pages. |
33617240 AK |
299 | Pass --test from lvresize to fsadm as --dry-run. |
300 | Supply argv[] list to exec_cmd() to allow for variable number of parameters. | |
301 | Prevent fsadm from checking mounted filesystems. | |
302 | No longer treats any other key as 'no' when prompting in fsadm. | |
303 | Tidy fsadm command line processing. | |
5f4b7a26 | 304 | Add lib/lvm.h and lib/lvm_base.c for the new library interface. |
ec6a6fbe AK |
305 | Move tools/version.h to lib/misc/lvm-version.h. |
306 | Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. | |
7ac8b7c3 | 307 | Add system_dir parameter to create_toolcontext(). |
8929ce66 | 308 | Add --dataalignment to pvcreate to specify alignment of data area. |
47c0f6ae | 309 | Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. |
27753447 | 310 | Provide da and mda locations in debug message when writing text format label. |
45bec967 | 311 | Mention the restriction on file descriptors at invocation on the lvm man page. |
9b99f333 | 312 | Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. |
0f817d38 | 313 | No longer require kernel and metadata major numbers to match. |
9c61679e | 314 | Add a fully-functional get_cluster_name() to clvmd corosync interface. |
0f1917af | 315 | Remove duplicate cpg_initialize from clvmd startup. |
d3e282c9 | 316 | Add option to /etc/sysconfig/cluster to select cluster type for clvmd. |
2095de1a | 317 | Allow clvmd to start up if its lockspace already exists. |
ea0cdd28 | 318 | Separate PV label attributes which do not need parse metadata when reporting. |
33617240 | 319 | Remove external dependency on the 'cut' command from fsadm. |
92a4d6b2 | 320 | Fix pvs segfault when pv mda attributes requested for not available PV. |
33617240 | 321 | Add fsadm support for reszing ext4 filesysystems. |
76cc7b27 | 322 | Move locking_type reading inside init_locking(). |
4631e587 | 323 | Rename get_vgs() to get_vgnames() and clarify related error messages. |
fd5c5a97 CC |
324 | Allow clvmd to be built with all cluster managers & select one on cmdline. |
325 | Mention --with-clvmd=corosync in ./configure. | |
b8fa5160 | 326 | Replace internal vg_check_status() implementation. |
8544a8a2 | 327 | Rename vg_read() to vg_read_internal(). |
30212562 | 328 | |
c6a808f1 AK |
329 | Version 2.02.44 - 26th January 2009 |
330 | =================================== | |
a40fb438 | 331 | Fix --enable-static_link after the recent repository changes. |
c6a808f1 | 332 | Add corosync/DLM cluster interface to clvmd. |
c0f61d7d | 333 | Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. |
c6a808f1 | 334 | Fix lvresize size conversion for fsadm when block size is not 1K. |
9bbd343f | 335 | Fix pvs segfault when run with orphan PV and some VG fields. |
219b480d | 336 | Display a 'dev_size' of zero for missing devices in reports. |
c926ea5c | 337 | Add pv_mda_size to pvs and vg_mda_size to vgs. |
326902f0 | 338 | Fix lvmdump /sys listing to include virtual devices directory. |
6cca7a9f | 339 | Add "--refresh" functionality to vgchange and vgmknodes. |
c6a808f1 | 340 | Avoid exceeding LV size when wiping device. |
6d1b3b53 | 341 | Calculate mirror log size instead of using 1 extent. |
c6a808f1 | 342 | Ensure requested device number is available before activating with it. |
219b480d AK |
343 | Fix incorrect exit status from 'help <command>'. |
344 | Fix vgrename using UUID if there are VGs with identical names. | |
539f903f | 345 | Fix segfault when invalid field given in reporting commands. |
f653fb2b | 346 | Move is_static from cmd to global is_static(). |
9db16312 | 347 | Refactor init_lvm() for lvmcmdline and clvmd. |
c7e363f9 | 348 | Add liblvm interactive test infrastructure to build. |
f653fb2b | 349 | Add skeleton lvm2.h file in preparation for a shared library interface. |
d17a8e36 | 350 | Use better random seed value in temp file creation. |
c6a808f1 | 351 | Add read_urandom to read /dev/urandom. Use in uuid calculation. |
b4795264 | 352 | Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. |
9d9589d1 | 353 | Fix race in vgcreate that would result in second caller overwriting first. |
89ef434f | 354 | Fix uninitialised lv_count in vgdisplay -c. |
e2675481 | 355 | Don't skip updating pvid hash when lvmcache_info struct got swapped. |
18dcfb69 | 356 | Add tinfo to termcap search path for pld-linux. |
acc41388 | 357 | Fix startup race in clvmd. |
c6a808f1 | 358 | Generate Red Hat clvmd startup script at config time with correct paths. |
07698bfd | 359 | Fix clvmd & dmeventd builds after tree restructuring. |
da526553 | 360 | Cope with snapshot dependencies when removing a whole VG with lvremove. |
c6a808f1 | 361 | Make man pages and tool help text consistent using | for alternative options. |
07698bfd AK |
362 | |
363 | Version 2.02.43 - 10th November 2008 | |
364 | ==================================== | |
b362d126 | 365 | Merge device-mapper into the lvm2 tree. |
40387549 AK |
366 | Correct prototype for --permission on lvchange and lvcreate man pages. |
367 | Exit with non-zero status from vgdisplay if couldn't show any requested VG. | |
3e5b6ed2 | 368 | Move list.c into libdevmapper and rename functions. |
965566dc | 369 | Rename a couple of variables that matched function names. |
597c3f8e | 370 | Use simplified x.y.z version number in libdevmapper.pc. |
c249597f | 371 | Remove ancient debian directory. |
fcc5d443 | 372 | Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. |
d480ed41 | 373 | |
5e4b1453 | 374 | Version 2.02.42 - 26th October 2008 |
44222209 | 375 | =================================== |
14c9a9ae | 376 | Accept locking fallback_to_* options in the global section as documented. |
9e71c180 AK |
377 | Fix temp table activation in mirror conversions not to happen in other cmds. |
378 | Fix temp table in mirror conversions to use always-present error not zero. | |
44222209 | 379 | |
a64041bb AK |
380 | Version 2.02.41 - 17th October 2008 |
381 | =================================== | |
5da4feac | 382 | Use temp table to set device size when converting mirrors. |
3935c3ec | 383 | In resume_mirror_images replace activate_lv with resume_lv as workaround. |
08b959a5 | 384 | Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. |
ffc4a05b | 385 | Fix snapshot monitoring library to not cancel monitoring invalid snapshot. |
5951ef33 | 386 | Generate man pages from templates and include version. |
68f2de6d | 387 | Add usrlibdir and usrsbindir to configure. |
9c4bf5db | 388 | Fix conversion of md chunk size into sectors. |
7eb1c3ed | 389 | Free text metadata buffer after a failure writing it. |
9c4bf5db | 390 | Fix misleading error message when there are no allocatable extents in VG. |
061fa9c4 | 391 | Fix handling of PVs which reappeared with old metadata version. |
550463b5 | 392 | Fix mirror DSO to call vgreduce with proper parameters. |
ed8c4d99 | 393 | Fix validation of --minor and --major in lvcreate to require -My always. |
b906150a | 394 | Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. |
6e410af1 | 395 | |
01b1d604 AK |
396 | Version 2.02.40 - 19th September 2008 |
397 | ===================================== | |
f3fc2386 | 398 | Allow lvremove to remove LVs from VGs with missing PVs. |
8c5bcdab AK |
399 | In VG with PVs missing, by default allow activation of LVs that are complete. |
400 | Track PARTIAL_LV and MISSING_PV flags internally. | |
401 | Require --force with --removemissing in vgreduce to remove partial LVs. | |
402 | No longer write out PARTIAL flag into metadata backups. | |
403 | Treat new default activation/missing_stripe_filler "error" as an error target. | |
404 | Remove internal partial_mode. | |
2adafc16 | 405 | Add devices/md_chunk_alignment to lvm.conf. |
3c2086ef | 406 | Pass struct physical_volume to pe_align and adjust for md chunk size. |
225ad191 | 407 | Store sysfs location in struct cmd_context. |
324e23b7 | 408 | Avoid shuffling remaining mirror images when removing one, retaining primary. |
4bb7a2f5 | 409 | Add missing LV error target activation in _remove_mirror_images. |
08b481bb | 410 | Prevent resizing an LV while lvconvert is using it. |
a0e00ccf | 411 | Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. |
df9c7546 | 412 | Fix pvresize to not allow resize if PV has two metadata areas. |
3a2fb073 | 413 | Fix setting of volume limit count if converting to lvm1 format. |
9c520b11 | 414 | Fix vgconvert logical volume id metadata validation. |
050f5d89 | 415 | Fix lvmdump metadata gather option (-m) to work correctly. |
a4a1cd76 | 416 | Fix allocation bug in text metadata format write error path. |
8df4c374 | 417 | Fix vgcfgbackup to properly check filename if template is used. |
b145d876 | 418 | configure aborts if lcov or genhtml are missing with --enable-profiling |
e2151fb4 ZK |
419 | vgremove tries to remove lv snapshot first. |
420 | Added function lv_remove_with_dependencies(). | |
b7961bdb | 421 | Improve file descriptor leak detection to display likely culprit and filename. |
9125b72b | 422 | Change clustered mirror kernel module name from cmirror to dm-log-clustered. |
131bc6f0 | 423 | Avoid looping forever in _pv_analyze_mda_raw used by pvck. |
021317a5 | 424 | Change lvchange exit status to indicate if any part of the operation failed. |
32a478cb | 425 | Fix pvchange and pvremove to handle PVs without mdas. |
29f7cbda | 426 | Refactor _text_pv_read and always return mda list if requested. |
ca822ab4 AK |
427 | Fix configure to work w/o readline unless --enable-readline used. (2.02.39) |
428 | Remove is_lvm_partition template which has not yet been coded. | |
429 | Refactor pvcreate to separate parameter parsing from validation logic. | |
4833ac3d DW |
430 | Check for label_write() failure in _text_pv_write(). |
431 | Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. | |
239c4fe6 | 432 | Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. |
82185ada AK |
433 | Cease recognising snapshot-in-use percentages returned by early devt kernels. |
434 | Add backward-compatible flags field to on-disk format_text metadata. | |
367a0ac0 | 435 | Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) |
f4fa433e | 436 | |
20ee0a06 | 437 | Version 2.02.39 - 27th June 2008 |
d47bc382 | 438 | ================================ |
1b523347 | 439 | Enable readline by default if available. |
5556819a AK |
440 | Update autoconf to 2008-01-16. |
441 | Add $DISTCLEAN_DIRS to make.tmpl.in. | |
442 | Create coverage reports with --enable-profiling and make lcov or lcov-dated. | |
59743245 | 443 | Fix up cache for PVs without mdas after consistent VG metadata is processed. |
6db41363 | 444 | Update validation of safe mirror log type conversions in lvconvert. |
1049bc2f | 445 | Fix lvconvert to disallow snapshot and mirror combinations. |
36081ccf | 446 | Fix reporting of LV fields alongside unallocated PV segments. |
1f787aca | 447 | Add --unquoted and --rows to reporting tools. |
30ef4c73 AK |
448 | Add and use uninitialized_var() macro to suppress invalid compiler warnings. |
449 | Introduce enum for md minor sb version to suppress compiler warning. | |
450 | Avoid undefined return value after _memlock manipulation in lvm2_run. | |
451 | Avoid link failure if configured without --enable-cmdlib or --enable-readline. | |
452 | Make clvmd return at once if other nodes down in a gulm or openais cluster. | |
453 | Fix and improve readahead 'auto' calculation for stripe_size. | |
454 | Fix lvchange output for -r auto setting if auto is already set. | |
455 | Add test case for readahead. | |
f4fa433e | 456 | Avoid ambiguous use of identifier error_message_produced. |
d0191583 | 457 | Begin syncing configure.in for merge/unification with device-mapper. |
ac27ef25 | 458 | Fix add_mirror_images not to dereference uninitialized log_lv upon failure. |
b1f8aa24 | 459 | Don't call openlog for every debug line output by clvmd. |
dc868e56 | 460 | Add --force to lvextend and lvresize. |
f4fa433e | 461 | Fix vgchange not to activate component mirror volumes directly. |
c8c24ccd | 462 | Fix test directory clean up in make distclean. |
ac27ef25 | 463 | |
88f2c815 AK |
464 | Version 2.02.38 - 11th June 2008 |
465 | ================================ | |
56637f2a | 466 | Fix tracking of validity of PVs with no mdas in lvmcache. |
3a30d1db | 467 | Fix return values for reporting commands when run with no PVs, LVs, or VGs. |
a3678fa1 | 468 | Add omitted unlock_vg() call when sigint_caught() during vg processing. |
88f2c815 AK |
469 | Fix free_count when reading pool metadata. |
470 | Fix segfault when using pvcreate on a device containing pool metadata. | |
80b7fe0e | 471 | Fix segfault after _free_vginfo by remembering to remove vginfo from list. |
bfadd213 | 472 | Tweak detection of invalid fid after changes to PVs in VG in _vg_read. |
424dd43e | 473 | Revert assuming precommitted metadata is live when activating (unnecessary). |
aa769723 | 474 | Drop cached metadata for disappearing VG in vgmerge. |
ec40d928 AK |
475 | In script-processing mode, stop if any command fails. |
476 | Warn if command exits with non-zero status code without a prior log_error. | |
477 | Check lv_count in vg_validate. | |
478 | Add --nameprefixes to reporting tools for field name prefix output format. | |
479 | ||
0b1a6c4b AK |
480 | Version 2.02.37 - 6th June 2008 |
481 | =============================== | |
482 | Make clvmd-cman use a hash rather than an array for node updown info. | |
483 | Correct config file line numbers in messages when parsing comments. | |
179b9822 | 484 | Drop cached metadata when renaming a VG. |
57d0dc0d | 485 | Allow for vginfo changing during _vg_read. |
e350c2f6 | 486 | Decode numbers in clvmd debugging output. |
bdf8c02f | 487 | Add missing deactivation after activation failure in lvcreate -Zy. |
e4b34bfa | 488 | When activating, if precommitted metadata is still cached, assume it's live. |
4bfa1324 | 489 | When removing LV symlinks, skip any where the VG name is not determined. |
ad134662 | 490 | Drop metadata cache if update fails in vg_revert or vg_commit. |
bdce11cb AK |
491 | Avoid spurious duplicate VG messages referring to VGs that are gone. |
492 | Drop dev_name_confirmed error message to debug level. | |
493 | Fix setpriority error message to signed int. | |
ace5664e | 494 | Temporarily disable dmeventd mirror monitoring during lvchange --resync. |
fc54be10 | 495 | Refactor some vginfo manipulation code. |
98fd1ce3 | 496 | Add assertions to trap deprecated P_ and V_ lock usage. |
3d6af3e3 AK |
497 | Add missing mutex around clvmd lvmcache_drop_metadata library call. |
498 | Fix uninitialised mutex in clvmd if all daemons are not running at startup. | |
499 | Avoid using DLM locks with LCK_CACHE type P_ lock requests. | |
3835ad6b | 500 | When asked to drop cached committed VG metadata, invalidate cached PV labels. |
d9c0105f AK |
501 | Drop metadata cache before writing precommitted metadata instead of after. |
502 | Don't touch /dev in vgrename if activation is disabled. | |
503 | ||
04ed52f6 | 504 | Version 2.02.36 - 29th April 2008 |
f6a88f32 | 505 | ================================= |
04ed52f6 AK |
506 | Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. |
507 | Fix lvresize to pass new size to fsadm when extending device. | |
d474909a | 508 | Remove unused struct in clvmd-openais, and use correct node count. |
746e7dc4 | 509 | Fix nodes list in clvmd-openais, and allow for broadcast messages. |
b5618c07 | 510 | Exclude VG_GLOBAL from internal concurrent VG lock counter. |
8e8baf89 | 511 | Fix vgsplit internal counting of snapshot LVs. |
b5618c07 AK |
512 | Fix vgmerge snapshot_count when source VG contains snapshots. |
513 | Simplify clvmd-openais by using non-async saLckResourceLock. | |
fd1b1189 | 514 | Fix internal LV counter when a snapshot is removed. |
a93ae114 | 515 | Fix metadata corruption writing lvm1-formatted metadata with snapshots. |
7e305eda | 516 | Fix lvconvert -m0 allocatable space check. |
f6a88f32 | 517 | |
a34eeced | 518 | Version 2.02.35 - 15th April 2008 |
a6b0b935 | 519 | ================================= |
581b17de | 520 | Drop cached VG metadata before and after committing changes to it. |
adb57823 | 521 | Rename P_global to P_#global. |
c4afaa05 | 522 | Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) |
8b1ae3c1 | 523 | Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) |
6920681c DW |
524 | Update vgsplit tests to verify loosening of active LV restriction. |
525 | Update vgsplit to only restrict split with active LVs involved in split. | |
526 | Add lv_is_active() to determine whether an lv is active. | |
a6b0b935 | 527 | |
9d527965 AK |
528 | Version 2.02.34 - 10th April 2008 |
529 | ================================= | |
3cde54c5 | 530 | Improve preferred_names lvm.conf example. |
2e050bfc AK |
531 | Fix vgdisplay 'Cur LV' field to match lvdisplay output. |
532 | Fix lv_count report field to exclude hidden LVs. | |
985ca02b | 533 | Add vg_is_clustered() helper function. |
eec663aa | 534 | Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. |
f2696211 | 535 | Update vgsplit tests for lvnames on the cmdline. |
5656911a DW |
536 | Update vgsplit man page to reflect lvnames on the cmdline. |
537 | Update vgsplit to take "-n LogicalVolumeName" on the cmdline. | |
eb273c7c | 538 | Use clustered mirror log with pvmove in clustered VGs, if available. |
178e1df2 | 539 | Fix some pvmove error status codes. |
9ac3596d | 540 | Fix vgsplit error paths to release vg_to lock. |
54396b89 AK |
541 | Indicate whether or not VG is clustered in vgcreate log message. |
542 | Mention default --clustered setting in vgcreate man page. | |
543 | Add config file overrides to clvmd when it reads the active LVs list. | |
6eb44b50 AK |
544 | Fix vgreduce to use vg_split_mdas to check sufficient mdas remain. |
545 | Add (empty) orphan VGs to lvmcache during initialisation. | |
546 | Fix orphan VG name used for format_pool. | |
ad607a23 | 547 | Create a fid for internal orphan VGs. |
d334793f | 548 | Update lvmcache VG lock state for all locking types now. |
8bf70e11 | 549 | Fix output if overriding command_names on cmdline. |
5619c629 | 550 | Add detection of clustered mirror log capability. |
9da5d7ac | 551 | Add check to vg_commit() ensuring VG lock held before writing new VG metadata. |
d2901a62 | 552 | Add validation of LV name to pvmove -n. |
ec074fcf | 553 | Make clvmd refresh the context correctly when lvm.conf is updated. |
906935e5 | 554 | Add some basic internal VG lock validation. |
bf7dea97 | 555 | Add per-command flags to control which commands use the VG metadata cache. |
c6cb6ddf AK |
556 | Fix vgsplit locking of new VG (2.02.30). |
557 | Avoid erroneous vgsplit error message for new VG. (2.02.29) | |
e283bda9 | 558 | Suppress duplicate message when lvresize fails because of invalid vgname. |
6e210a6c | 559 | Cache VG metadata internally while VG lock is held. |
33842916 | 560 | Fix redundant lvresize message if vg doesn't exist. |
611c0689 | 561 | Fix another allocation bug with clvmd and large node IDs. |
9332d2cb | 562 | Add find_lv_in_lv_list() and find_pv_in_pv_list(). |
2aa5120e | 563 | Fix uninitialised variable in clvmd that could cause odd hangs. |
4f618eba | 564 | Add vgmerge tests. |
052bbfba | 565 | Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. |
43aa4637 DW |
566 | Add list_move() for moving elements from one list to another. |
567 | Add 'is_reserved_lvname()' for identifying hidden LVs. | |
83465fde | 568 | Correct command name in lvmdiskscan man page. |
7750a1ad | 569 | clvmd no longer crashes if it sees nodeids over 50. |
ed070f41 | 570 | Fix potential deadlock in clvmd thread handling. |
dc2bdce1 | 571 | Refactor text format initialisation into _init_text_import. |
d4ce89d9 AK |
572 | Escape double quotes and backslashes in external metadata and config data. |
573 | Add functions for escaping double quotes in strings. | |
574 | Rename count_chars_len to count_chars. | |
bcacf9d0 AK |
575 | Use return_0 in a couple more places. |
576 | Correct a function name typo in _line_append error message. | |
66db5dd8 | 577 | Include limits.h in clvmd so it compiles with newer headers. |
810e5001 | 578 | Add VirtIO disks (virtblk) to filters. |
60be88a0 | 579 | Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) |
4c0f4125 | 580 | Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) |
39d3ec0b AK |
581 | Add missing no-longer-used segs_using_this_lv test to check_lv_segments. |
582 | Remove redundant non-NULL tests before calling free in clvmd.c. | |
583 | Avoid a compiler warning: make is_orphan's parameter const. | |
9790f608 | 584 | Fix lvconvert detection of mirror conversion in progress. (2.02.30) |
b1ec1f87 | 585 | Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) |
814d9d5b | 586 | Fix 'pvs -a' to detect VGs of PVs without metadata areas. |
bb097a97 | 587 | Divide up internal orphan volume group by format type. |
08152c90 | 588 | Update usage message for clvmd. |
39d3ec0b AK |
589 | Fix clvmd man page not to print <br> and clarified debug options. |
590 | Fix lvresize to support /dev/mapper prefix in the LV name. | |
591 | Fix unfilled parameter passed to fsadm from lvresize. | |
592 | Update fsadm to call lvresize if the partition size differs (with option -l). | |
593 | Fix fsadm to support VG/LV names. | |
f2f1da18 | 594 | |
12aa1a24 | 595 | Version 2.02.33 - 31st January 2008 |
8abe9ec3 | 596 | =================================== |
4e9083db AK |
597 | Fix mirror log name construction during lvconvert. (2.02.30) |
598 | Make monitor_dev_for_events recurse through the stack of LVs. | |
599 | Clean up some more compiler warnings. | |
67cdbd7e | 600 | Some whitespace tidy-ups. |
c51b9fff | 601 | Use stack return macros throughout. |
962b2a55 | 602 | Rely upon internally-cached PV labels while corresponding VG lock is held. |
8abe9ec3 | 603 | |
0dff5864 | 604 | Version 2.02.32 - 29th January 2008 |
6903d5b2 | 605 | =================================== |
5dc6c0de | 606 | Fix two check_lv_segments error messages to show whole segment. |
3d13b467 | 607 | Refactor mirror log attachment code. |
311961fd | 608 | Fix internal metadata corruption in lvchange --resync. (2.02.30) |
d39a99b2 | 609 | Fix new parameter validation in vgsplit and test mode. (2.02.30) |
5a3f869f | 610 | Remove redundant cnxman-socket.h file from clvmd directory. |
8a19ebf4 | 611 | Fix pvs, vgs, lvs error exit status on some error paths. |
6903d5b2 | 612 | |
0293b5f1 | 613 | Version 2.02.31 - 19th January 2008 |
aced269a | 614 | =================================== |
0e0a6eb6 | 615 | Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) |
7644c656 | 616 | Add very_verbose lvconvert messages. |
51581d4d | 617 | Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) |
aced269a | 618 | |
6860fecb | 619 | Version 2.02.30 - 17th January 2008 |
ce9636b2 | 620 | =================================== |
0c06de63 | 621 | Set default readahead to twice maximium stripe size. |
bdb91441 | 622 | Reinstate VG extent size and stripe size defaults (halved). (2.02.29) |
6860fecb | 623 | Add lists of stacked LV segments using each LV to the internal metadata. |
72baf0c3 | 624 | Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. |
fb3226a3 | 625 | Fix process_all_pvs to detect non-orphans with no MDAs correctly. |
f6dd48b0 | 626 | Don't use block_on_error with mirror targets version 1.12 and above. |
6860fecb | 627 | Update vgsplit to accept vgcreate options when new VG is destination. |
f9ddc763 | 628 | Update vgsplit to accept existing VG as destination. |
272465ea | 629 | lvconvert waits for completion of initial sync by default. |
2b0968b7 | 630 | Refactor vgcreate for parameter validation and add tests. |
c9ea4988 | 631 | Add new convert_lv field to lvs output. |
4a898ae9 | 632 | Print warning when lvm tools are running as non-root. |
67961c7c | 633 | Add snapshot dmeventd library (enables dmeventd snapshot monitoring). |
7415ef77 | 634 | Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. |
a95892f7 | 635 | Fix a segfault if using pvs with --all argument. (2.02.29) |
48d9a74d | 636 | Update --uuid argument description in man pages. |
8a77dd46 | 637 | Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) |
ba0c495d | 638 | Extend lvconvert to use polldaemon. |
31e9db26 | 639 | Add support for stacked mirrors. |
a69ab652 | 640 | Major restructuring of pvmove and lvconvert layer manipulation code. |
f29e7ac5 | 641 | Replace tools/fsadm with scripts/fsadm.sh. |
dd007cfd AK |
642 | Append fields to report/pvsegs_cols_verbose. |
643 | Permit LV segment fields with PV segment reports. | |
644 | Add seg_start_pe and seg_pe_ranges to reports. | |
ce9636b2 | 645 | |
5e856ed1 AK |
646 | Version 2.02.29 - 5th December 2007 |
647 | =================================== | |
33032891 | 648 | Make clvmd backup vg metadata on remote nodes. |
3da4613d | 649 | Refactor pvmove allocation code. |
3e50ea9e AK |
650 | Decode cluster locking state in log message. |
651 | Change file locking state messages from debug to very verbose. | |
b6f4f0c7 | 652 | Fix --addtag to drop @ prefix from name. |
37034fb8 | 653 | Stop clvmd going haywire if a pre_function fails. |
e5f7352b | 654 | Convert some vg_reads into vg_lock_and_reads. |
223c62e7 | 655 | Avoid nested vg_reads when processing PVs in VGs and fix associated locking. |
204a12e5 AK |
656 | Accept sizes with --readahead argument. |
657 | Store size arguments as sectors internally. | |
df322f0b | 658 | Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. |
a6b22cf3 | 659 | Add read_ahead activation code. |
b4068515 AK |
660 | Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. |
661 | Extend readahead arg to accept "auto" and "none". | |
a6b22cf3 | 662 | Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. |
19c86543 | 663 | Prevent lvconvert -s from using same LV as origin and snapshot. |
00a7c302 AK |
664 | Fix human-readable output of odd numbers of sectors. |
665 | Add pv_mda_free and vg_mda_free fields to reports for raw text format. | |
2b0249ec | 666 | Add LVM2 version to 'Generated by' comment in metadata. |
fd4ff5d2 AK |
667 | Show 'not usable' space when PV is too large for device in pvdisplay. |
668 | Ignore and fix up any excessive device size found in metadata. | |
612548c0 | 669 | Fix error message when fixing up PV size in lvm2 metadata (2.02.11). |
d38bf361 AK |
670 | Fix orphan-related locking in pvdisplay and pvs. |
671 | Fix missing VG unlocks in some pvchange error paths. | |
672 | Add some missing validation of VG names. | |
673 | Rename validate_vg_name() to validate_new_vg_name(). | |
674 | Change orphan lock to VG_ORPHANS. | |
675 | Change format1 to use ORPHAN as orphan VG name. | |
9c1dbeb3 | 676 | Convert pvchange, pvdisplay, pvscan to use is_orphan() |
d38bf361 | 677 | Add is_orphan_vg() and change all hard-coded checks to use it. |
47c06763 | 678 | Detect md superblocks version 1.0, 1.1 and 1.2. |
0283c439 | 679 | Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. |
1b8de4cb | 680 | Add pv_dev_name() to access PV device name. |
70d9f98e | 681 | Add const attributes to pv accessor functions. |
0283c439 | 682 | Refactor vg_add_snapshot() and lv_create_empty(). |
6aca8e92 | 683 | Handle new sysfs subsystem/block/devices directory structure. |
5e856ed1 | 684 | Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. |
da08e40f | 685 | Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. |
216283b6 | 686 | Fix underquotations in lvm_dump.sh. |
479921f1 | 687 | Refactor lvcreate stripe and mirror parameter validation. |
5e856ed1 AK |
688 | Print --help output to stdout, not stderr. |
689 | After a cmdline processing error, don't print help text but suggest --help. | |
dfef7f69 | 690 | Add %PVS extents option to lvresize, lvextend, and lvcreate. |
b680c5c6 | 691 | Add 'make check' to run tests in new subdirectory 'test'. |
d5f554ab | 692 | Moved the obsolete test subdirectory to old-tests. |
b680c5c6 | 693 | Cope with relative paths in configure --with-dmdir. |
13aba081 | 694 | Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. |
9eea0107 | 695 | Fix strdup memory leak in str_list_dup(). |
533a024a AK |
696 | Link with -lpthread when static SELinux libraries require that. |
697 | Detect command line PE values that exceed their 32-bit range. | |
b45b8464 | 698 | Include strerror string in dev_open_flags' stat failure message. |
c6ea067f | 699 | Move guts of pvresize into library. |
2b849ab4 AK |
700 | Avoid error when --corelog is provided without --mirrorlog. (2.02.28) |
701 | Correct --mirrorlog argument name in man pages (not --log). | |
702 | Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear. | |
f603fe64 DW |
703 | Modify lvremove to prompt for removal if LV active on other cluster nodes. |
704 | Add '-f' to vgremove to force removal of VG even if LVs exist. | |
b45b8464 | 705 | |
230948b9 AK |
706 | Version 2.02.28 - 24th August 2007 |
707 | ================================== | |
d2fb8b66 | 708 | Fix clvmd logging so you can get lvm-level debugging out of it. |
e935d217 | 709 | Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. |
230948b9 | 710 | Change locking_flags from int to uint32_t. |
88fc506b | 711 | Fix clvmd -R, so it fully refreshes the caches. |
3b3948f1 | 712 | Change lvconvert_mirrors to use mirror segtype not striped. |
ea041b12 | 713 | Fix lvconvert_mirrors detection of number of existing mirrors. |
230948b9 | 714 | Clean up numerous compiler warnings that appeared in recent releases. |
21bc3664 | 715 | Remove several unused parameters from _allocate(). |
edb3374d | 716 | Only permit --force, --verbose and --debug arguments to be repeated. |
be684599 | 717 | Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. |
230948b9 AK |
718 | Move guts of vgremove and lvremove into library, including yes_no_prompt. |
719 | Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C]. | |
7a197a62 | 720 | Update to use autoconf 2.61, while still supporting 2.57. |
230948b9 AK |
721 | Add more cluster info to lvmdump. |
722 | Add further const attributes throughout. | |
48bb503f | 723 | Add support for renaming mirrored LVs. |
230948b9 | 724 | Factor out core of lvrename() to library function. |
edb3374d | 725 | Add --mirrorlog argument to specify log type for mirrors. |
230948b9 AK |
726 | Don't attempt to monitor devices if their creation failed in _lv_activate. |
727 | Don't leak a file descriptor in fcntl_lock_file() when fcntl fails. | |
edb3374d | 728 | Replace create_dir with dm_create_dir. |
230948b9 | 729 | Detect stream write failure reliably with lvm_fclose using dm_fclose. |
3c116860 | 730 | Fix clvmd if compiled with gulm support. (2.02.26) |
230948b9 | 731 | Fix lvdisplay man page to say LV size is reported in sectors, not KB. |
891c3d29 | 732 | Add vg_lock_and_read() external library function. |
8a0de6c3 | 733 | Fix loading of persistent cache if cache_dir is used. (2.02.23) |
230948b9 AK |
734 | Reduce _compare_paths lstat error message from log_error to log_very_verbose. |
735 | Create util.h with last_path_component replacing strdup + basename. | |
bbcd2460 | 736 | Use gcc's printf attribute wherever possible. |
230948b9 | 737 | In _line_append, use "sizeof buf - 1" rather than equivalent "4095". |
c93e6b5f | 738 | Introduce is_same_inode macro, now including a comparison of st_dev. |
230948b9 | 739 | Don't leak a file descriptor in _lock_file() when flock fails. |
3579b652 | 740 | Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. |
03eee0e2 | 741 | Split metadata-external.h out from metadata.h for the tools to use. |
f5840016 | 742 | |
6fb02eb2 | 743 | Version 2.02.27 - 17th July 2007 |
6dee7d31 | 744 | ================================ |
5b7d1629 | 745 | Fix snapshot cow area deactivation if origin is not active. (2.02.13) |
d1158c75 | 746 | Fix configure libdevmapper.h check when --with-dmdir is used. |
0c795e2e | 747 | Turn _add_pv_to_vg() into external library function add_pv_to_vg(). |
33e56019 | 748 | Add pv_by_path() external library function. |
b3ae66ae | 749 | Tidy clvmd-openais of redundant bits, and improve an error report. |
3c21da17 | 750 | Cope with find_seg_by_le() failure in check_lv_segments(). |
fb697f28 | 751 | Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. |
d27e1233 | 752 | Add vg_mda_count and pv_mda_count columns to reports. |
68c87619 | 753 | Fix dumpconfig to use log_print instead of stdout directly. |
fba549f8 | 754 | Remove unused parameter 'fid' from _add_pv_to_vg. |
68c87619 AK |
755 | Add kernel and device-mapper targets versions to lvmdump. |
756 | Replace BSD (r)index with C89 str(r)chr. | |
757 | Handle vgsplit of an entire VG as a vgrename. | |
758 | Reinitialise internal lvmdiskscan variables when called repeatedly. | |
86df68f3 | 759 | Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) |
69483a8a | 760 | Add vg_status function and clean up vg->status in tools directory. |
53c774b9 | 761 | Add --ignoremonitoring to disable all dmeventd interaction. |
69483a8a | 762 | Remove get_ prefix from get_pv_* functions. |
8e2f0361 | 763 | clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. |
e7ddf416 | 764 | Print warnings to stderr instead of stdout. |
6dee7d31 | 765 | |
8f1fb4ad AK |
766 | Version 2.02.26 - 15th June 2007 |
767 | ================================ | |
1471bc87 | 768 | Update vgcfgrestore man page. |
8f1fb4ad AK |
769 | Allow keyboard interrupt during user prompts when appropriate. |
770 | Remove unused clvmd system-lv code. | |
771 | Replace many physical_volume struct dereferences with new get_pv_* functions. | |
772 | Suppress a benign compile-time warning. | |
b496210d | 773 | Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. |
4e5f3e73 | 774 | Add wrappers to some functions in preparation for external LVM library. |
8f1fb4ad | 775 | Add -f to vgcfgrestore to list metadata backup files. |
c221b0bc | 776 | Add vg_check_status to consolidate vg status checks and error messages. |
5a4ba89a | 777 | Add pvdisplay --maps implementation. |
8f1fb4ad AK |
778 | Remove unsupported LVM1 options from vgcfgrestore man page. |
779 | Update vgcfgrestore man page to show mandatory VG name. | |
780 | Update vgrename man page to include UUID and be consistent with lvrename. | |
59231b56 | 781 | Add (experimental) OpenAIS support to clvmd. |
8f1fb4ad | 782 | Fix deactivation code to follow dependencies and remove symlinks. |
b3b0f199 | 783 | Fix and clarify vgsplit error messages. |
8f1fb4ad AK |
784 | Fix a segfault in device_is_usable() if a device has no table. |
785 | Add some more debug messages to clvmd startup. | |
786 | Misc clvmd cleanups. | |
ffd5c5c8 | 787 | |
e3a12d14 | 788 | Version 2.02.25 - 27th April 2007 |
a8f51fa2 | 789 | ================================= |
19eb95f7 | 790 | Fix get_config_uint64() to read a 64-bit value not a 32-bit one. |
7c03887b | 791 | Add -Wformat-security and change one fprintf() to fputs(). |
e6edd1d7 | 792 | Move regex functions into libdevmapper. |
1bf5aae9 | 793 | Change some #include lines to search only standard system directories. |
4f2f566b AK |
794 | Add devices/preferred_names config regex list for displayed device names. |
795 | Free a temporary dir string in fcntl_lock_file() after use. | |
796 | Fix a dm_pool_destroy() in matcher_create(). | |
797 | Introduce goto_bad macro. | |
798 | Fix warnings on x86_64 involving ptrdiff_t in log_error messages. | |
799 | Update pvck to include text metadata area and record detection. | |
800 | Add support functions for token counting in config file extracts. | |
801 | Update pvck to read labels on disk, with --labelsector parameter. | |
802 | Add count_chars and count_chars_len functions. | |
803 | Add /sys/block listings to lvm_dump.sh. | |
804 | Make lvm_dump.sh list /dev recursively. | |
05aa860f | 805 | Fix thread race in clvmd. |
17a6fc0b | 806 | Add scan_sector param to label_read and _find_labeller. |
4f2f566b AK |
807 | Make clvmd cope with quorum devices. |
808 | Add extra internal error checking to clvmd. | |
662e0238 | 809 | Add dev_read_circular. |
cc5a4e1d | 810 | Add pvck command stub. |
b4fb5226 AK |
811 | Update lists of attribute characters in man pages. |
812 | Change cling alloc policy attribute character from 'C' to l'. | |
5d06515c | 813 | Fix creation and conversion of mirrors with tags. |
851002b8 MB |
814 | Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). |
815 | Split metadata areas in vgsplit properly. | |
a8f51fa2 | 816 | |
91dc07af AK |
817 | Version 2.02.24 - 19th March 2007 |
818 | ================================= | |
eca7ef18 | 819 | Fix processing of exit status in init scripts |
d330e660 | 820 | Fix vgremove to require at least one vg argument. |
74e2acb6 AK |
821 | Fix reading of striped LVs in LVM1 format. |
822 | Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) | |
b9b26011 | 823 | Add a few missing pieces of vgname command line validation. |
9397354a | 824 | Support the /dev/mapper prefix on most command lines. |
13e5d242 AK |
825 | |
826 | Version 2.02.23 - 8th March 2007 | |
827 | ================================ | |
b45c9f49 | 828 | Fix vgrename active LV check to ignore differing vgids. |
8fe54fdd | 829 | Remove no-longer-used uuid_out parameter from activation info functions. |
af914569 | 830 | Fix two more segfaults if an empty config file section encountered. |
87cec8eb AK |
831 | Move .cache file into a new /etc/lvm/cache directory by default. |
832 | Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache. | |
833 | Create directory in fcntl_lock_file() if required. | |
f359c9b8 | 834 | Exclude readline support from lvm.static. |
0558b928 | 835 | Fix a leak in a reporting error path (2.02.19). |
2f2c9932 | 836 | |
187c689f AK |
837 | Version 2.02.22 - 13th February 2007 |
838 | ==================================== | |
d8ff86fd AK |
839 | Correct -b and -P on a couple of man pages. |
840 | Add global/units to example.conf. | |
e09dfed8 | 841 | Fix loading of segment_libraries. |
37fb985a AK |
842 | If a PV reappears after it was removed from its VG, make it an orphan. |
843 | Don't update metadata automatically if VGIDs don't match. | |
aa350ef4 | 844 | Fix some vgreduce --removemissing command line validation. |
612209c8 | 845 | |
f21f60d5 | 846 | Version 2.02.21 - 30th January 2007 |
67fa4fd4 | 847 | =================================== |
319e74e2 | 848 | Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. |
ce4c3310 AK |
849 | Fix vgsplit to handle mirrors. |
850 | Reorder fields in reporting field definitions. | |
898b3d4d | 851 | Fix vgs to treat args as VGs even when PV fields are displayed. |
fce67134 | 852 | Fix md signature check to handle both endiannesses. |
67fa4fd4 | 853 | |
667eb775 | 854 | Version 2.02.20 - 25th January 2007 |
07473c2b | 855 | =================================== |
aca04336 | 856 | dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. |
f247a4e7 | 857 | Add devices/ignore_suspended_devices to ignore suspended dm devices. |
2e1b92e3 AK |
858 | Add some missing close() and fclose() return code checks. |
859 | Fix exit statuses of reporting tools (2.02.19). | |
00fc37f1 | 860 | Add init script for dmeventd monitoring. |
20db8ffc | 861 | lvm.static no longer interacts with dmeventd unless explicitly asked to. |
57fc4cc0 AK |
862 | Add field definitions to report help text. |
863 | Remove unnecessary cmd arg from target_*monitor_events(). | |
3329c698 | 864 | Add private variable to dmeventd shared library interface. |
dd9927bc | 865 | Long-lived processes write out persistent dev cache in refresh_toolcontext(). |
f72de1dc AK |
866 | Fix refresh_toolcontext() always to wipe persistent device filter cache. |
867 | Add is_long_lived to toolcontext. | |
147b7d5e | 868 | Add --clustered to man pages. |
7fee061a | 869 | Streamline dm_report_field_* interface. |
8a37910d | 870 | Change remaining dmeventd terminology 'register' to 'monitor'. |
10232bd9 | 871 | Update reporting man pages. |
147b7d5e | 872 | No longer necessary to specify alignment type for report fields. |
07473c2b | 873 | |
c3afa8df | 874 | Version 2.02.19 - 17th January 2007 |
99a4014f | 875 | =================================== |
6a91a99b | 876 | Fix a segfault if an empty config file section encountered. |
d838a1e3 | 877 | Move basic reporting functions into libdevmapper. |
b1ab8b00 AK |
878 | Fix partition table processing after sparc changes (2.02.16). |
879 | Fix cmdline PE range processing segfault (2.02.13). | |
02059c81 | 880 | Some libdevmapper-event interface changes. |
8ef6eb30 AK |
881 | Report dmeventd mirror monitoring status. |
882 | Fix dmeventd mirror status line processing. | |
99a4014f | 883 | |
96710ad8 AK |
884 | Version 2.02.18 - 11th January 2007 |
885 | =================================== | |
6b36e863 | 886 | Revised libdevmapper-event interface for dmeventd. |
65e635b6 | 887 | Remove dmeventd mirror status line word limit. |
3b007b27 | 888 | Use CFLAGS when linking so mixed sparc builds can supply -m64. |
fb12fd44 AK |
889 | Prevent permission changes on active mirrors. |
890 | Print warning instead of error message if lvconvert cannot zero volume. | |
891 | Add snapshot options to lvconvert man page. | |
2eeb2a1f AK |
892 | dumpconfig accepts a list of configuration variables to display. |
893 | Change dumpconfig to use --file to redirect output to a file. | |
7c0cd273 | 894 | Avoid vgreduce error when mirror code removes the log LV. |
7cb59417 | 895 | Remove 3 redundant AC_MSG_RESULTs from configure.in. |
e62436fc AK |
896 | Free memory in _raw_read_mda_header() error paths. |
897 | Fix ambiguous vgsplit error message for split LV. | |
898 | Fix lvextend man page typo. | |
33f732c5 AK |
899 | Add configure --with-dmdir to compile against a device-mapper source tree. |
900 | Use no flush suspending for mirrors. | |
6032a223 | 901 | Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. |
aa8a4d96 | 902 | Fix create mirror with name longer than 22 chars. |
0ce83a83 | 903 | Fix some activate.c prototypes when compiled without devmapper. |
0c8569ed | 904 | Fix dmeventd mirror to cope if monitored device disappears. |
1a42d65a | 905 | |
dced1554 AK |
906 | Version 2.02.17 - 14th December 2006 |
907 | ==================================== | |
67e6c7e7 | 908 | Add missing pvremove error message when device doesn't exist. |
5b61ca72 AK |
909 | When lvconvert allocates a mirror log, respect parallel area constraints. |
910 | Use loop to iterate through the now-ordered policy list in _allocate(). | |
911 | Check for failure to allocate just the mirror log. | |
912 | Introduce calc_area_multiple(). | |
913 | Support mirror log allocation when there is only one PV: area_count now 0. | |
948ee3e3 | 914 | Fix detection of smallest area in _alloc_parallel_area() for cling policy. |
699b275a | 915 | Add manpage entry for clvmd -T |
e3e6eba1 | 916 | Fix gulm operation of clvmd, including a hang when doing lvchange -aey |
47436a42 | 917 | Fix hang in clvmd if a pre-command failed. |
193992de | 918 | |
b3bafefd AK |
919 | Version 2.02.16 - 1st December 2006 |
920 | =================================== | |
0357f18e | 921 | Fix VG clustered read locks to use PR not CR. |
4dc0ec22 | 922 | Adjust some alignments for ia64/sparc. |
6c48fe74 | 923 | Fix mirror segment removal to use temporary error segment. |
a16f48e3 PC |
924 | Always compile debug logging into clvmd. |
925 | Add startup timeout to RHEL4 clvmd startup script. | |
bd8be78c | 926 | Add -T (startup timeout) switch to clvmd. |
d9cc9173 | 927 | Improve lvm_dump.sh robustness. |
066ac2ef | 928 | Update lvm2create_initrd to support gentoo. |
55b5ce87 | 929 | |
efecd5c1 | 930 | Version 2.02.15 - 21st November 2006 |
3b276539 | 931 | ==================================== |
efecd5c1 | 932 | Fix clvmd_init_rhel4 line truncation (2.02.14). |
4eee5764 | 933 | Install lvmdump by default. |
25375165 | 934 | Fix check for snapshot module when activating snapshot. |
ba4f5d80 | 935 | Fix pvremove error path for case when PV is in use. |
9f7e7709 | 936 | Warn if certain duplicate config file entries are seen. |
15545b91 | 937 | Enhance lvm_dump.sh for sysreport integration and add man page. |
b65e33f4 | 938 | Fix --autobackup argument which could never disable backups. |
deb202bd | 939 | Fix a label_verify error path. |
3b276539 | 940 | |
9f74b2fc AK |
941 | Version 2.02.14 - 10th November 2006 |
942 | ==================================== | |
f96cde8c AK |
943 | Fix adjusted_mirror_region_size() to handle 64-bit size. |
944 | Add some missing bounds checks on 32-bit extent counters. | |
a89d6014 AK |
945 | Add Petabyte and Exabyte support. |
946 | Fix lvcreate error message when 0 extents requested. | |
581e8111 | 947 | lvremove man page: volumes must be cluster inactive before being removed. |
c1c16a8f AK |
948 | Protect .cache manipulations with fcntl locking. |
949 | Change .cache timestamp comparisons to use ctime. | |
1c3c2df9 | 950 | Fix mirror log LV writing to set all bits in whole LV. |
df52a8b5 | 951 | Fix clustered VG detection and default runlevels in clvmd_init_rhel4. |
c8902451 | 952 | Fix high-level free space check for partial allocations. |
7d1c3fcd | 953 | |
ffe524cc | 954 | Version 2.02.13 - 27th October 2006 |
38a5f0b6 | 955 | =================================== |
7f31917d | 956 | Add couple of missing files to tools/Makefile CLEAN_TARGETS. |
013577fb | 957 | When adding snapshot leave cow LV mapped device active after zeroing. |
99d00efa | 958 | Fix a clvmd debug message. |
4098f628 | 959 | Add dev_flush() to set_lv(). |
e51d50a1 | 960 | Add lvchange --resync. |
2bdc8e12 | 961 | Perform high-level free space check before each allocation attempt. |
77fcc207 | 962 | Don't allow a node to remove an LV that's exclusively active on anther node. |
9766c3c9 | 963 | Cope if same PV is included more than once in cmdline PE range list. |
b16b9c2b | 964 | Set PV size to current device size if it is found to be zero. |
7c5ec126 | 965 | Add segment parameter to target_present functions. |
38a5f0b6 | 966 | |
0b0fd330 | 967 | Version 2.02.12 - 16th October 2006 |
89a4e806 | 968 | =================================== |
e663b4e8 | 969 | Fix pvdisplay to use vg_read() for non-orphans. |
04dabc15 | 970 | Fall back to internal locking if external locking lib is missing or fails. |
a590f3b6 AK |
971 | Retain activation state after changing LV minor number with --force. |
972 | Propagate clustered flag in vgsplit and require resizeable flag. | |
89a4e806 | 973 | |
181b5f00 AK |
974 | Version 2.02.11 - 12th October 2006 |
975 | =================================== | |
efa483c5 | 976 | Add clvmd function to return the cluster name. not used by LVM yet. |
de5c82a0 | 977 | Add cling allocation policy. |
4a2ca1b9 | 978 | Change _check_contiguous() to use _for_each_pv(). |
b6f85520 AK |
979 | Extend _for_each_pv() to allow termination without error. |
980 | Abstract _is_contiguous(). | |
68d7c0e6 | 981 | Remove duplicated pv arg from _check_contiguous(). |
705eabf7 | 982 | Accept regionsize with lvconvert. |
d547cbb0 AK |
983 | Add report columns with underscore before field names ending 'size'. |
984 | Correct regionsize default on lvcreate man page (MB). | |
e37a2415 | 985 | Fix clvmd bug that could cause it to die when a node with a long name crashed. |
b4e2a0e1 | 986 | Add device size to text metadata. |
209f03f2 | 987 | Fix format_text mda_setup pv->size and pv_setup pe_count calculations. |
8d18637e | 988 | Fix _for_each_pv() for mirror with core log. |
92921054 | 989 | Add lvm_dump.sh script to create a tarball of debugging info from a system. |
2a7f7fc1 | 990 | Capture error messages in clvmd and pass them back to the user. |
7089e02c | 991 | Remove unused #defines from filter-md.c. |
dc9dcb3d | 992 | Make clvmd restart init script wait until clvmd has died before starting it. |
13583874 | 993 | Add -R to clvmd which tells running clvmds to reload their device cache. |
6c81ed26 | 994 | Add LV column to reports listing kernel modules needed for activation. |
1baed0e1 | 995 | Show available fields if report given invalid field. (e.g. lvs -o list) |
8b1a3214 | 996 | Add timestamp functions with --disable-realtime configure option. |
34fadac4 | 997 | Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. |
5095de51 | 998 | Fix two potential NULL pointer derefs in error cases in vg_read(). |
e0a26692 | 999 | Separate --enable-cluster from locking lib options in lvmconf.sh. |
d1a1e1a3 | 1000 | Add a missing comma in lvcreate man page. |
71fc0206 | 1001 | |
19513ad8 AK |
1002 | Version 2.02.10 - 19th September 2006 |
1003 | ===================================== | |
13ba0f94 AK |
1004 | Fix lvconvert mirror change case detection logic. |
1005 | Fix mirror log detachment so it correctly becomes a standalone LV. | |
bbb06856 AK |
1006 | Extend _check_contiguous() to detect single-area LVs. |
1007 | Include mirror log (untested) in _for_each_pv() processing. | |
1008 | Use MIRROR_LOG_SIZE constant. | |
1009 | Remove struct seg_pvs from _for_each_pv() to generalise. | |
1010 | Avoid adding duplicates to list of parallel PVs to avoid. | |
d9c6bbab AK |
1011 | Fix several incorrect comparisons in parallel area avoidance code. |
1012 | Fix segment lengths when flattening existing parallel areas. | |
1013 | Log existing parallel areas prior to allocation. | |
1014 | Fix mirror log creation when activation disabled. | |
fe748f00 | 1015 | Don't attempt automatic recovery without proper locking. |
dc4d7417 AK |
1016 | When using local file locking, skip clustered VGs. |
1017 | Add fallback_to_clustered_locking and fallback_to_local_locking parameters. | |
a45da5f6 AK |
1018 | lvm.static uses built-in cluster locking instead of external locking. |
1019 | Don't attempt to load shared libraries if built statically. | |
1c792fad | 1020 | Change default locking_lib to liblvm2clusterlock.so. |
08c060cf AK |
1021 | Add skip_dev_dir() to process command line VGs. |
1022 | Stop clvmd complaining about nodes that have left the cluster. | |
0550c1b6 | 1023 | Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. |
48432c88 AK |
1024 | Add lvconvert man page. |
1025 | Add mirror options to man pages. | |
d68336a5 | 1026 | Prevent mirror renames. |
6711231a | 1027 | Move CMDLIB code into separate file and record whether static build. |
ade81b8a | 1028 | |
086b63ca | 1029 | Version 2.02.09 - 17th August 2006 |
64c84579 | 1030 | ================================== |
94d501ed | 1031 | Fix PE_ALIGN for pagesize over 32KB. |
b5d761e1 | 1032 | Separate out LVM1_PE_ALIGN and pe_align(). |
916490f8 | 1033 | Add lvm_getpagesize wrapper. |
e95d8284 | 1034 | Add --maxphysicalvolumes to vgchange. |
64c84579 | 1035 | |
a9a6934b AK |
1036 | Version 2.02.08 - 15th August 2006 |
1037 | ================================== | |
438abca8 AK |
1038 | Add checks for duplicate LV name, lvid and PV id before writing metadata. |
1039 | Report all sanity check failures, not just the first. | |
9cd3426d | 1040 | Fix missing lockfs on first snapshot creation. |
e3ad1d19 | 1041 | Add unreliable --trustcache option to reporting commands. |
8b0d546f | 1042 | Fix locking for mimage removal. |
b813f533 | 1043 | Fix clvmd_init_rhel4 'status' exit code. |
7a21367d | 1044 | |
cecdabd9 AK |
1045 | Version 2.02.07 - 17th July 2006 |
1046 | ================================ | |
443a8f76 | 1047 | Fix activation logic in lvchange --persistent. |
fe686a51 | 1048 | Don't ignore persistent minor numbers when activating. |
0b431b8a | 1049 | Use RTLD_GLOBAL when loading shared libraries. |
e67ed94b | 1050 | Add some forgotten memlock checks to _vg_read to protect against full scans. |
f1dc5cc9 AK |
1051 | Add mutex to dmeventd_mirror to avoid concurrent execution. |
1052 | Fix vgreduce --removemissing to return success if VG is already consistent. | |
4bfab20a | 1053 | Fix return code if VG specified on command line is not found. |
2415c1ef AK |
1054 | Fix PV tools to include orphaned PVs in default output again. |
1055 | Fixed unaligned access when using clvm. | |
9f100d60 | 1056 | Fix an extra dev_close in a label_read error path. |
4cd33f98 | 1057 | Append patches to commit emails. |
4aae7246 | 1058 | Fix target_register_events args. |
83de5aa6 | 1059 | Prevent snapshots of mirrors. |
aba30ebc AK |
1060 | Add DISTCLEAN_TARGETS to make template for configure.h. |
1061 | More fixes to error paths. | |
2293567c AK |
1062 | Fix lvcreate corelog validation. |
1063 | Add --config for overriding most config file settings from cmdline. | |
1064 | Quote arguments when printing command line. | |
1065 | Remove linefeed from 'initialising logging' message. | |
1066 | Add 'Completed' debug message. | |
1067 | Don't attempt library exit after reloading config files. | |
1068 | Always compile with libdevmapper, even if device-mapper is disabled. | |
476d09d0 | 1069 | |
396cbbde AK |
1070 | Version 2.02.06 - 12th May 2006 |
1071 | =============================== | |
3e3d5d85 AK |
1072 | Propagate --monitor around cluster. |
1073 | Add --monitor to vgcreate and lvcreate to control dmeventd registration. | |
1074 | Filter LCK_NONBLOCK in clvmd lock_vg. | |
de828433 | 1075 | Add --nosync to lvcreate with LV flag NOTSYNCED. |
49fba23c | 1076 | Use mirror's uuid for a core log. |
aeb2c277 AK |
1077 | Add mirror log fault-handling policy. |
1078 | Improve mirror warning messages and tidy dmeventd syslog output. | |
526a3c21 | 1079 | Propagate nosync flag around cluster. |
532dae48 | 1080 | Allow vgreduce to handle mirror log failures. |
f17f6814 | 1081 | Add --corelog to lvcreate and lvconvert. |
5c9d70c9 AK |
1082 | Create a log header for replacement in-sync mirror log. |
1083 | Use set_lv() and dev_set() to wipe sections of devices. | |
1084 | Add mirror_in_sync() flag to avoid unnecessary resync on activation. | |
898e6f8e | 1085 | Add mirror_library description to example.conf. |
eba586f0 | 1086 | Fix uuid_from_num() buffer overrun. |
72b2cb61 AK |
1087 | Make SIZE_SHORT the default for display_size(). |
1088 | Fix some memory leaks in error paths found by coverity. | |
1089 | Use C99 struct initialisers. | |
1090 | Move DEFS into configure.h. | |
1091 | Clean-ups to remove miscellaneous compiler warnings. | |
12de747d AK |
1092 | Improve stripe size validation. |
1093 | Increase maximum stripe size limit to physical extent size for lvm2 metadata. | |
2f1489a6 | 1094 | Fix activation code to check for pre-existing mirror logs. |
089ae9a5 | 1095 | Tighten region size validation. |
81b4308b | 1096 | Ignore empty strings in config files. |
12ccdb25 | 1097 | Require non-zero regionsize and document parameter on lvcreate man page. |
26b25249 AK |
1098 | Invalidate cache if composition of VG changed externally. |
1099 | ||
05ffaffe | 1100 | Version 2.02.05 - 21st April 2006 |
c05fbac2 | 1101 | ================================= |
05ffaffe | 1102 | Fix vgid string termination in recent cache code. |
c05fbac2 | 1103 | |
13eadfc9 | 1104 | Version 2.02.04 - 19th April 2006 |
3ab3766f | 1105 | ================================= |
8a2fc586 AK |
1106 | Check for libsepol. |
1107 | Add some cflow & scope support. | |
1108 | Separate out DEFS from CFLAGS. | |
1109 | Remove inlines and use unique function names. | |
3ab3766f | 1110 | |
7fae84d7 AK |
1111 | Version 2.02.03 - 14th April 2006 |
1112 | ================================= | |
dbd3026f | 1113 | vgrename accepts vgid and exported VG. |
f855ac38 | 1114 | Add --partial to pvs. |
2ab16287 AK |
1115 | When choosing between identically-named VGs, also consider creation_host. |
1116 | Provide total log suppression with 2. | |
a5fe5a7c AK |
1117 | Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct. |
1118 | Add vgid to struct physical_volume and pass with vg_name to some functions. | |
e8db7023 | 1119 | If two or more VGs are found with the same name, use one that is not exported. |
f084e627 | 1120 | Whenever vgname is captured, also capture vgid and whether exported. |
cced28da | 1121 | Remove an incorrect unlock_vg() from process_each_lv(). |
76f97cd7 | 1122 | Update extent size information in vgchange and vgcreate man pages. |
ace652e6 | 1123 | Introduce origin_from_cow() and lv_is_visible(). |
7810d55d | 1124 | pvremove without -f now fails if there's no PV label. |
1c8b86c7 | 1125 | Support lvconvert -s. |
1a01b0c1 | 1126 | Suppress locking library load failure message if --ignorelockingfailure. |
9f5d8283 | 1127 | Propagate partial mode around cluster. |
d6207798 | 1128 | Fix archive file expiration. |
ed2b1bc5 | 1129 | Fix dmeventd build. |
e7f55bb4 | 1130 | clvmd now uses libcman rather than cman ioctls. |
a3167672 | 1131 | clvmd will allow new cman to shutdown on request. |
ed2b1bc5 | 1132 | |
b5f90860 AK |
1133 | Version 2.02.02 - 7th February 2006 |
1134 | =================================== | |
f0c9fe01 | 1135 | Add %.so: %.a make template rule. |
e4c11ad1 AK |
1136 | Switchover library building to use LIB_SUFFIX. |
1137 | Only do lockfs filesystem sync when suspending snapshots. | |
bfe2b548 | 1138 | Always print warning if activation is disabled. |
079ac15e | 1139 | vgreduce removes mirror images. |
c9dcba6b | 1140 | Add --mirrorsonly to vgreduce. |
3fc3e48c | 1141 | vgreduce replaces active LVs with error segment before removing them. |
bbf83db1 AK |
1142 | Set block_on_error parameter if available. |
1143 | Add target_version. | |
cad9fac9 | 1144 | Add details to format1 'Invalid LV in extent map' error message. |
e6493477 | 1145 | Fix lvscan snapshot full display. |
15d91f5a | 1146 | Bring lvdisplay man page example into line. |
06f62ad1 | 1147 | Add mirror dmeventd library. |
e2619d9e AK |
1148 | Add some activation logic to remove_mirror_images(). |
1149 | lvconvert can remove specified PVs from a mirror. | |
1150 | lvconvert turns an existing LV into a mirror. | |
1151 | Allow signed mirrors arguments. | |
1152 | Move create_mirror_log() into toollib. | |
c27920b1 | 1153 | Determine parallel PVs to avoid with ALLOC_NORMAL allocation. |
2fb492f6 | 1154 | Fix lv_empty. |
ebf78e7d | 1155 | |
20e5495e | 1156 | Version 2.02.01 - 23rd November 2005 |
0c32d9db | 1157 | ==================================== |
f3ce273f | 1158 | Fix lvdisplay cmdline to accept snapshots. |
349216a6 | 1159 | Fix open RO->RW promotion. |
749caf94 | 1160 | Fix missing vg_revert in lvcreate error path. |
0c32d9db | 1161 | |
da5edd8e AK |
1162 | Version 2.02.00 - 10th November 2005 |
1163 | ==================================== | |
b79c897e | 1164 | Extend allocation areas to avoid overflow with contiguous with other PVs. |
ad6b0ebb AK |
1165 | Stop lvcreate attempting to wipe zero or error segments. |
1166 | Added new lvs table attributes. | |
1167 | Separated out activation preload. | |
1168 | Moved activation functions into libdevmapper. | |
1169 | Fixed build_dm_name. | |
1170 | Add return macros. | |
436d3694 | 1171 | Added xen xvd devices. |
7a593325 | 1172 | Clear up precommitted metadata better. |
3bf5f6f5 | 1173 | A pvresize implementation. |
a78c7609 | 1174 | Fix contiguous allocation when there are no preceding segments. |
5727a8fa | 1175 | Add mirror_seg pointer to lv_segment struct. |
5f5355cb | 1176 | Only keep a device open if it's known to belong to a locked VG. |
f9a8e6ee | 1177 | Fix lvdisplay to show all mirror destinations. |
76c8ddc0 | 1178 | Replacement suspend code using libdevmapper dependency tree. |
352a99b9 AK |
1179 | Add DEFS to make.tmpl. |
1180 | Use dm_is_dm_major instead of local copy. | |
1181 | Allow mapped devices to be used as PVs. | |
ffbfce30 | 1182 | Move set_selinux_context into libdevmapper. |
78aa12e1 AK |
1183 | Fix automatic text metadata buffer expansion (using macro). |
1184 | Cache formatted text metadata buffer between metadata area writes. | |
31b5c6e6 | 1185 | Add pe_start field to pvs. |
03b49fe1 | 1186 | Add 'LVM-' prefix to uuids. |
06820362 | 1187 | Split lv_segment_area from lv_segment to permit extension. |
9fdc84c3 | 1188 | Replacement deactivation code using libdevmapper dependency tree. |
f894b4b1 | 1189 | Simplify dev_manager_info(). |
a653923f | 1190 | Attempt to load missing targets using modprobe. |
191abde9 | 1191 | Add -a to lvscan. |
2262b320 AK |
1192 | Move mknodes into libdevmapper. |
1193 | Move bitset, hash, pool and dbg_malloc into libdevmapper. | |
58d83f1a | 1194 | |
9aa2fec0 AK |
1195 | Version 2.01.15 - 16th October 2005 |
1196 | =================================== | |
9b02bdbc | 1197 | Refuse to run pvcreate/pvremove on devices we can't open exclusively. |
9c9e30cd | 1198 | Use ORPHAN lock definition throughout. |
0858a992 | 1199 | Validate chunksize in lvcreate. |
2b96712a | 1200 | Reduce chunksize limit to 512k. |
88d2bdc6 | 1201 | Fix chunksize field in reports. |
540b3799 | 1202 | Don't hide snapshots from default 'lvs' output. |
68366c99 AK |
1203 | Add is_dm_major() for use in duplicate device detection in lvmcache_add(). |
1204 | Really switch device number in lvmcache when it says it is doing so. | |
1205 | Option for bitset memory allocation using malloc as well as pool. | |
dbb43034 | 1206 | Don't assume exactly two mirrors when parsing mirror status. |
40ec1e8a | 1207 | Suppress fsync() error message on filesystems that don't support it. |
ae9c3f16 AK |
1208 | Fix yes_no_prompt() error handling. |
1209 | Add lvm.conf comment warning against multiple filter lines. | |
721b61a4 | 1210 | Tidy lvmconf.sh. |
fd0eec20 | 1211 | Add format1 dev_write debug messages. |
3d387697 | 1212 | Add clustered VG attribute to report. |
2d9e596f | 1213 | Move lvconvert parameters into struct lvconvert_params. |
4c60a352 | 1214 | Add clustered VG flag to LV lock requests. |
0fb173aa | 1215 | Change LV locking macros to take lv instead of lvid. |
07d31831 AK |
1216 | Prepend 'cluster' activation parameter to mirror log when appropriate. |
1217 | Pass exclusive flag to lv_activate and on to target activation code. | |
1218 | Prevent snapshot creation in a clustered VG for now. | |
fb9d44da | 1219 | Factor out adjusted_mirror_region_size() and generate_log_name_format(). |
19763200 | 1220 | Move compose_log_line() into mirror directory. |
4bf57ace | 1221 | Factor out _get_library_path(). |
0c09c9d9 | 1222 | Don't kill idling clvmd threads. |
fe6c7862 | 1223 | clvmd no longer takes out locks for non-clustered LVs. |
0b63cc1e | 1224 | Recognise ATA over Ethernet (aoe) devices. |
3bb7a8c8 AK |
1225 | |
1226 | Version 2.01.14 - 4th August 2005 | |
1227 | ================================= | |
190f6945 | 1228 | Fix lvconvert PV parameter in help string. |
78a352c2 | 1229 | Prevent snapshots getting activated in a clustered VG. |
a4be2c01 | 1230 | Separate out _build_dev_string. |
a9b5af1d AK |
1231 | Move zero_lv to toollib. |
1232 | Fix pool format handler to work with pv segment code. | |
d87b3a61 | 1233 | |
42043c23 | 1234 | Version 2.01.13 - 13th July 2005 |
f92853b4 | 1235 | ================================ |
0440a206 AK |
1236 | Fix pvmove segment splitting. |
1237 | Abstract vg_validate. | |
10b44b2d | 1238 | Only make one attempt at contiguous allocation. |
4f878105 AK |
1239 | Fix lvm1 format metadata read. |
1240 | Fix lvm1 format non-mirror lvcreate. | |
f92853b4 | 1241 | |
1956b7be | 1242 | Version 2.01.12 - 14th June 2005 |
3a373791 | 1243 | ================================ |
5e947dac | 1244 | Various allocation-related pvmove fixes. |
1956b7be AK |
1245 | Log an error if clvmd can't resolve a host name got from CCS. |
1246 | Fix potential spin loop in clvmd. | |
3a373791 | 1247 | |
5e2a6b8f AK |
1248 | Version 2.01.11 - 13th June 2005 |
1249 | ================================ | |
5e947dac | 1250 | Added lvmconf.sh. |
56c3d1f7 AK |
1251 | Use matchpathcon mode parameter. |
1252 | Don't defer closing dead FDs in clvmd. | |
5748cb17 | 1253 | Remove hard-coded 64k text metadata writing restriction. |
8b80d2a5 | 1254 | Make VG name restrictions consistent. |
1a1f3d3e | 1255 | Introduce lvconvert. So far only removes mirror images. |
ffb0e538 | 1256 | Allow mirror images to be resized. |
c77de777 | 1257 | Allow mirror images to have more than one segment. |
8211a13c AK |
1258 | Centralise restrictions on LV names. |
1259 | Always insert an intermediate layer for mirrors. | |
1260 | Suppress hidden LVs from reports unless --all is given. | |
1261 | Use square brackets for hidden LVs in reports. | |
60f13f01 AK |
1262 | Allow the creation of mirrors with contiguous extents. |
1263 | Always perform sanity checks against metadata before committing it to disk. | |
1264 | Split lv_extend into two steps: choosing extents + allocation to LV(s). | |
1265 | Add mirror log region size to metadata. | |
1266 | Use list_iterate_items throughout and add list*back macros. | |
1267 | Introduce seg_ macros to access areas. | |
1268 | Add segtype_is_ macros. | |
1269 | Support tiny metadata areas for pool conversions. | |
1270 | Mirror activation handles disk log as well as core. | |
1271 | Activation code recognises mirror log dependency. | |
1272 | Add mirror_log and regionsize fields to report. | |
bd236f65 | 1273 | Fix non-orphan pvchange -u. |
21ca3b12 | 1274 | Fix vgmerge to handle duplicate LVIDs. |
7ac8c238 | 1275 | Move archiver code from tools into library. |
24e65464 | 1276 | vgscan/change/display/vgs automatically create metadata backups if needed. |
e7c47a5d | 1277 | Merge cloned allocation functions. |
0888dc43 | 1278 | Fix contiguous allocation policy with linear. |
17ae61cc | 1279 | Cope with missing format1 PVs again. |
7f2def9e AK |
1280 | Remove lists of free PV segments. |
1281 | Simplify pv_maps code and remove slow bitset algorithm. | |
1282 | Red-Hat-ify the clvmd rhel4 initscript. | |
c44c04a6 | 1283 | %Zu->%zu |
c708ec79 | 1284 | Fix loopfiles alias alloc & mem debugging. |
4d122676 | 1285 | Un-inline dbg_strdup. |
32469fb2 AK |
1286 | lv_reduce tidying. |
1287 | Remove some unnecessary parameters. | |
1288 | Introduce seg_is macros. | |
b8e2ad3d | 1289 | |
f81656fd AK |
1290 | Version 2.01.10 - 3rd May 2005 |
1291 | ============================== | |
abe198c0 | 1292 | Don't create backup and archive dirs till needed. |
15db9fcf AK |
1293 | Reinstate full PV size when removing from VG. |
1294 | Support loopfiles for testing. | |
e40d124e | 1295 | Tidy lv_segment interface. |
15db9fcf | 1296 | pv_segment support. |
66278a80 | 1297 | vgchange --physicalextentsize |
90395b8d | 1298 | Internal snapshot restructuring. |
69b2cc0e | 1299 | Remove unused internal non-persistent snapshot option. |
864de9ce | 1300 | Allow offline extension of snapshot volumes. |
367b9cb1 | 1301 | Move from 2-step to 3-step on-disk metadata commit. |
864de9ce | 1302 | Scan ramdisks too and allow non-O_DIRECT fallback. |
1128f56b | 1303 | Annotate, tidy and extend list.h. |
1165258c | 1304 | Alignment tidying. |
2b7e4013 | 1305 | Make clvmd work around some "bugs" in gulm's node state notifications. |
30bda776 | 1306 | Tidy clvmd's SIGHUP handler |
4a0623f9 | 1307 | |
37baa586 AK |
1308 | Version 2.01.09 - 4th April 2005 |
1309 | ================================ | |
0a0f13e6 | 1310 | Add --ignorelockingfailure to vgmknodes. |
11270d07 | 1311 | clvmd: Don't allow user operations to start until the lvm thread is fully up. |
a478de3d | 1312 | clvmd-gulm: set KEEPALIVE on sockets. |
11270d07 | 1313 | |
c8f9c82d AK |
1314 | Version 2.01.08 - 22nd March 2005 |
1315 | ================================= | |
343a8c92 | 1316 | Add clustered attribute so vgchange can identify clustered VGs w/o locking. |
e5b836d2 | 1317 | Improve detection of external changes affecting internal cache. |
162d85b9 | 1318 | Add 'already in device cache' debug message. |
200ef4db | 1319 | Add -a to pvdisplay -C. |
0aa8e5be | 1320 | Avoid rmdir opendir error messsages when dir was already removed. |
779b7713 | 1321 | Tighten signal handlers. |
7e0b7fd0 | 1322 | Avoid some compiler warnings. |
e5def0ba | 1323 | Additional rename failure error message. |
1cbfe699 | 1324 | read/write may be macros. |
02c6d3f2 | 1325 | clvmd: don't take out lvm thread lock at startup, it only protects jobs list. |
47de3990 | 1326 | |
b9565b40 | 1327 | Version 2.01.07 - 8th March 2005 |
4c908521 | 1328 | ================================ |
b9565b40 | 1329 | Cope with new devices appearing by rescanning /dev if a uuid can't be found. |
8f5d81cb | 1330 | Remove DESTDIR from LVM_SHARED_PATH. |
3329bbfd PC |
1331 | clvmd fixes: make FDs close-on-exec |
1332 | gulm unlocks VG & orphan locks at startup in case they are stale | |
1333 | gulm now unlocks VG & orphan locks if client dies. | |
4c908521 | 1334 | |
9a56fc81 AK |
1335 | Version 2.01.06 - 1st March 2005 |
1336 | ================================ | |
aa70fe8b | 1337 | Suppress 'open failed' error messages during scanning. |
432cd1e4 | 1338 | Option to suppress warnings of file descriptors left open. |
f3b0ea28 | 1339 | Fix default value of metadatacopies in documentation (2->1). |
ce1aa2c3 | 1340 | Fix clvmd-gulm locking. |
eb3037dd PC |
1341 | ./configure --enable-debug now enables debugging code in clvmd. |
1342 | Fix clvmd-gulm node up/down code so it actually works. | |
1343 | clvmd-gulm now releases locks when shut down. | |
8b307a08 | 1344 | |
8e3a97ba AK |
1345 | Version 2.01.05 - 18th February 2005 |
1346 | ==================================== | |
1347 | Static binary invokes dynamic binary if appropriate. | |
a3dfa1c7 | 1348 | Make clvmd config check a little more tolerant. |
c9808c32 | 1349 | gulm clvmd can now cope with >1 message arriving in a TCP message. |
50e3a3f3 | 1350 | |
f1b2dad4 | 1351 | Version 2.01.04 - 9th February 2005 |
939a307d | 1352 | =================================== |
f1b2dad4 AK |
1353 | Add fixed offset to imported pool minor numbers. |
1354 | Update binary pathnames in clvmd_init_rhel4. | |
3ef1acee | 1355 | lvm2cmd.so should skip the check for open fds. |
421c2a6a | 1356 | Remove unused -f from pvmove. |
28b4320c | 1357 | Gulm clvmd doesn't report "connection refused" errors. |
d9656543 | 1358 | clvmd does a basic config file sanity check at startup. |
ceda2b14 | 1359 | Fix potential thread shutdown race in clvmd. |
939a307d | 1360 | |
07a2b9f8 | 1361 | Version 2.01.03 - 1st February 2005 |
2efec8b2 | 1362 | =================================== |
274c88be | 1363 | More 64-bit display/report fixes. |
51c2a813 | 1364 | More informative startup mesg if can't create /etc/lvm. |
7851b13b | 1365 | Fix snapshot device size bug (since 2.01.01). |
c9f9a8b2 | 1366 | clvmd announces startup and cluster connection in syslog. |
4e224cf0 | 1367 | Gulm clvmd doesn't hang trying to talk to a rebooted node. |
9549da27 | 1368 | Gulm clvmd doesn't print cman error on startup. |
2efec8b2 | 1369 | |
a918e733 | 1370 | Version 2.01.02 - 21st January 2005 |
c44c015a | 1371 | =================================== |
eaafeaaa | 1372 | Update clvmd_init_rhel4: use lvm.static and don't load dlm. |
ed2799e7 | 1373 | Fix some size_t printing. |
894a05ff | 1374 | Fix 64 bit xlate consts. |
da73b38d | 1375 | Split out pool sptype_names to avoid unused const. |
52f9afec | 1376 | Always fail if random id generation fails. |
c44c015a | 1377 | Recognise gnbd devices. |
6f4d25ec PC |
1378 | Fix clvmd startup bug introduced in cman/gulm amalgamation. |
1379 | Improve reporting of node-specific locking errors. | |
c44c015a | 1380 | |
5d0b9f47 | 1381 | Version 2.01.01 - 19th January 2005 |
34d9b431 | 1382 | =================================== |
5d0b9f47 | 1383 | Fix clvmd lv_info_by_lvid open_count. |
c45a8a2c | 1384 | Store snapshot and origin sizes separately. |
73a9487f | 1385 | Update vgcreate man page. |
34d9b431 | 1386 | |
3833b9cc AK |
1387 | Version 2.01.00 - 17th January 2005 |
1388 | =================================== | |
73543ee7 | 1389 | Fix vgscan metadata auto-correction. |
e9c761b8 | 1390 | Only ask libdevmapper for open_count when we need it. |
bfe848e1 | 1391 | Adjust RHEL4 clvmd init script priority. |
5c7fc7c4 | 1392 | Enable building of CMAN & GULM versions of clvmd into a single binary |
968b11a9 | 1393 | |
b7b17625 AK |
1394 | Version 2.00.33 - 7th January 2005 |
1395 | ================================== | |
2245e1c4 | 1396 | pvcreate wipes first 4 sectors unless given --zero n. |
a057a834 | 1397 | gulm clvmd now uses new ccsd key names. |
67443fad | 1398 | gulm clvmd now doesn't ignore the first node in cluster.conf |
0d194755 PC |
1399 | Improve clvmd failure message if it's already running. |
1400 | Allow user to kill clvmd during initialisation. | |
b9fb9b20 | 1401 | Fix off-by-one error in cluster_locking that could cause read hangs. |
a057a834 | 1402 | |
01a0beed | 1403 | Version 2.00.32 - 22nd December 2004 |
158fe3d3 | 1404 | ==================================== |
7e9e9502 | 1405 | Drop static/dl restriction for now. |
01a0beed | 1406 | Fix an error fprintf. |
bc0d0ce0 | 1407 | Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. |
165f49ba | 1408 | Fix device reference counting on re-opens. |
f6ab00eb | 1409 | Ignore sysfs symlinks when DT_UNKNOWN. |
57b08371 | 1410 | Add clvmd init script for RHEL4. |
d46fd67f | 1411 | Skip devices that are too small to be PVs. |
8c9a1d6a | 1412 | Fix pvchange -x segfault with lvm2-format orphan. |
9ec48461 | 1413 | Cope with empty msdos partition tables. |
db1cd377 | 1414 | Add CONTRIBUTORS file. |
158fe3d3 | 1415 | |
9a2abb82 | 1416 | Version 2.00.31 - 12th December 2004 |
6aad6545 | 1417 | ==================================== |
9a2abb82 | 1418 | Reopen RO file descriptors RW if necessary. |
6aad6545 | 1419 | |
c4bb9aa6 | 1420 | Version 2.00.30 - 10th December 2004 |
0ef6cc3f | 1421 | ==================================== |
09a7dce6 AK |
1422 | Additional device-handling debug messages. |
1423 | Additional verbosity level -vvvv includes line numbers and backtraces. | |
1424 | Verbose messages now go to stderr not stdout. | |
1425 | Close any stray file descriptors before starting. | |
1426 | Refine partitionable checks for certain device types. | |
1427 | Allow devices/types to override built-ins. | |
21c42c7f | 1428 | Fix lvreduce man page .i->.I |
80b04895 | 1429 | Fix vgsplit man page title. |
db7e9905 | 1430 | Fix clvmd man makefile. |
39de4a2a AK |
1431 | Extend dev_open logging. |
1432 | Make clvmd_fix_conf.sh UNDOable. | |
0ef6cc3f | 1433 | |
66f04084 AK |
1434 | Version 2.00.29 - 27th November 2004 |
1435 | ==================================== | |
1436 | xlate compilation fix. | |
1437 | ||
bbdab3fc | 1438 | Version 2.00.28 - 27th November 2004 |
a266258f | 1439 | ==================================== |
bbdab3fc | 1440 | Fix partition table & md signature detection. |
a266258f AK |
1441 | Minor configure/makefile tidy. |
1442 | Export version.h from tools for clvmd. | |
1443 | ||
2e605167 | 1444 | Version 2.00.27 - 24th November 2004 |
a614641a | 1445 | ==================================== |
c3a4c63c | 1446 | Trap large memory allocation requests. |
2e605167 | 1447 | Fix to partition table detection code. |
7f1e8db7 | 1448 | Improve filter debug mesgs. |
838ebb83 | 1449 | Make clvmd_fix_conf.sh UNDOable |
a614641a | 1450 | |
d528aaa6 AK |
1451 | Version 2.00.26 - 23rd November 2004 |
1452 | ==================================== | |
bd46a496 | 1453 | Improve pool debugging stats. |
985ef461 | 1454 | Detect partition table signature. |
5ab925de | 1455 | pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) |
b2dd0bb1 | 1456 | Separate out md superblock detection code. |
0ec78e98 AK |
1457 | Prevent snapshot origin resizing. |
1458 | Improve a vgremove error message. | |
fcac0642 AK |
1459 | Update some man pages. |
1460 | Allow y/n with -ae args (exclusive activation). | |
cb8920e6 | 1461 | Fixes to lvcreate vgname parsing. |
56f5c04d | 1462 | Fix dm_name string size calculation. |
bfd4b014 | 1463 | Improve clvmd error reporting during startup. |
cf541774 | 1464 | Make clvmd cope with large gaps in node numbers IDs. |
bfd4b014 | 1465 | Make clvmd initialisation cope better with debugging output. |
63bea03e | 1466 | Tidy clvmd socket callbacks so all work happens outside main loop. |
3d4159b6 | 1467 | clvmd -V now displays lvm version too. |
b1098701 | 1468 | Add optional gulm build for clvmd |
b44dc25e | 1469 | |
c3c9d9b0 | 1470 | Version 2.00.25 - 29th September 2004 |
f2b2f485 | 1471 | ===================================== |
be495a46 AK |
1472 | Fix return code from rm_link for vgmknodes. |
1473 | Make clvmd LV hash table thread-safe. | |
c3c9d9b0 AK |
1474 | Fix clvmd locking so it will lock out multiple users on the same node. |
1475 | Fix clvmd VG locking to it can cope with multiple VG locks. | |
1476 | Remove spurious trailing dot in lvreduce man page. | |
1477 | Fix vgremove locking. | |
f2b2f485 | 1478 | |
f663e437 | 1479 | Version 2.00.24 - 16th September 2004 |
5b3d93c8 | 1480 | ===================================== |
2b176f90 | 1481 | Fix pool_empty so it really does empty the memory pool. |
c4ddb31a | 1482 | Rename old segtypes files to segtype. |
e26c4fd2 AK |
1483 | Some fixes to memory debugging code. |
1484 | Exclude internal commands formats & segtypes from install. | |
5b3d93c8 | 1485 | |
47ded66e AK |
1486 | Version 2.00.23 - 15th September 2004 |
1487 | ===================================== | |
7f64c8e5 | 1488 | Export dm name build & split functions. |
60bd7179 | 1489 | Use O_NOATIME on devices if available. |
19d1e710 | 1490 | Write log message when each segtype/format gets initialised. |
156dd4f1 | 1491 | New commands 'segtypes' and 'formats'. |
17d1ae7e | 1492 | Suppress pvmove abort message in test mode. |
b9ade4bc | 1493 | Improve pvcreate/remove device not found error message. |
00b47204 | 1494 | Allow pvmove to move data within the same PV. |
05503c5e | 1495 | Describe how pvmove works on man page. |
68eb9e3b | 1496 | Test for incompatible format/segtype combinations in lv_extend. |
075ab744 PC |
1497 | Fix lvchange example on man page. |
1498 | ||
6e047bb5 AK |
1499 | Version 2.00.22 - 3rd September 2004 |
1500 | ==================================== | |
b588726e | 1501 | Fix /dev/vgname perms. |
f15c75cb AK |
1502 | Restructure xlate.h. |
1503 | Add clvmd man page. | |
9c2f42bd | 1504 | |
311cea83 AK |
1505 | Version 2.00.21 - 19th August 2004 |
1506 | ================================== | |
1507 | Update cnxman-socket.h from cman. | |
acac21c4 | 1508 | Recognise iseries/vd devices. |
cab8ea7c | 1509 | Use 'make install_cluster' to install cluster extensions only. |
cf076dd3 | 1510 | Cope with DT_UNKNOWN in sysfs. |
392b28ec AK |
1511 | Fix extents_moved metadata size comment. |
1512 | Remove duplicate line in pvremove help text. | |
1513 | Support variable mirror region size. | |
1514 | Support PE ranges in pvmove source PV. | |
1515 | Fixes to as-yet-unused LV segment splitting code. | |
eabaa339 | 1516 | Change alloc_areas to pe_ranges and allow suppression of availability checks. |
a303dcde | 1517 | Add dev_size column to pvs. |
5fd24a89 | 1518 | Add report columns for in-kernel device number. |
3b55d300 | 1519 | |
ad6254c5 AK |
1520 | Version 2.00.20 - 3 July 2004 |
1521 | ============================= | |
1522 | More autoconf fixes. | |
8bad0339 | 1523 | Fix device number handling for 2.6 kernels. |
8630c7fb | 1524 | |
8ce0cbda | 1525 | Version 2.00.19 - 29 June 2004 |
2e15e5e4 | 1526 | ============================== |
8ce0cbda AK |
1527 | Reduce severity of setlocale failure message. |
1528 | Recognise argv[0] "initrd-lvm" (pld-linux). | |
1529 | Make -O2 configurable. | |
80992638 AK |
1530 | Added --disable-selinux to configure script. |
1531 | LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. | |
1532 | Add init_debug to clvmd. | |
2e15e5e4 | 1533 | |
d3c8211f AK |
1534 | Version 2.00.18 - 24 June 2004 |
1535 | ============================== | |
88be836f | 1536 | Fix vgchange activation. |
d3c8211f AK |
1537 | Add cluster support. |
1538 | ||
809fae91 AK |
1539 | Version 2.00.17 - 20 June 2004 |
1540 | ============================== | |
1541 | configure --enable-fsadm to try out fsadm. fsadm is not tested yet. | |
c29d2465 | 1542 | Display all filtered devices, not just PVs, with pvs -a. |
01c263e9 | 1543 | Fix sync_dir() when no / in filename |
8d267798 | 1544 | vgcfgbackup -f accepts template with %s for VG name. |
374df1cf | 1545 | Extend hash functions to handle non-null-terminated data. |
b86ef8e2 | 1546 | Add local activation support. |
b7d0982a | 1547 | Tidy relative paths in makefile includes. |
1a9ea74d | 1548 | fsadm support for fsck and resizing - needs testing. |
d8ac0fbc | 1549 | Add read-only GFS pool support. |
8c670f83 | 1550 | Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ |
30bab85b | 1551 | Fix rounding of large diplayed sizes. |
7d36b514 | 1552 | Suppress decimal point when using units of sectors/bytes. |
abaf083d | 1553 | Additional kernel target checks before pvmove & snapshot creation. |
2ea0f30f | 1554 | Add i2o_block. |
abaf083d | 1555 | |
ea556d1f | 1556 | Version 2.00.16 - 24 May 2004 |
25579907 | 1557 | ============================= |
bfa258b3 | 1558 | Set area_count within alloc_lv_segment. |
7f0dc9c4 | 1559 | Remove error labels from lvresize. |
199fa12a | 1560 | Fix a pvs error path. |
36cfd887 | 1561 | xxchange -ae for exclusive activation. |
29e94d95 | 1562 | Don't return non-zero status if there aren't any volume groups. |
a0a23eff AK |
1563 | Add --alloc argument to tools. |
1564 | Rename allocation policies to contiguous, normal, anywhere, inherit. | |
1565 | nextfree becomes normal; anywhere isn't implemented yet. | |
1566 | LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal | |
1567 | Additional status character added to vgs to indicate allocation policy. | |
b61702ce | 1568 | Add reset_fn to external_locking. |
e0a86d8c AK |
1569 | Ensure presence of virtual targets before attempting activating. |
1570 | Attempt to fix resizing of snapshot origins. | |
241913fe | 1571 | Restructure lvresize, bringing it closer to lvcreate. |
6925cbe6 | 1572 | A quick sanity check on vg_disk struct when read in. More checks needed. |
ff4b8b64 | 1573 | Only include visible LVs in active/open counts. |
1832f310 AK |
1574 | Add virtual segment types, zero and error. A large sparse device can be |
1575 | constructed as a writeable snapshot of a large zero segment. | |
1576 | Add --type to lvcreate/resize. | |
1d2ebf62 AK |
1577 | Push lv_create & alloc policy up to tool level. |
1578 | Fix pvdisplay return code. | |
e3adcd79 | 1579 | Detect invalid LV names in arg lists. |
0e3d9452 AK |
1580 | Reporting uses line-at-a-time output. |
1581 | lvm2 format sets unlimited_vols format flag. | |
ea601b75 AK |
1582 | Internal-only metadata flag support. |
1583 | Basic checking for presence of device-mapper targets. | |
cb919290 | 1584 | Separate out polldaemon. |
23289e6d AK |
1585 | Revise internal locking semantics. |
1586 | Move find_pv_by_name to library. | |
0b2b87b7 AK |
1587 | Rename move->copy. |
1588 | Add devices to segments report. | |
4922197a AK |
1589 | Begin separating out segment code. There's a lot of change here. |
1590 | Compress any (obsolete) long LVM1 pvids encountered. | |
25579907 AK |
1591 | Support for tagged config files. |
1592 | Don't abort operations if selinux present but disabled. | |
1593 | Fix typo in configure which left HAVE_LIBDL unset. | |
1594 | ||
a38df97f AK |
1595 | Version 2.00.15 - 19 Apr 2004 |
1596 | ============================= | |
1597 | configure --with-owner= --with-group= to avoid -o and -g args to 'install' | |
1598 | ||
96185e9c AK |
1599 | Version 2.00.14 - 16 Apr 2004 |
1600 | ============================= | |
1601 | Use 64-bit file functions by default. | |
1602 | ||
01c6121b | 1603 | Version 2.00.13 - 16 Apr 2004 |
121c5c06 | 1604 | ============================= |
01c6121b AK |
1605 | Set devices/md_component_detection = 1 to ignore devices containing md |
1606 | superblocks. [Luca Berra] | |
121c5c06 AK |
1607 | Ignore error setting selinux file context if fs doesn't support it. |
1608 | ||
a218a29c AK |
1609 | Version 2.00.12 - 14 Apr 2004 |
1610 | ============================= | |
4563e036 AK |
1611 | Install a default lvm.conf into /etc/lvm if there isn't one already. |
1612 | Allow different installation dir for lvm.static (configure --staticdir=) | |
1613 | Fix inverted selinux error check. | |
1614 | Recognise power2 in /proc/devices. | |
1615 | Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.] | |
1616 | ||
e5b28125 AK |
1617 | Version 2.00.11 - 8 Apr 2004 |
1618 | ============================ | |
1619 | Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback) | |
1620 | to run lvm1 binaries if running a 2.4 kernel without device-mapper. | |
1621 | ||
0d0b3357 | 1622 | Version 2.00.10 - 7 Apr 2004 |
35030bb0 AK |
1623 | ============================ |
1624 | More fixes for static build. | |
0d0b3357 AK |
1625 | Add basic selinux support. |
1626 | Fix sysfs detection. | |
35030bb0 | 1627 | |
6b493d07 AK |
1628 | Version 2.00.09 - 31 Mar 2004 |
1629 | ============================= | |
cd242223 AK |
1630 | Update copyright notices for Red Hat. |
1631 | Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd). | |
1632 | Add LVM1-style colon output to vgdisplay. | |
1633 | lvchange --refresh to reload active LVs. | |
1634 | Add string display to memory leak dump. | |
1635 | Add locking flags & memlock option. | |
1636 | Add list_versions to library. | |
1637 | Ignore open hidden LVs when checking if deactivation is OK. | |
1638 | Suppress move percentage when device inactive. | |
1639 | Add lv_info_by_lvid. | |
1640 | Various tidy-ups to the build process. | |
1641 | Rebaseline internal verbose level. | |
1642 | Add --nolocking option for read operations if locking is failing. | |
1643 | Add option to compile into a library. | |
1644 | When compiled without libdevmapper, only print warning message once. | |
1645 | Fix lvreduce PV extent calculations. | |
1646 | Fix DESTDIR to work with configure path overrides. | |
1647 | Always use / as config file separator & rename internal config file variables. | |
1648 | Add support for tagging PV/VG/LVs and hosts. | |
1649 | Fix rare bug in recognition of long cmdline argument forms. | |
1650 | Add basic internationalisation infrastructure. | |
1651 | Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels. | |
1652 | Update autoconf files. | |
1653 | Add sysfs block device filtering for 2.6 kernels. | |
1654 | Update refs for move to sources.redhat.com. | |
1655 | ||
f74d51d9 AK |
1656 | Friday 14th November 2003 |
1657 | ========================= | |
1658 | Some bug fixes & minor enhancements, including: | |
1659 | Backwards compatibility with LVM1 metadata improved. | |
1660 | Missing man pages written. | |
1661 | Tool error codes made more consistent. | |
1662 | vgmknodes written. | |
1663 | O_DIRECT can be turned off if it doesn't work in your kernel. | |
b2bb7264 | 1664 | dumpconfig to display the active configuration file |
f74d51d9 AK |
1665 | |
1666 | You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'. | |
1667 | If your root filesystem is on an LV, you should run one of those two | |
57015b12 | 1668 | commands to fix up the special files in /dev in your real root filesystem |
f74d51d9 AK |
1669 | after finishing with your initrd. Also, remember you can use |
1670 | 'vgchange --ignorelockingfailure' on your initrd if the tool fails because | |
1671 | it can't write a lock file to a read-only filesystem. | |
1672 | ||
541f8753 AK |
1673 | Wednesday 30th April 2003 |
1674 | ========================= | |
1675 | A pvmove implementation is now available for the new metadata format. | |
1676 | ||
1677 | When running a command that allocates space (e.g. lvcreate), you can now | |
57015b12 | 1678 | restrict not only which disk(s) may be used but also the Physical Extents |
541f8753 AK |
1679 | on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 |
1680 | ||
1681 | ||
1682 | Monday 18th November 2002 | |
5a52dca9 AK |
1683 | ======================== |
1684 | ||
1685 | The new format of LVM metadata is ready for you to test! | |
1686 | We expect it to be more efficient and more robust than the original format. | |
1687 | It's more compact and supports transactional changes and replication. | |
1688 | Should things go wrong on a system, it's human-readable (and editable). | |
1689 | ||
57015b12 | 1690 | Please report any problems you find to the mailing list, |
5a52dca9 AK |
1691 | linux-lvm@sistina.com. The software has NOT yet been thoroughly |
1692 | tested and so quite possibly there'll still be some bugs in it. | |
1693 | Be aware of the disclaimer in the COPYING file. | |
1694 | ||
57015b12 | 1695 | While testing, we recommend turning logging on in the configuration file |
5a52dca9 AK |
1696 | to provide us with diagnostic information: |
1697 | log { | |
1698 | file="/tmp/lvm2.log" | |
541f8753 | 1699 | level=7 |
5518374b | 1700 | activation=1 |
5a52dca9 AK |
1701 | } |
1702 | ||
1703 | You should schedule regular backups of your configuration file and | |
1704 | metadata backups and archives (normally kept under /etc/lvm). | |
1705 | ||
57015b12 | 1706 | Please read docs/example.conf and "man lvm.conf" to find out more about |
5a52dca9 AK |
1707 | the configuration file. |
1708 | ||
1709 | To convert an existing volume group called vg1 to the new format using | |
1710 | the default settings, use "vgconvert -M2 vg1". See "man vgconvert". | |
1711 | ||
1712 | -M (or --metadatatype in its long form) is a new flag to indicate which | |
1713 | format of metadata the command should use for anything it creates. | |
1714 | Currently, the valid types are "lvm1" and "lvm2" and they can be | |
1715 | abbreviated to "1" and "2" respectively. The default value for this | |
1716 | flag can be changed in the global section in the config file. | |
1717 | ||
1718 | Backwards-compatible support for the original LVM1 metadata format is | |
1719 | maintained, but it can be moved into a shared library or removed | |
1720 | completely with configure's --with-lvm1 option. | |
1721 | ||
1722 | Under LVM2, the basic unit of metadata is the volume group. Different | |
1723 | volume groups can use different formats of metadata - vg1 could use | |
1724 | the original LVM1 format while vg2 used the new format - but you can't | |
1725 | mix formats within a volume group. So to add a PV to an LVM2-format | |
1726 | volume group you must run "pvcreate -M2" on it, followed by "vgextend". | |
1727 | ||
1728 | With LVM2-format metadata, lvextend will let you specify striping | |
1729 | parameters. So an LV could consist of two or more "segments" - the | |
1730 | first segment could have 3 stripes while the second segment has just 2. | |
1731 | ||
1732 | LVM2 maintains a backup of the current metadata for each volume group | |
1733 | in /etc/lvm/backup, and puts copies of previous versions in | |
1734 | /etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to | |
57015b12 | 1735 | create and restore from these files. If you fully understand what |
5a52dca9 AK |
1736 | you're doing, metadata can be changed by editing a copy of a current |
1737 | backup file and using vgcfgrestore to reload it. | |
1738 | ||
1739 | Please read the pvcreate man page for more information on the new | |
1740 | format for metadata. | |
1741 | ||
1742 | All tools that can change things have a --test flag which can be used | |
1743 | to check the effect of a set of cmdline args without really making the | |
1744 | changes. | |
1745 | ||
1746 | ||
1747 | What's not finished? | |
1748 | ==================== | |
1749 | The internal cache. If you turn on debugging output you'll see lots of | |
914c9723 | 1750 | repeated messages, many of which will eventually get optimised out. |
5a52dca9 | 1751 | |
57015b12 JM |
1752 | --test sometimes causes a command to fail (e.g. vgconvert --test) even |
1753 | though the real command would work: again, fixing this is waiting for | |
5a52dca9 AK |
1754 | the work on the cache. |
1755 | ||
1756 | Several of the tools do not yet contain the logic to handle full | |
1757 | recovery: combinations of pvcreate and vgcfgrestore may sometimes be | |
1758 | needed to restore metadata if a tool gets interrupted or crashes or | |
1759 | finds something unexpected. This applies particularly to tools that | |
1760 | work on more than one volume group at once (e.g. vgsplit). | |
1761 | ||
1762 | Display output. Some metadata information cannot yet be displayed. | |
5a52dca9 AK |
1763 | |
1764 | Recovery tools to salvage "lost" metadata directly from the disks: | |
1765 | but we hope the new format will mean such tools are hardly ever needed! |