]>
Commit | Line | Data |
---|---|---|
d41ad502 AK |
1 | Version 2.02.97 - |
2 | =============================== | |
186a2772 | 3 | Allow vgextend to add PVs to a VG that is missing PVs. |
7803756e | 4 | Recognise Micron PCIe SSDs in filter and move array out to device-types.h. |
1b607890 | 5 | Fix segfault when attempting to replace RAID 4/5/6 device (2.02.97). |
5e36b86c | 6 | Fix dumpconfig <node> to print only <node> without its siblings (2.02.89). |
8d5ae472 | 7 | Do not issue "Failed to handle a client connection" error if lvmetad killed. |
48367c5b | 8 | Support changing of discard and zeroing for thin pool. |
46b9cc12 | 9 | Report used discard for thin pool and volume. |
ebbf7d8e | 10 | Add support for controlling discard behavior of thin pool. |
260e8f24 | 11 | Detect features for new 1.1 thin pool target. |
07e4ac7b | 12 | Count percentage of completeness upwards when merging a snapshot volume. |
cd8ea8b4 | 13 | Skip activation when using vg/lvchange --sysinit -a ay and lvmetad is active. |
8767435e | 14 | Fix extending RAID 4/5/6 logical volumes |
1d0a2b91 | 15 | Fix test for PV with unknown VG in process_each_pv to ignore ignored mdas. |
a54285a7 | 16 | Update man pages with --activate ay option and auto_activation_volume_list. |
2cec4b4a | 17 | Fix _alloc_parallel_area to avoid picking already-full areas for raid devices. |
2d5adc58 | 18 | Use vgchange -aay instead of vgchange -ay in clmvd init script. |
f6a3ef44 | 19 | Add activation/auto_activation_volume_list to lvm.conf. |
2f201d0e | 20 | Add --activate ay to lvcreate, lvchange, pvscan and vgchange. |
95ced7a7 | 21 | Add support for volume autoactivation using lvmetad. |
2729720f | 22 | Add --activate synonym for --available arg and prefer --activate. |
07a25c24 | 23 | Never issue discards when LV extents are being reconfigured, not deleted. |
a5ddb347 | 24 | Allow release_lv_segment_area to fail as functions it calls can fail. |
c8591b2a | 25 | Open device read-only to obtain readahead value. |
6bd3864b | 26 | Fix lvconvert error path NULL pointer dereference. |
e9f9c6be | 27 | Check for create_instance() fail in pvscan_lvmetad_single(). |
192fa11d | 28 | Use 64bit math for reserved memory and stack. |
461eb1ac | 29 | Add tests for kernel_send() errors in cmirrod. |
865b9d37 | 30 | Print clean_bits in pull_state, fix cut&paste typo in cmirrord. |
fb4584b8 | 31 | Add tests for errors from closedir(), close() in cmirrord. |
2f99e5e3 | 32 | Fix missing sync of filesystem when creating thin volume snapshot. |
d41ad502 | 33 | |
8dade001 AK |
34 | Version 2.02.96 - 8th June 2012 |
35 | =============================== | |
64a3ac8f | 36 | Upstream source repo now fedorahosted.org git not sources.redhat.com CVS. |
8cdb78d0 | 37 | Fix error paths for regex filter initialization. |
56d49cbf | 38 | Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90) |
8b59522d AK |
39 | Fix alloc cling to cling to PVs already found with contiguous policy. |
40 | Fix cling policy not to behave like normal policy if no previous LV seg. | |
41 | Fix allocation loop not to use later policies when --alloc cling without tags. | |
01cfbe14 | 42 | Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags. |
767ce95a | 43 | Add missing pkg init --with-systemdsystemunitdir in configure.in (2.02.92). |
9c17acdf | 44 | Fix division by zero if PV with zero PE count is used during vgcfgrestore. |
0a9f894f | 45 | Add initial support for thin pool lvconvert. |
8dade001 AK |
46 | Fix lvrename for thin volumes (regression in for_each_sub_lv). (2.02.89) |
47 | Fix up-convert when mirror activation is controlled by volume_list and tags. | |
e0ed1b45 | 48 | Warn of deadlock risk when using snapshots of mirror segment type. |
e5b9338a | 49 | Fix bug in cmirror that caused incorrect status info to print on some nodes. |
34fbbfe3 | 50 | Remove statement that snapshots cannot be tagged from lvm man page. |
ac6e1e3e | 51 | Disallow changing cluster attribute of VG while RAID LVs are active. |
c7003744 | 52 | Fix lvconvert error message for non-mergeable volumes. |
dfd024d3 | 53 | Allow subset of failed devices to be replaced in RAID LVs. |
2bfb3e51 | 54 | Prevent resume from creating error devices that already exist from suspend. |
8262a3f6 | 55 | Improve clmvd singlenode locking for better testing. |
a8f352fd | 56 | Update and correct lvs man page with supported column names. |
067184f3 AK |
57 | Handle replacement of an active device that goes missing with an error device. |
58 | Change change raid1 segtype always to request a flush when suspending. | |
973cfb19 | 59 | Add udev info and context to lvmdump. |
8dade001 | 60 | Add lvmetad man page. |
a7feae8a | 61 | Fix RAID device replacement code so that it works under snapshot. |
187486c7 | 62 | Fix inability to split RAID1 image while specifying a particular PV. |
8dade001 AK |
63 | Update man pages to give them all the same look&feel. |
64 | Fix lvresize of thin pool for striped devices. | |
6fc1f948 | 65 | For lvresize round upward when specifying number of extents. |
8dade001 | 66 | For lvcreate with %FREE support rounding downward stripe alignment. |
30bd294f | 67 | Change message severity to log_very_verbose for missing dev info in udev db. |
8dade001 AK |
68 | Fix lvconvert when specifying removal of a RAID device other than last one. |
69 | Fix ability to handle failures in mirrored log in dmeventd plugin. (2.02.89) | |
6e826bb6 | 70 | Fix unlocking volume group in vgreduce in error path. |
8dade001 | 71 | Cope when VG name is part of the supplied name in lvconvert --splitmirrors -n. |
46e9aac1 | 72 | Fix exclusive lvchange running from other node. (2.02.89) |
3be9089c | 73 | Add 'vgscan --cache' functionality for consistency with 'pvscan --cache'. |
ddb31b62 | 74 | Keep exclusive activation in pvmove if LV is already active. |
d459f6b3 | 75 | Disallow exclusive pvmove if some affected LVs are not exclusively activated. |
62a40438 | 76 | Remove unused and wrongly set cluster VG flag from clvmd lock query command. |
7076d143 | 77 | Fix pvmove for exclusively activated LV pvmove in clustered VG. (2.02.86) |
0fc9a3dc | 78 | Always free hash table on update_pvid_to_vgid() in lvmetad. |
2caa558e | 79 | Update and fix monitoring of thin pool devices. |
8dade001 AK |
80 | Check hash insert success in lock_vg in clvmd. |
81 | Check for buffer overwrite in get_cluster_type() in clvmd. | |
fbd89d3a | 82 | Fix global/detect_internal_vg_cache_corruption config check. |
1d6a2c73 | 83 | Update lcov Makefile target to support all dmeventd plugins. |
8dade001 AK |
84 | Fix initializiation of thin monitoring. (2.02.92) |
85 | Cope with improperly formatted device numbers in /proc/devices. (2.02.91) | |
86 | Exit if LISTEN_PID environment variable incorrect in lvmetad systemd handover. | |
87 | Use pvscan --cache instead of vgscan in lvmetad scripts. | |
a9382908 ZK |
88 | Fix fsadm propagation of -e option. |
89 | Fix fsadm parsing of /proc/mounts files (don't check for substrings). | |
90 | Fix fsadm usage of arguments with space. | |
8dade001 | 91 | Fix arg_int_value alongside ARG_GROUPABLE --major/--minor for lvcreate/change. |
dc7b1640 | 92 | Fix name conflicts that prevent down-converting RAID1 when specifying a device |
e8669311 | 93 | Improve thin_check option passing and use configured path. |
f61cacad | 94 | Add --with-thin-check configure option for path to thin_check. |
bba1e4d1 | 95 | Fix error message when pvmove LV activation fails with name already in use. |
0d3ce181 | 96 | Better structure layout for device_info in dev_subsystem_name(). |
aa9ebf44 | 97 | Change message severity for creation of VG over uninitialised devices. |
8dade001 AK |
98 | Fix error path for failed toolcontext creation. |
99 | Detect lvm binary path in lvmetad udev rules. | |
100 | Don't unlink socket on lvmetad shutdown if instantiated from systemd. | |
101 | Restart lvmetad automatically from systemd if it exits from uncaught signal. | |
102 | Fix warn msg for thin pool chunk size and update man for chunksize. (2.02.89) | |
a17ac481 | 103 | |
ce05af1d | 104 | Version 2.02.95 - 6th March 2012 |
37160ef2 | 105 | ================================ |
ce05af1d | 106 | If unspecified, adjust thin pool metadata and chunk size to fit into 128MB. |
975b5b42 | 107 | Print just warning on thin pool check callback path for failing check. |
ce05af1d | 108 | Always use 64bit arithmetic with VG extent_size expression. |
d18c70b4 | 109 | Validate udev structures in _insert_udev_dir(). |
b343d75a | 110 | Take repeatable --major --minor with pvscan --cache instead of major:minor. |
35216ca6 AK |
111 | Scan all devices for lvmetad if 'pvscan --cache' used without device list. |
112 | Populate lvmcache from lvmetad before displaying PVs in pvscan. (2.02.94) | |
113 | Suppress incorrect -n pvscan warning now always displayed. (2.02.94) | |
37160ef2 | 114 | |
02b351ad AK |
115 | Version 2.02.94 - 3rd March 2012 |
116 | ================================ | |
6c7a6c07 | 117 | Add support to execute thin_check with each de/active of thin pool. |
1babf249 | 118 | Fix automatic estimation of metadata device size for thin pool. |
52f76a76 | 119 | Test for alloc fail from _alloc_pv_segment() in _extend_pv(). |
1281a5e3 | 120 | Check for alloc fail from get_segtype_from_string() in _lvcreate_params(). |
c219934a | 121 | Add _rimage as reserved suffix to lvm.8 man page. |
3bd90488 | 122 | Improve error logging from mpath filter. |
f9467799 | 123 | Check for allocation failure in hold_lock() in clvmd. |
24ab6328 | 124 | Use set_lv() (wipe initial 4KiB) for non zeroed thin volume. |
62e38da1 | 125 | Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt). |
54b2aadf | 126 | Revert free of allocated segtype in init segment error path (2.02.89). |
0650d875 | 127 | Test dm_hash_insert() failures in filter-persistent.c and fid_add_mda(). |
02b351ad | 128 | Ensure clvmd message is always NUL-terminated after read. |
c19d8633 | 129 | Add some close() and dev_close() error path backtraces. |
02b351ad | 130 | Set stdin/stdout/stderr to /dev/null for polldaemon. |
696052b7 | 131 | Limit the max size of processed clvmd message to ~8KB. |
02b351ad | 132 | Do not send uninitialised bytes in cluster error reply messages. |
f380cd7d | 133 | Use unsigned type for bitmask instead of enum type for lvm properties. |
75f8f3ce | 134 | Add missing cleanup of excl_uuid hash on some exit paths of clvmd. |
02b351ad | 135 | Check for existence of vg_name in _format1/_pool_vg_read(). |
9737943c | 136 | Fix missing break in _format_pvsegs (2.02.92). |
e1153fd3 | 137 | Test seg pointer for non-null it in raid_target_percent error path. |
3af1ebe3 | 138 | Check for errors in _init_tags() during config loading. |
24d39aa1 ZK |
139 | Always check result of _set_vg_name() in lvcreate. |
140 | Drop unused call to uname() during clvmd initialization. | |
93b087da | 141 | Test allocation result in sysfs filter creation. |
71f3bbd5 | 142 | Limit sscanf parameters with buffer size in clvmd get_initial_state(). |
499a1616 | 143 | Use const lv pointer for lv_is_active...() functions. |
c817e607 | 144 | Use same signed numbers in _mirrored_transient_status(). |
05babeee | 145 | Support 'pvscan --cache' to update lvmetad state from specific PVs. |
02b351ad | 146 | Provide new metadata daemon for testing with configure --enable-lvmetad . |
1a4b6136 AK |
147 | Integrate client-side lvmetad into build. |
148 | ||
f9fc7d8d | 149 | Version 2.02.93 - 23rd February 2012 |
97124891 | 150 | ==================================== |
870762d8 | 151 | Require number of stripes to be greater than parity devices in higher RAID. |
9bdfb307 | 152 | Fix allocation code to allow replacement of single RAID 4/5/6 device. |
d860272b | 153 | Check all tags and LV names are in a valid form in vg_validate. |
4417a8bd PR |
154 | Add tmpfiles.d style configuration for lvm2 lock and run directory. |
155 | Add configure --with-tmpfilesdir for dir holding volatile-file configuration. | |
f9fc7d8d AK |
156 | Allow 'lvconvert --repair' to operate on RAID 4/5/6. |
157 | Fix build_parallel_areas_from_lv to account correctly for raid parity devices. | |
158 | Print message when faulty raid devices have been replaced. | |
97124891 | 159 | |
815aa355 | 160 | Version 2.02.92 - 20th February 2012 |
0a182731 | 161 | ==================================== |
815aa355 AK |
162 | Read dmeventd monitoring config settings for every lvm command. |
163 | For thin devices, initialize monitoring only for thin pools not thin volumes. | |
ad48a46f | 164 | Make conversion from a synced 'mirror' to 'raid1' not cause a full resync. |
172c87f7 | 165 | Properly test buffer for unit check in units_to_bytes(). |
e587cb6a | 166 | Add configure --with-systemdsystemunitdir. |
3e74542b | 167 | Add check for allocation failure in _build_matcher(). |
cbe6bcd5 | 168 | Add check for rimage name allocation failure in _raid_add_images(). |
bed744c1 | 169 | Add check for mda_copy failure in _text_pv_setup(). |
fde44d05 | 170 | Add check for _mirrored_init_target failure. |
52f2f3ea | 171 | Add free_orphan_vg. |
65079de2 | 172 | Skip pv/vg_set_fid processing if the fid is same. |
960ee343 | 173 | Check for foreach loop errors in _vg_read_orphans() (2.02.91). |
f9411bb2 | 174 | Clean error paths for format instance creation (2.02.91). |
874a4fd8 | 175 | Release vg in error path of _format1_vg_read() instead of just free(). |
bbf98c19 | 176 | Report allocation failure for allocation of PV structure. |
94424fab | 177 | Add clvmd init dependency on dlm service when running with new corosync. |
0a182731 | 178 | |
79b3966a AK |
179 | Version 2.02.91 - 12th February 2012 |
180 | ==================================== | |
ba14fff2 AK |
181 | Remove PV-based format instances (which are no longer needed). |
182 | Link all orphan PVs directly to a per-format global orphan VG. | |
0fbbc6ce | 183 | Refactor lvmcache around an internal API. |
5fa417a9 | 184 | Stop processing lvextend if trying to extend a mirror that is being recovered. |
a7e2da05 | 185 | Add pool_below_threshold() function to check thin pool percent status. |
94f88a4f | 186 | Fix test for snap percent for failing merge when removing LV. |
9278655d ZK |
187 | Switch int to void return for str_list_del(). |
188 | Fix error path handling in _build_desc(). | |
7ffca95b | 189 | Add range test for device number in _scan_proc_dev(). |
3a8b6a99 | 190 | Use signed long for sysconf() call in cmirrord. |
84fd8ea4 ZK |
191 | Do not write in front of log buffer in print_log(). |
192 | Add boundary test for number of mirror devs and logs. | |
0154bcf0 | 193 | Check that whole locking_dir fits _lock_dir buffer in init_file_locking(). |
02aeb23f | 194 | Use list functions for label_exit(). |
5dfd7753 | 195 | Ensure strncpy() function always ends with '\0'. |
cd4c26a2 | 196 | Set status in _fsadm_cmd() for error path. |
f9bd7087 | 197 | Add missing deps for lvm2api for rebuild when lvm-internal is changed. |
ee54e437 | 198 | Fix resource leaks for failing allocation of formats (lvm1/2,pool). |
12ac6f9f | 199 | Release allocated resources in error path for composite_filter_create(). |
7b408a08 | 200 | Do not use lstat() results when failed in _rm_link(). |
3959c602 | 201 | Remove a "waiting for another thread" log message from dmeventd plugins. |
2a57a934 | 202 | |
c8250560 | 203 | Version 2.02.90 - 1st February 2012 |
91c631c5 | 204 | =================================== |
c8250560 | 205 | sync_local_dev_names before (re)activating mirror log for initialisation. |
ab852ffe | 206 | Disable partial activation for thin LVs and LVs with all missing segments. |
c8250560 | 207 | Do not print warning for pv_min_size between 512KB and 2MB. |
b627165a | 208 | Clean up systemd unit ordering and requirements. |
8d2d4f20 | 209 | Fix lcov reports when srcdir != builddir. |
72abf1d8 | 210 | Allow ALLOC_NORMAL to track reserved extents for log and data on same PV. |
b6d7a484 | 211 | Automatically detect whether corosync clvmd needs to use confdb or cmap. |
15fd61e4 | 212 | Fix data% report for thin volume used as origin for non-thin snapshot. |
91c631c5 | 213 | |
a1991f10 AK |
214 | Version 2.02.89 - 26th January 2012 |
215 | =================================== | |
b45035ee | 216 | Add missing check for uname result in clvmd TEST processing. |
209da6ef | 217 | Fix memleak in target_version() error path (unsupported LIST_VERSIONS). |
a1991f10 AK |
218 | Limit data_alignment and data_alignment_offset to 32bit values. |
219 | Check for correctness of uint64 dev_size value in format_text. | |
10e80a21 | 220 | Thin pools have segment fields thin_count, zero, transaction_id. |
a1991f10 AK |
221 | Add data_percent and metadata_percent for thin pools to lvs -v. |
222 | Add data_lv & metadata_lv fields to lvs for thin pools. | |
223 | Add data_percent & pool_lv fields to lvs for thin volumes. | |
224 | Rename origin_only parm to use_layer for lv_info and use with thin LVs. | |
bdba904d | 225 | Add lv_thin_pool_transaction_id to read the transaction_id value. |
a1991f10 AK |
226 | Use {suspend,resume}_origin_only when up-converting RAID, as mirrors do. |
227 | Always add RAID metadata LVs to deptree (even when origin_only is set). | |
f5bfc8b1 AK |
228 | Change exclusive LV activation logic to try local node before remote nodes. |
229 | Add CLVMD_FLAG_REMOTE to skip processing on local node. | |
fc0f2d50 | 230 | Prompt if request is made to remove a snapshot whose "Merge failed". |
27e21a4a MS |
231 | Allow removal of an invalid snapshot that was to be merged on next activation. |
232 | Don't allow a user to merge an invalid snapshot. | |
d658922f | 233 | Use m and M lv_attr to indicate that a snapshot merge failed in lvs. |
23e34c72 | 234 | Differentiate between snapshot status of "Invalid" and "Merge failed". |
a1991f10 AK |
235 | Report snapshot usage percent of origin volume when a snapshot is merging. |
236 | Require global/lvdisplay_shows_full_device_path for (bogus) lvm1-style paths. | |
f881095a | 237 | Do not report linear segtype for non-striped targets. |
a1991f10 | 238 | Record creation host & time for each LV and report as lv_time & lv_host. |
a7d2f779 | 239 | Make error message hit when preallocated memlock memory exceeded clearer. |
8f95d94b AK |
240 | Use R lv_attr to indicate read-only activation of non-read-only device in lvs. |
241 | Show read-only activation override in lvdisplay & add 4 to perms in -c. | |
a18dcfb5 | 242 | Add activation/read_only_volume_list to override LV permission in metadata. |
1e482f7c | 243 | Give priority to emcpower devices with duplicate PVIDs. |
7afa7b07 | 244 | Add check for error in _adjust_policy_params() (lvextend --use-policies). |
a1991f10 | 245 | Round specified percentages upwards (%LV, %VG...) when resizing LVs. |
1aae6274 | 246 | Use dmeventd_lvm2_command in dmeventd plugins snapshot, raid, mirror. |
a1991f10 AK |
247 | Add helper dmeventd_lvm2_command() to libdevmapper-event-lvm2 library. |
248 | Update documentation for dmeventd. | |
249 | Remove unnecessary stat before opening device in dev_open_flags. | |
538d5e81 | 250 | Reduce number of lstat calls when selecting device alias. |
a1991f10 AK |
251 | Add _dev_init to initialize common struct device members. |
252 | Always zalloc struct device during initialization. | |
169470b6 | 253 | Fix missing thread list manipulation protection in dmeventd. |
d3b4a0f3 | 254 | Do not derefence lv pointer in _percent_run() function before NULL check. |
61158adb | 255 | Allow empty strings for description and creation_host config fields. |
66e5b7f5 AK |
256 | Issue deprecation warning when removing last lvm1-format snapshot. |
257 | Reinstate support for snapshot removal with lvm1 format. (2.02.86) | |
a1991f10 AK |
258 | Add policy-based automated repair of RAID logical volumes. |
259 | Don't allow two images to be split and tracked from a RAID LV at one time. | |
260 | Don't allow size change of RAID LV that is tracking changes for a split image. | |
261 | Don't allow size change of RAID sub-LVs independently. | |
262 | Don't allow name change of RAID LV that is tracking changes for a split image. | |
263 | Do not allow users to change the name of RAID sub-LVs independently. | |
264 | Do not allow users to change permissions on RAID sub-LVs. | |
265 | Allow lvconvert to replace specified devices in a RAID array. | |
8dd6036d | 266 | Add activation/use_linear_target enabled by default. |
4b42d7ae | 267 | Use gcc warning options only with .c to .o compilation. |
c122e5e7 | 268 | Move y/n prompts to stderr and repeat if response has both 'n' and 'y'. |
c2bd2851 | 269 | Replace the unit testing framework with CUnit (--enable-testing). |
c6856ef4 | 270 | Fix dmeventd snapshot monitoring when multiple extensions were involved. |
bf75c304 | 271 | Don't ignore configure --mandir and --infodir. |
647c8edf | 272 | Drop pool memory allocated within lv_has_target_type(). |
900f5f81 | 273 | Reduce stack allocation of some PATH_MAX sized char buffers. |
8deeeb07 | 274 | Unlock memory before writing metadata. |
37f274ce | 275 | Add query before removing snapshots when inactive snapshot origin is removed. |
e8a40f65 ZK |
276 | Allow changing availability state of snapshots. |
277 | Skip non-virtual snapshots for availability change for lvchange with vg name. | |
a1991f10 | 278 | Skip adjusting mirror region size unless mirror or raid. |
8542953f | 279 | Reorder prompt conditions for removal of active volumes. |
a1991f10 | 280 | Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag.(2.02.86) |
bf09a320 | 281 | Fix --enable-static_link unless using --enable-dmeventd / --enable-udev_sync. |
630b4c21 | 282 | Move gentoo MAKEDEV to /sbin in lvm2create_initrd. |
07113bee | 283 | Add filter to avoid scan of device if it is part of active multipath. |
e903e37d | 284 | Add missing default $LVM_VG_NAME usage for snapshots. |
a1991f10 | 285 | Avoid extent_count overflow with lvextend. |
13dc67cd | 286 | Add missing lvrename mirrored log recursion in for_each_sub_lv. |
2b71bcd0 | 287 | Improve lv_extend stack reporting. |
2fa836e8 | 288 | Increase virtual segment size instead of creating multiple segment list. |
bd4b8408 | 289 | Add last_seg(lv) internal function. |
7ad1c43b | 290 | Support empty string for log/prefix. |
a1991f10 | 291 | Disallow mirrored logs for cluster mirrors. (2.02.72) |
eafbdf30 | 292 | Don't print char type[8] as a plain string in pvck PV type. |
a1991f10 | 293 | Use vg memory pool implicitly for vg read. |
72ff89d2 | 294 | Always use vg memory pool for allocated lv segment. |
9e453cab | 295 | Remove extra 4kB buffer allocated on stack in print_log(). |
06b8248d | 296 | Make move_lv_segment non-static function and use dm_list function. |
dbd60cf5 | 297 | Pass exclusive LV locks to all nodes in the cluster. |
a1991f10 AK |
298 | Improve lvcreate chunksize man page description. |
299 | Improve man page style for lvcreate & lvs. | |
c266d061 | 300 | Avoid recursive calls to dmeventd in its LVM plugins. |
3b032963 | 301 | Log dev name now returned to kernel for registering during cmirror CTR. |
a1991f10 | 302 | Fix lv_info open_count test for disabled verify_udev_operations. (2.02.86) |
7f815706 | 303 | Simplify code for lvm worker thread in clvmd. |
96de8adc | 304 | Use pthread_barrier to synchronize clvmd threads at startup. |
59475375 | 305 | Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack. |
dde1ca1e | 306 | Reduce default preallocated stack size to 64KiB. |
d4f134b8 | 307 | Add check for access through NULL pointer when refresh_filter() fails. |
efe62a34 | 308 | Use pthread condition for SINGLENODE lock implementation. |
de75bc66 | 309 | Improve backtrace reporting for some dev_manager_ functions. |
4007ac81 | 310 | Change message severity to log_warn when symlink creation fails. |
f60175c3 | 311 | Add ability to convert mirror segtype to RAID1 segtype. |
d3582e02 | 312 | Add ability to convert from linear to RAID1. |
a80192b6 | 313 | Add ability to extend mirrors with '--nosync' option. |
a1991f10 AK |
314 | Fix splitmirror LV names to maintain consistent state in a cluster. |
315 | Apply appropriate udev flags when suspending/resuming mirror sub-LVs. | |
316 | Fix vgsplit to handle mirrored logs. | |
dbd60cf5 | 317 | Clarify multi-name device filter pattern matching explanation in lvm.conf. |
10d0d9c7 | 318 | Introduce revert_lv for better pvmove cleanup. |
74e72bd7 | 319 | Replace incomplete pvmove activation failure recovery code with a message. |
1c26860d AK |
320 | Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely. |
321 | Change suspend_lvs to call vg_revert internally. | |
322 | Change vg_revert to void and remove superfluous calls after failed vg_commit. | |
7ae12474 | 323 | Use execvp for CLVMD restart to preserve environment settings. |
90d106ef | 324 | Restart CLVMD with same cluster manager. |
f1ab501a | 325 | Fix log_error() usage in raid and unknown segtype initialisation. |
a4b6b517 | 326 | Improve testing Makefile. |
00e72fcf | 327 | Fix install_ocf make target when srcdir != builddir. (2.02.80) |
d2c11605 | 328 | Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd. |
a039e204 | 329 | Fix restart of clvmd (preserve exlusive locks). (2.02.64) |
efa3621a | 330 | Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE. |
9fa1d30a | 331 | Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. |
125712be | 332 | Replace open_count check with holders/mounted_fs check on lvremove path. |
f989a555 | 333 | Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg. |
f79f7250 | 334 | Cleanup restart clvmd code (no memory allocation, debug print passed args). |
f1f42ab7 | 335 | Add all exclusive locks to clvmd restart option args. |
f5d39ec9 | 336 | Always send the whole clvmd packet header in refresh commands. |
d9bba4f1 | 337 | Add missing error checks for some system calls in cmirrord. |
da1350d4 | 338 | Add missing log_error() to lvresize command when fsadm tool fails. |
8f8c5580 | 339 | Add support for DM_DEV_DIR device path into fsadm script. |
53c09bce | 340 | Support different PATH setting for fsadm script testing. |
d2010960 | 341 | Surround all executed commands with quotes in fsadm script. |
dd96ceda | 342 | Fix missing '$' in test for content of "$LVM" in fsadm script. |
5f3f06db | 343 | Move debug message in exec_cmd after sync_local_dev_names. |
63b8ed7c | 344 | Fix clvmd processing of invalid request on local socket. |
bf93b4dd | 345 | Fix command line option decoding. |
b91e3e90 | 346 | Reset LV status when unlinking LV from VG. |
a1991f10 | 347 | Fix overly-strict extent-count divisibility requirements for striped mirrors. |
fd84d711 | 348 | Fix rounding direction in lvresize when reducing volume size. |
b18e1fd5 | 349 | Fix possible overflow of size if %FREE or %VG is used. |
89880365 | 350 | Fix vgchange activation of snapshot with virtual origin. |
c81a3223 | 351 | Activate virtual snapshot origin exclusively (only on local node in cluster). |
9cb27929 | 352 | Fix lv_mirror_count to handle mirrored stripes properly. |
46f0efbf | 353 | Fix failure to down-convert a mirror to linear due to udev "dev open" conflict |
a1991f10 | 354 | Fix mirrored log creation when PE size is small: use log_size >= region_size. |
cc9dc919 | 355 | Fix log size calculation when only a log is being added to a mirror. |
52e3f9dd | 356 | Add 7th lv_attr char to show the related kernel target. |
1abaaab1 | 357 | Terminate pv_attr field correctly. (2.02.86) |
8010df8b | 358 | Fix 'not not' typo in pvcreate man page. |
a1991f10 | 359 | Improve man page style for fsadm, lvreduce, lvremove, lvrename & lvresize. |
41449383 | 360 | Support break for vgchange and vgrefresh operation. |
f32b76a1 | 361 | Switch int to unsigned type for pvmetadatacopies for pv_create(). |
77f771eb | 362 | Replace :space: with [\t ] for awk in vgimportclone (not widely supported). |
2ef5b7cc | 363 | Begin using 64-bit status field flags. |
e9047f4f | 364 | Detect sscanf recovering_region input error in cmirrord pull_state(). |
b647de3e | 365 | Fix error path bitmap leak in cmirrord import_checkpoint(). |
7b830717 | 366 | Log unlink() error in cmirrord remove_lockfile(). |
58366c05 | 367 | Remove incorrect requirement for -j or -m from lvchange error message. |
da23255c | 368 | Fix unsafe table load when splitting off smaller mirror from a larger one. |
3caa77f8 | 369 | Use size_t return type for text_vg_export_raw() and export_vg_to_buffer(). |
c0de52fd | 370 | Add configure --enable-lvmetad for building the (experimental) LVMetaD. |
68e89ab2 | 371 | Fix resource leak when strdup fails in _get_device_status() (2.02.85). |
d3518805 | 372 | Directly allocate buffer memory in a pvck scan instead of using a mempool. |
2f65269b | 373 | Add configure --with-thin for segtypes "thin" and "thin_pool". |
f9b92564 | 374 | Fix raid shared lib segtype registration (2.02.87). |
2df01a9d | 375 | |
499091c0 | 376 | Version 2.02.88 - 19th August 2011 |
4536abf0 | 377 | ================================== |
f9b92564 | 378 | Remove incorrect 'Breaking' error message from allocation code. (2.02.87) |
3250b385 AK |
379 | Add lvconvert --merge support for raid1 devices split with --trackchanges. |
380 | Support lvconvert of -m1 raid1 devices to a higher number. | |
381 | Add --trackchanges support to lvconvert --splitmirrors option for raid1. | |
382 | Support splitting off a single raid1 rimage in lvconvert --splitmirrors. | |
383 | Use sync_local_dev_names when reducing number of raid rimages in lvconvert. | |
f1c2a5af | 384 | Add -V as short form of --virtualsize in lvcreate. |
c4323a0f | 385 | Fix make clean not to remove Makefile. (2.02.87) |
4536abf0 | 386 | |
34ae78d2 AK |
387 | Version 2.02.87 - 12th August 2011 |
388 | ================================== | |
c4323a0f | 389 | Fix make distclean to remove stray dmeventd and exported symbols files. |
34ae78d2 | 390 | Add global/detect_internal_vg_cache_corruption to lvm.conf. |
031c986e | 391 | Use memory pool locking to check for corruption of internal VG structs. |
bb115a7a | 392 | Cache and share generated VG structs. |
47d7f00e | 393 | Fix possible format instance memory leaks and premature releases in _vg_read. |
d183554c | 394 | Suppress locking error messages in monitoring init scripts. |
34ae78d2 AK |
395 | If pipe in clvmd fails return busy instead of using uninitialised descriptors. |
396 | Add ability to reduce the number of mirrors in raid1 arrays to lvconvert. | |
397 | Add dmeventd plugin for raid. | |
077a6755 | 398 | Replace free_vg with release_vg and move it to vg.c. |
789f9c55 | 399 | Remove INCONSISTENT_VG flag from the code. |
34ae78d2 | 400 | Remove lock from cache in _lock_vol even if unlock fails. |
5ddda8cd | 401 | Initialise clvmd locks before lvm context to avoid open descriptor leaks. |
40dbaac8 | 402 | Remove obsolete gulm clvmd cluster locking support. |
cf992769 | 403 | Suppress low-level locking errors and warnings while using --sysinit. |
425862fb | 404 | Remove unused inconsistent_seqno variable in _vg_read(). |
586f3106 | 405 | Remove meaningless const type qualifiers on cast type. |
fb2f985d | 406 | Add test for fcntl error in singlenode client code. |
765918a5 | 407 | Remove --force option from lvrename manpage. |
4536abf0 | 408 | Add global/mirror_segtype_default to pick md raid or dm mirror as default. |
34ae78d2 AK |
409 | Add configure --with-raid for new segtype 'raid' for MD RAID 1/4/5/6 support. |
410 | Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used if there is no config file. | |
395d204d | 411 | Add systemd unit file to provide lvm2 monitoring. |
34ae78d2 | 412 | Compare file size (as well as timestamp) to detect changed config file. |
11853cd9 | 413 | |
9f65343f AK |
414 | Version 2.02.86 - 8th July 2011 |
415 | =============================== | |
416 | Remove unnecessary warning in pvcreate for MD linear devices. | |
c9ff339c | 417 | Move snapshot removal activation logic into lib/activate. |
f5f3defc | 418 | Cope with a PV only discovered missing when creating deptree. |
86b15c7c | 419 | Abort operation if dm_tree_node_add_target_area fails. |
2243718f | 420 | Add activation/checks to lvm.conf to perform additional ioctl validation. |
9f65343f | 421 | Always preload on suspend, even if no metadata changed (lvchange --refresh). |
0f2a4ca2 | 422 | When suspending, automatically preload newly-visible existing LVs. |
181b1f9f | 423 | Teardown any stray devices with $COMMON_PREFIX during test runs. |
1d7649f3 | 424 | Reinstate correct permissions when creating mirrors. [2.02.85] |
e189a84f | 425 | Append 'm' attribute to pv_attr for missing PVs. |
88fca3ef | 426 | Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd. |
4d40a6f5 | 427 | Remove enforcement of udev verification when using non-standard /dev location. |
b2b316ab | 428 | Keep an exclusive mirror non-clustered if reloaded e.g. during conversion. |
6adbb95b | 429 | Reject allocation if number of extents is not divisible by area count. |
9f65343f | 430 | Fix cluster mirror creation to work with new mirror allocation algorithm. |
1485b6fc | 431 | Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18. |
0437bccc | 432 | Add activation/verify_udev_operations to lvm.conf, disabled by default. |
bebe60b7 | 433 | Call vg_mark_partial_lvs() before VG structure is returned from the cache. |
93a98c26 | 434 | Remove unused internal flag ACTIVATE_EXCL from the code. |
f50a7637 | 435 | Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path. |
81beded3 | 436 | Add lv_activate_opts structure for activation (replacing activation flags). |
9f65343f | 437 | Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating. |
53dd32f4 | 438 | Add proper udev library context initialization and finalization to liblvm. |
7df72b3c | 439 | Fix last snapshot removal to avoid table reload while a device is suspended. |
1840aa09 | 440 | Use dm_get_suspended_counter in replacement critical_section logic. |
29f2c5ad | 441 | Downgrade critical_section errors to debug level until it is moved to libdm. |
df390f17 AK |
442 | Fix ignored background polling default in vgchange -ay. |
443 | Fix pvmove activation sequences to avoid trapped I/O with multiple LVs. | |
444 | Annotate critical section debug messages. | |
f4ba9c5d | 445 | Fix reduction of mirrors with striped segments to always align to stripe size. |
4fb39ae0 | 446 | Validate mirror segments size. |
9f65343f AK |
447 | Include lvmetad development code in tree. |
448 | Fix extent rounding for striped volumes never to reduce more than requested. | |
afc8a3b1 | 449 | Fix create_temp_name to replace any '/' found in the hostname with '?'. |
9f65343f | 450 | Always use append to file in lvmdump. selinux policy may ban file truncation. |
0ebd0960 | 451 | Propagate test mode to clvmd to skip activation and changes to held locks. |
9f65343f | 452 | Defer writing PV labels until vg_write. |
3cac20f8 | 453 | Store label_sector only in struct physical_volume. |
453cdee5 | 454 | Permit --available with lvcreate so non-snapshot LVs need not be activated. |
677ec408 | 455 | Report sector containing label in verbose message. |
1fd2dac6 | 456 | Clarify error message when unable to convert an LV into a snapshot of an LV. |
0b705074 | 457 | Add and use dev_open_readonly and variations. |
5ec549ca | 458 | Do not log a superfluous stack message when the lv is properly processed. |
5fb0c202 | 459 | Do not issue an error message when unable to remove .cache on read-only fs. |
8dad4989 | 460 | Avoid memlock size mismatch by preallocating stdio line buffers. |
9f65343f | 461 | Rewrite vgreduce --removemissing --force to share lvconvert code. |
8dad4989 | 462 | Reorganize lvconvert --repair code to allow reuse. |
a086d55b | 463 | |
c0a1ec23 AK |
464 | Version 2.02.85 - 29th April 2011 |
465 | ================================= | |
edcda01a PR |
466 | Add new obtain_device_list_from_udev setting to lvm.conf. |
467 | Obtain device list from udev by default if LVM2 is compiled with udev support. | |
c0a1ec23 | 468 | Add test for vgimportclone and querying of vgnames with duplicate pvs. |
919ab56b | 469 | Avoid use of released memory when duplicate PV is found. |
fdc86703 | 470 | Add "devices/issue_discards" to lvm.conf. |
c0a1ec23 | 471 | Issue discards on lvremove and lvreduce etc. if enabled and supported. |
919ab56b | 472 | Add seg_pe_ranges and devices fields to liblvm. |
c67d2b4d | 473 | Fix incorrect tests for dm_snprintf() failure. |
a1eba521 | 474 | Fix some unmatching sign comparation gcc warnings in the code. |
c0a1ec23 AK |
475 | Support lv_extend() on empty LVs. |
476 | Avoid regenerating cache content when exported VG buffer is unchanged. | |
477 | Extend the set of memory regions that are not locked to memory. | |
478 | Workaround some problems when compiled for valgrind memcheck. | |
479 | Support controlled quit of the lvm_thread_fn function in clvmd. | |
142d2e87 | 480 | Fix reading of unallocated memory in lvm1 format import function. |
1bedd3a9 | 481 | Replace several strncmp() calls with id_equal(). |
3aef5ae7 | 482 | Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname(). |
aaf92617 | 483 | Fix -Wold-style-definition gcc warnings. |
919ab56b AK |
484 | Rename MIRROR_NOTSYNCED to LV_NOTSYNCED. |
485 | Fix _move_lv_segments to handle empty LVs. | |
1ee8a403 | 486 | Fixes for lvconvert (including --repair) of temporary mirror stacks. |
919ab56b AK |
487 | Avoid potential loop when removing mirror images. |
488 | Fix mirror removal always to take account of preferences as to which. | |
489 | Fix MIRRORED flag usage. | |
c0a1ec23 | 490 | Remove error messages issued by device_is_usable when run as non-root. |
b8ccce35 | 491 | Add missing \0 for grown debug object in _bitset_with_random_bits(). |
844b75f4 | 492 | Fix allocation of system_id buffer in volume_group structure. |
218f6577 | 493 | Fix readlink usage inside get_primary_dev(). |
ff447941 | 494 | Use format instance mempool where possible and adequate. |
2feb2a66 | 495 | Call destroy_instance for any PVs found in VG structure during vg_free call. |
84f48499 | 496 | Add new free_pv_fid fn and use it throughout to free all attached fids. |
1307ddf4 | 497 | Use only vg_set_fid and new pv_set_fid fn to assign the format instance. |
29348110 | 498 | Make create_text_context fn static and move it inside create_instance fn. |
a1bec4e6 | 499 | Add mem and ref_count fields to struct format_instance for own mempool use. |
56f5b12e | 500 | Use new alloc_fid fn for common format instance initialisation. |
027a55d0 | 501 | Optimise _get_token() and _eat_space(). |
442dbf9a | 502 | Add _lv_postorder_vg() to improve efficiency for all LVs in VG. |
919ab56b | 503 | Add gdbinit script for debugging. |
a1bec4e6 | 504 | Use hash tables to speedup string search in vg_validate(). |
c0a1ec23 | 505 | Refactor allocation of VG structure adding alloc_vg(). |
9cfdf803 | 506 | Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name. |
2f25c320 AK |
507 | Use empty string instead of /dev// for LV path when there's no VG. |
508 | Don't allocate unused VG mempool in _pvsegs_sub_single. | |
7f0d89f8 | 509 | Do not send uninitialised bytes in local clvmd messages. |
5a47eb76 | 510 | Support --help option for clvmd and return error for unknown option. |
919ab56b | 511 | Avoid reading freed memory when printing LV segment type. |
faa6ac94 | 512 | Fix syslog initialisation in clvmd to respect lvm.conf setting. |
be3510b2 | 513 | Fix possible overflow in maximum stripe size and physical extent size. |
07e711ec | 514 | Improve pvremove error message when PV belongs to a VG. |
1a52fa68 AK |
515 | Extend normal policy to allow mirror logs on same PVs as images if necessary. |
516 | Improve cling policy to recognise PVs already used during the transaction. | |
92ffcda1 AK |
517 | Improve normal allocation algorithm to include clinging to existing areas. |
518 | Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf. | |
919ab56b | 519 | Adapt metadata balancing code to work with metadata handling changes. |
3b97e8d6 PR |
520 | Add old_id field to physical_volume and fix pvchange -u for recent changes. |
521 | Allow pvresize on a PV with two metadata areas. | |
e924615f | 522 | Change pvcreate to use new metadata handling interface. |
919ab56b | 523 | Restructure existing pv_setup and pv_write and add pv_initialise. |
e924615f PR |
524 | Add internal interface to support adding and removing metadata areas. |
525 | Allow internal indexing of metadata areas (PV id + mda order). | |
526 | Generalise internal format_instance infrastrusture for PV and VG use. | |
a8d13f94 AK |
527 | Handle decimal digits with --units instead of ignoring them silently. |
528 | Fix remaining warnings and compile with -Wpointer-arith. | |
919ab56b | 529 | Fix gcc warnings for unused variables and const casts. |
0a62e014 | 530 | Add stack backtraces for error paths in process_each_lv(). |
919ab56b AK |
531 | Temporarily suppress error from calling yes_no_prompt while locks are held. |
532 | Replace void* with char* arithmetic in _text_write, _text_read & send_message. | |
533 | Fix compilation without DEVMAPPER_SUPPORT. | |
44376ffe | 534 | Remove fs_unlock() from lv_suspend error path. |
919ab56b AK |
535 | Allow memory to stay locked between leaving and re-entering critical sections. |
536 | Rename memlock to critical_section throughout. | |
537 | Make pv_min_size configurable and increase to 2048KB to exclude floppy drives. | |
538 | Add find_config_tree_int64 to read 64-bit ints from config. | |
539 | Ensure resuming exclusive cluster mirror continues to use local mirror target. | |
540 | Clear temporary postorder LV status flags to allow re-use with same LV struct. | |
541 | Remove invalid snapshot umount mesg which floods syslog from dmeventd plugin. | |
542 | Add extended examples to pvmove man page. | |
543 | Support LVM_TEST_DEVDIR env var for private /dev during testing. | |
7ad6a7d9 | 544 | |
db76c0d0 | 545 | Version 2.02.84 - 9th February 2011 |
0ea1e5c1 | 546 | =================================== |
2fdd451b | 547 | Fix CRC32 calculation on big endian CPU (2.02.75). |
0ea1e5c1 | 548 | |
6c7b95f2 | 549 | Version 2.02.83 - 4th February 2011 |
67199cac | 550 | =================================== |
27ff8813 | 551 | Allow exclusive activation of snapshots in a cluster. |
6c7b95f2 AK |
552 | Leave EX lock unchanged when suspending a device in clvmd. |
553 | Use sync_dev_names in unlock_vg macro for cluster-wide dev name sync. | |
554 | Fix fs operation stack handling when multiple operations on same device. | |
135af49d | 555 | Increase hash table size to 1024 lv names and 64 pv uuids. |
3a00204a | 556 | Remove fs_unlock() from lv_resume path. |
16f000bc | 557 | Fix wipe size when setting up mda. |
401a40d9 ZK |
558 | Remove unneeded checks for open_count in lv_info(). |
559 | Synchronize with udev before checking open_count in lv_info(). | |
12e36e7e | 560 | Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested. |
42715fa1 | 561 | Add "dmsetup ls --tree" output to lvmdump. |
116cbc26 | 562 | Fix udev synchronization with no-locking --sysinit (2.02.80). |
6c7b95f2 | 563 | Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan. |
65fc4dae | 564 | Avoid rebuilding of uuid validation table. |
6c7b95f2 | 565 | Improve lvcreate error text from insufficient "extents" to "free space". |
a1d4ec1d | 566 | Always use O_DIRECT when opening block devices to check for partitioning. |
67199cac | 567 | |
c446a0ff | 568 | Version 2.02.82 - 24th January 2011 |
59762452 | 569 | =================================== |
16b1fe4a | 570 | Bring lvscan man page up-to-date. |
cef065f6 | 571 | Fix lvchange --test to exit cleanly. |
b51cd542 AK |
572 | Add change_tag to toollib. |
573 | Allow multiple pvchange command line options to be specified together. | |
c446a0ff AK |
574 | Do not fail pvmove polling if another process cleaned up first. |
575 | Avoid clvmd incrementing dlm lockspace reference count more than once. | |
92e6277c | 576 | Add -f (don't fork) option to clvmd and fix clvmd -d<num> description. |
59762452 | 577 | |
01794a78 | 578 | Version 2.02.81 - 17th January 2011 |
2a66b79d | 579 | =================================== |
01794a78 AK |
580 | Do not scan devices in dev_reset_error_count(). |
581 | Skip unnecessary LOCK_NULL unlock call during volume deactivation. | |
582 | Skip fs_unlock when calling exec_cmd within activation code (for modprobe). | |
583 | Extend exec_cmd params to specify when device sync (fs_unlock) is needed. | |
a8de2765 AK |
584 | Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80) |
585 | Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock. | |
b84bb4d9 | 586 | Accept fusion fio in device type filter. |
8f400f5a | 587 | Add ability to convert mirror log type from disk to mirrored. |
2a66b79d | 588 | |
606d0858 AK |
589 | Version 2.02.80 - 10th January 2011 |
590 | =================================== | |
591 | Use same dm cookie for consecutive dm ops in same VG to reduce udev waits. | |
592 | Speed up command processing by caching resolved config tree. | |
6feecf76 | 593 | Pass config_tree to renamed function import_vg_from_config_tree(). |
12fbaae0 | 594 | Detect NULL handle in get_property(). |
349da06c ZK |
595 | Fix superfluous /usr in ocf_scriptdir instalation path. |
596 | Add --with-ocfdir configurable option. | |
a5920162 | 597 | Add aclocal.m4 (for pkgconfig). |
606d0858 AK |
598 | Fix memory leak in persistent filter creation error path. |
599 | Check for errors setting up dm_task struct in _setup_task(). | |
600 | Fail polldaemon creation when lvmcache_init() fails. | |
601 | Return PERCENT_INVALID for errors in _copy_percent() and _snap_percent(). | |
602 | Remove some unused variables. | |
603 | Improve general lvconvert man page description. | |
604 | Return 0 from cmirrord initscript 'start' if daemon is already running. | |
605 | Fix wrongly paired unlocking of VG_GLOBAL in pvchange. (2.02.66) | |
2ae2ca89 | 606 | Add backtraces for backup and backup_remove fail paths. |
4388a09b | 607 | Detect errors from dm_task_set calls in _get_device_info (dmeventd). |
1102378e | 608 | Add backtraces for archive and backup_locally in check_current_backup(). |
8382fc3e | 609 | Fix memory leak in debug mode of restart_clvmd() error path. |
1febdf9a | 610 | Log error message for pthread_join() failure in clvmd. |
c37f0c7d | 611 | |
ad18cacf AK |
612 | Version 2.02.79 - 20th December 2010 |
613 | ==================================== | |
614 | Remove some unused variables. | |
b7149bbe | 615 | Add missing test for reallocation error in _find_parallel_space(). |
c37f0c7d | 616 | Add checks for allocation errors in config node cloning. |
9376ec18 | 617 | Fix error path if regex engine cannot be created in _build_matcher(). |
ad18cacf | 618 | Use char* arithmetic in target_version(), _process_all() & _targets(). |
66781f5d | 619 | Fixing const cast gcc warnings in the code. |
9366d4e3 | 620 | Check read() and close() results in _get_cmdline(). |
760d1fac | 621 | Add const for struct config_node usage. |
bebfa29b | 622 | Fix NULL pointer check in error path in clvmd do_command(). (2.02.78) |
22bb69eb | 623 | Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51) |
ad18cacf AK |
624 | Add copy_percent and snap_percent to liblvm. |
625 | Enhance vg_validate to ensure integrity of LV and PV structs referenced. | |
626 | Enhance vg_validate to check composition of pvmove LVs. | |
91106a4a | 627 | Create /var/run/lvm directory during clvmd initialisation if missing. |
7dfce0e4 | 628 | Use new dm_prepare_selinux_context instead of dm_set_selinux_context. |
acb03765 AK |
629 | Avoid revalidating the label cache immediately after scanning. |
630 | Support scanning for a single VG in independent mdas. | |
631 | Don't skip full scan when independent mdas are present even if memlock is set. | |
632 | Set cmd->independent_metadata_areas if metadata/dirs or disk_areas in use. | |
e8bed35d | 633 | Cope better with an undefined target_percent operation in _percent_run. |
ad18cacf | 634 | Avoid writing to freed memory in vg_release and rename to free_vg. (2.02.78) |
122ba73e | 635 | |
9d031322 AK |
636 | Version 2.02.78 - 6th December 2010 |
637 | =================================== | |
ea7c621b AK |
638 | Abort if segment tag allocation fails in pool format _add_stripe_seg. |
639 | Abort in _mirrored_transient_status if referenced log/image LV is not active. | |
166597d9 | 640 | Add backtraces for dev_set() and dev_close_immediate() errors in set_lv(). |
ea7c621b AK |
641 | Log any unlink() error in clvmd remove_lockfile(). |
642 | Log any pipe write() or close() errors in clvmd child_init_signal(). | |
643 | Detect if orphan vginfo was lost from cache before _lvmcache_update_vgname(). | |
644 | Do a full rescan if some device is missing in lvm1 format read_pvs_in_vg. | |
645 | Add missing check that dm_pool_create succeeded in write_config_node(). | |
646 | Use dm_snprintf in clvmd-command.c to ensure an overlong buffer is truncated. | |
647 | Don't write to buffer if its reallocation failed in clvmd do_command(). | |
648 | Switch from float to fixed point percentage handling. | |
649 | Avoid misleading missing PV warnings in vgextend --restoremissing. | |
1415afcd AK |
650 | Fix memory leak when VG allocation policy in metadata is invalid. |
651 | Ignore unrecognised allocation policy found in metadata instead of aborting. | |
652 | Factor out tag printing into _out_tags and avoid leaking string buffer. | |
653 | Remove some unused variables & assignments. | |
654 | Add missing vg_release calls in _vg_read_by_vgid. | |
ea7c621b | 655 | Fix debug logging of derived flag LCK_CACHE in clvmd. |
1415afcd AK |
656 | Fix test for no system_dir in _init_backup(). |
657 | Disallow lvconvert ops that both allocate & free supplied PEs in a single cmd. | |
658 | Fix liblvm seg_size to give bytes not sectors. | |
659 | Add functions to look up LV/PV by name/uuid to liblvm. | |
660 | Free cmd_context if fallback to LVM1 fails in lvm2_main(). | |
661 | Free device name buffer in dmsetup parse_loop_device_name() error paths. | |
662 | Close format lib if init_format_fn fails in _init_formats(). | |
663 | Don't leave /proc/mounts open after dmeventd snapshot event processing. | |
664 | Fix out-of-scope arg_vgnames use in process_each_lv(). | |
665 | Remove incorrect dm_task_destroy(NULL) from _node_clear_table() error path. | |
666 | Add missing closedir in _rm_blks after removing stray LVM1 VG files. | |
728074ac | 667 | Suppress 'No PV label' message when removing several PVs without mdas. |
9cd9dab0 | 668 | Fix default /etc/lvm permissions to be 0755. (2.02.66) |
663886b9 | 669 | |
2151f044 AK |
670 | Version 2.02.77 - 22nd November 2010 |
671 | ==================================== | |
672 | Allocate a pool for dummy VG in _pvsegs_sub_single. | |
673 | Add PV and LV segment types and functions to liblvm. | |
674 | Add set_property functions to liblvm. | |
10955b82 | 675 | Remove tag length restriction and allow / = ! : # & characters. |
f8452d8c AK |
676 | Support repetition of --addtag and --deltag arguments. |
677 | Add infrastructure for specific cmdline arguments to be repeated in groups. | |
678 | Split the_args cmdline arguments and values into arg_props and arg_values. | |
2151f044 | 679 | Fix fsadm no longer to require '-f' to resize an unmounted filesystem. |
f8452d8c | 680 | Fix fsadm to detect mounted filesystems on older systems. (2.0.75) |
eb82bd05 AK |
681 | Extend cling allocation policy to recognise PV tags (cling_by_tags). |
682 | Add allocation/cling_tag_list to lvm.conf. | |
5a976864 | 683 | Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76) |
ae1a8330 | 684 | |
962e6781 | 685 | Version 2.02.76 - 8th November 2010 |
779c1100 | 686 | =================================== |
f7e3a19f | 687 | Clarify error messages when activation fails due to activation filter use. |
962e6781 AK |
688 | Add pacemaker script VolumeGroup.ocf with configure --enable-ocf. |
689 | Import make.tmpl into include/ Makefile. | |
2955b913 | 690 | Fix handling of online filesystem resize (using new fsadm return code). |
13047cca | 691 | Add DIAGNOSTICS section to fsadm man page. |
4886fa21 | 692 | Modify fsadm to return different status code for check of mounted filesystem. |
176bbea0 AK |
693 | Update VG metadata only once in vgchange when making multiple changes. |
694 | Allow independent vgchange arguments to be used together. | |
621a3ac9 | 695 | Automatically unmount invalidated snapshots in dmeventd. |
962e6781 | 696 | Suppress some superfluous messages from clang static analysis. |
0396ddf3 | 697 | Fix a deadlock caused by double close in clvmd. |
176bbea0 | 698 | Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area. |
84cc478c | 699 | Use static for internal _align_chunk() and _new_chunk() from pool-fast.c. |
178ff2be | 700 | Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange. |
36a46986 | 701 | Add lvm2app functions to query any pv, vg, or lv property / report field. |
779c1100 | 702 | |
2aa06d73 AK |
703 | Version 2.02.75 - 25th October 2010 |
704 | =================================== | |
705 | Annotate more variables and parameters as const. | |
1e34e243 | 706 | Fix missing variable initialization in cluster_send() function from cmirrord. |
3cb3f15c | 707 | Fix pointer for VG name in _pv_resize_single error code path. |
d80f8cf4 | 708 | Fix warning for changed alignment requirements for dmeventd read/write func. |
b83af516 | 709 | Add global/metadata_read_only to use unrepaired metadata in read-only cmds. |
c748bda1 AK |
710 | Don't take write lock in vgchange --refresh, --poll or --monitor. |
711 | Skip dm devices in scan if they contain only error targets or are empty. | |
f7311db6 | 712 | Fix strict-aliasing compile warning in partition table scanning. |
2aa06d73 AK |
713 | Fix pthread mutex usage deadlock in clvmd. |
714 | Automatically extend snapshots with dmeventd according to policy in lvm.conf. | |
715 | Add activation/snapshot_autoextend_threshold/percent to lvm.conf. | |
716 | Fix liblvm2cmd link order to support --as-needed. | |
717 | Remove dependency on libm by replacing floor() by an integer-based algorithm. | |
2c33c8b8 | 718 | Fix hang when repairing a mirrored-log that had both devs fail. |
9443b5d4 | 719 | Convey need for snapshot-merge target in lvconvert error message and man page. |
2aa06d73 | 720 | Add devices/disable_after_error_count config to limit access to failing devs. |
d9583b87 | 721 | Give correct error message when creating a too-small snapshot. |
2aa06d73 AK |
722 | Implement vgextend --restoremissing to reinstate missing devs that return. |
723 | Make lvconvert respect --yes and --force when converting an inactive log. | |
8b86e09f | 724 | Refactor and add 'get' functions for lv properties/fields. |
6a4b036c | 725 | Update script for fsadm testing. |
bd79af9f | 726 | Better support of noninteractive shell execution of fsadm. |
01143a93 | 727 | Fix usage of --yes flag for ReiserFS resize in fsadm. |
55b94bf3 | 728 | Fix detection of mounted filesystems for fsadm when udev is used. |
2aa06d73 | 729 | Fix assignment of default value to LVM variable in fsadm. |
685940c0 | 730 | Fix support for --yes flag for fsadm. |
2aa06d73 | 731 | Do not execute lvresize from fsadm --dry-run. |
829fe014 | 732 | Fix fsadm return error code from user's break action. |
f42b2d4b | 733 | Allow CC to be overridden at build time (for 'scan-build make'). |
637ac19e | 734 | Rename 'flags' to 'status' in struct metadata_area. |
b0485a99 | 735 | Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74) |
2aa06d73 | 736 | Use dm_zalloc and dm_pool_zalloc throughout. |
d06b8843 DW |
737 | Add pv_get_property and create generic internal _get_property function. |
738 | Add 'get' functions for pv and vg properties/fields. | |
ac0252ca | 739 | Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv. |
d06b8843 DW |
740 | Add tags_format_and_copy() common function and call from _tags_disp. |
741 | Add id_format_and_copy() common function and call from _uuid_disp. | |
d06b8843 | 742 | Refactor report.c '*_disp' functions to call supporting functions. |
2aa06d73 AK |
743 | Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files. |
744 | Fix vg_read memory leak with directory-based metadata. | |
3d7e8602 | 745 | Fix memory leak of config_tree in reinitialization code path. |
2aa06d73 | 746 | Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg. |
c631be76 | 747 | Read whole /proc/self/maps file before working with maps entries. |
f6b1c45b | 748 | Speed up unquoting of quoted double quotes and backslashes. |
44a31a9c AK |
749 | Speed up CRC32 calculations by using a larger lookup table. |
750 | ||
87368c35 | 751 | Version 2.02.74 - 24th September 2010 |
a171bb6e | 752 | ===================================== |
87368c35 AK |
753 | Allow : and @ to be escaped with \ in device names of PVs. |
754 | Replace alloca with dm_malloc in _aligned_io to avoid stack corruption. | |
980d2d86 | 755 | Fix partial mode operations for lvm1 metadata format. |
a171bb6e AK |
756 | Track recursive filter iteration to avoid refreshing while in use. (2.02.56) |
757 | Revert to old glibc vsnprintf behaviour in emit_to_buffer() to catch overflow. | |
758 | Allocate buffer for metadata tags dynamically to remove 4k limit. | |
d20ce59b | 759 | Add random suffix to archive file names to prevent races when being created. |
dc847845 | 760 | Reinitialize archive and backup handling on toolcontext refresh. |
6ec8c522 | 761 | Make poll_mirror_progress report PROGRESS_CHECK_FAILED if LV is not a mirror. |
a71d6051 | 762 | Like mirrors, don't scan origins if ignore_suspended_devices() is set. |
c7af31db | 763 | Fix return type qualifier to avoid compiler warning. (2.02.69) |
34b6075d | 764 | Automatically generate LSB Requires-Start for clvmd init script. |
e9848871 | 765 | Fix return code of pvmove --abort PV. |
cf704d22 | 766 | Fix pvmove --abort to remove even for empty pvmove LV. |
762812e7 | 767 | Add configure --with-default-data-alignment. |
4efb1d9c MS |
768 | Update heuristic used for default and detected data alignment. |
769 | Add "devices/default_data_alignment" to lvm.conf. | |
44a31a9c | 770 | Add implementation for simple numeric 'get' property functions. |
aa06d919 | 771 | Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get' function |
a171bb6e | 772 | Add properties.[ch] to lib/report using columns.h. |
aa06d919 DW |
773 | Add macro definitions to report infrastructure for character array length. |
774 | Remove explicit double quotes from columns.h 'id' entries. | |
775 | Add 'flags' field to columns.h and define FIELD_MODIFIABLE. | |
776 | Add vg_mda_size and vg_mda_free functions. | |
2d5e2b52 | 777 | Simplify MD/swap signature detection in pvcreate and allow aborting. |
a171bb6e | 778 | Allow --yes to be used without --force mode. |
c37a1450 | 779 | Fix file descriptor leak in swap signature detection error path. |
727f7bfa | 780 | Detect and allow abort in pvcreate if LUKS signature is detected. |
a171bb6e | 781 | Always mask lock flags correctly when checking for LCK_WRITE. |
7dbfd06d | 782 | |
523fad91 AK |
783 | Version 2.02.73 - 18th August 2010 |
784 | ================================== | |
53670b18 | 785 | Fix potential for corruption during cluster mirror device failure. |
22149572 AK |
786 | Use 'SINGLENODE' instead of 'dead' in clvmd singlenode messages. |
787 | Ignore snapshots when performing mirror recovery beneath an origin. | |
788 | Pass LCK_ORIGIN_ONLY flag around cluster. | |
789 | Add suspend_lv_origin and resume_lv_origin using LCK_ORIGIN_ONLY. | |
2d6fcbf6 | 790 | Allow internal suspend and resume of origin without its snapshots. |
85ed4030 | 791 | Fix dev_manager_transient to access -real device not snapshot-origin. |
f92b4f94 | 792 | Monitor origin -real device below snapshot instead of overlay device. |
85a80e05 | 793 | Don't really change monitoring status when in test mode. |
d1e8046f AK |
794 | Fix some exit statuses when starting/stopping monitoring fails. |
795 | Enable snapshot monitoring by default when dmeventd is enabled. | |
796 | Move cloned libdevmapper-event client code from segments into lib/activate. | |
d0191bf9 | 797 | Fix 'lvconvert --splitmirrors' in cluster operation. |
523fad91 | 798 | Fix clvmd init script exit code to return 4 when executed as non-root user. |
b123a82d | 799 | Change default alignment of pe_start to 1MB. |
dff22466 MS |
800 | Add --norestorefile option to pvcreate. |
801 | Require --restorefile when using pvcreate --uuid. | |
626242c1 | 802 | Recognise and give preference to md device partitions (blkext major). |
f21beaf2 | 803 | Never scan internal LVM devices. |
523fad91 | 804 | Don't ignore user-specified PVs in split-mirror operations. (2.02.71) |
498747d7 | 805 | Fix data corruption bug in cluster mirrors. |
57d31c99 | 806 | Require logical volume(s) to be explicitly named for lvconvert --merge. |
14a97221 | 807 | Avoid changing aligned pe_start as a side-effect of very verbose logging. |
523fad91 | 808 | Use built-in rule for device aliases: block/ < dm- < disk/ < mapper/ < other. |
3eadbbeb ZK |
809 | Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes(). |
810 | Fix const warning in archive_file structure from archive.c. | |
56081fe9 | 811 | Clean generated files .exported_symbols_generated, example.conf for distclean. |
b3886cb1 | 812 | Handle failure of all mirrored log devices and all but one mirror leg. |
efaaf314 | 813 | Disallow 'mirrored' log type for cluster mirrors. |
7a7392e1 | 814 | Do not use VPATH in include/Makefile. |
0146f0de | 815 | Fix exported_symbols generation to use standard compiler arguments. |
2d696f9e | 816 | Use #include <> not "" in lvm2app.h which gets installed on the system. |
0dfae7e4 | 817 | Make lib and liblvm.device-mapper wait for include file generation. |
b1f08e51 | 818 | Fix configure to supply DEFAULT_RUN_DIR to Makefiles. |
523fad91 | 819 | Fix allocation of wrong number of mirror logs with 'remove' fault policy. |
e9438785 | 820 | |
8bae0a1e AK |
821 | Version 2.02.72 - 28th July 2010 [CVE-2010-2526] |
822 | ================================================= | |
823 | Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. | |
824 | Return controlled error if clvmd is run by non-root user. | |
825 | Add configure --default-run-dir for /var/run/lvm. | |
65ce9feb | 826 | Never use clvmd singlenode unless explicitly requested with -Isinglenode. |
8bae0a1e | 827 | |
cdb675c0 | 828 | Version 2.02.71 - 28th July 2010 |
111c120e | 829 | ================================ |
09ba95b2 | 830 | Document LVM fault handling in doc/lvm_fault_handling.txt. |
82c99fb6 | 831 | Make vgck warn about missing PVs. |
81bf06ea | 832 | Clarify help text for vg_mda_count. |
405c4a45 | 833 | Check if cluster log daemon is running before allowing cmirror create. |
09ba95b2 AK |
834 | Add unit-tests dir. |
835 | Add configure --enable-testing and reports and report-generators dirs. | |
836 | Correct LV list order used by lvconvert when splitting a mirror. | |
60f425d1 | 837 | Check if LV with specified name already exists when splitting a mirror. |
c42b0847 | 838 | Fix suspend/resume logic for LVs resulting from splitting a mirror. |
81bf06ea | 839 | Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. |
8c4e8a18 FDN |
840 | Switch cmirrord and clvmd to use dm_create_lockfile. |
841 | Allow clvmd pidfile to be configurable. | |
da42be4d | 842 | Update comments about memory handling in lvm2app.h. |
fefa4323 | 843 | Add more verbose messages while checking volume_list and hosttags settings. |
fde13547 DW |
844 | Add log_error when strdup fails in {vg|lv}_change_tag(). |
845 | Remove unnecessary includes in liblvm files. | |
08f1ddea | 846 | Use __attribute__ consistently throughout. |
3e404aea | 847 | Fix redundant declarations and always compile with -Wredundant-decls. |
09ba95b2 | 848 | Fix possible hang when all mirror images of a mirrored log fail. |
fde13547 DW |
849 | Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. |
850 | Init mda->list in mda_copy. | |
4ec2ae86 ZK |
851 | Do not log backtrace in valid _lv_resume() code path. |
852 | Cleanup help strings in configure.in. | |
90b96af6 DW |
853 | Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies. |
854 | Adjust vg_mda_copies if metadataignore given with vgextend or pvchange. | |
7f7af468 | 855 | Adjust auto-metadata repair and caching logic to try to cope with empty mdas. |
6aecef2c | 856 | |
9a54c1a7 AK |
857 | Version 2.02.70 - 6th July 2010 |
858 | =============================== | |
d28ed36f | 859 | Remove log directly if all mirror images of a mirrored log fail. |
d911ec67 AK |
860 | Randomly select which mdas to use or ignore. |
861 | Add some missing standard configure.in checks. | |
db3c1ac1 | 862 | Add printf format attributes to yes_no_prompt and fix a caller. |
9b95a5a9 AK |
863 | Always pass unsuspended dm devices through persistent filter to other filters. |
864 | Move test for suspended dm devices ahead of other filters. | |
6aecef2c | 865 | Fix another segfault in clvmd -R if no response from daemon. (2.02.68) |
185ac73d | 866 | Remove superfluous suspended device counter from clvmd. |
89dd7d52 | 867 | Fix lvm shell crash when input is entirely whitespace. |
d67c40f9 | 868 | Update partial mode warning message. |
02317333 | 869 | Preserve memlock balance in clvmd when activation triggers a resume. |
9a54c1a7 | 870 | Restore the removemissing behaviour of lvconvert --repair --use-policies. |
c304818d | 871 | |
4e118517 | 872 | Version 2.02.69 - 30th June 2010 |
1ed3c7cc | 873 | ================================ |
6117bfc0 | 874 | Fix vgremove to allow removal of VG with missing PVs. (2.02.52) |
4e118517 AK |
875 | Add metadata/vgmetadatacopies to lvm.conf. |
876 | Add --metadataignore to pvcreate and vgextend. | |
877 | Add vg_mda_copies, pv_mda_used_count and vg_mda_used_count to reports. | |
6f0a72fb | 878 | Describe --vgmetadatacopies in lvm.conf and other man pages. |
4e118517 | 879 | Add --[vg]metadatacopies to select number of mdas to use in a VG. |
6f0a72fb DW |
880 | Make the metadata ignore bit control read/write metadata areas in a PV. |
881 | Add pvchange --metadataignore to set or clear a metadata ignore bit. | |
882 | Refactor metadata code to prepare for --metadataignore / --vgmetadatacopies. | |
68c31a2a | 883 | Ensure region_size of mirrored log does not exceed its full size. |
4e118517 | 884 | Generate liblvm2app exported symbols from header file. |
d301e591 | 885 | Preload libc locale messages to prevent reading it in memory locked state. |
fb99185a | 886 | Fix handling of simultaneous mirror image and mirrored log image failure. |
1ed3c7cc | 887 | |
d2cd8375 AK |
888 | Version 2.02.68 - 23rd June 2010 |
889 | ================================ | |
be2d9395 | 890 | Fix clvmd initscript status to print only active clustered LVs. |
07ae1d49 | 891 | Add lv_path to reports to offer full /dev pathname. |
f9e177d2 | 892 | Fix typo in warning message about missing device with allocated data areas. |
85691c0a AK |
893 | Add device name and offset to raw_read_mda_header error messages. |
894 | Honour log argument when down-converting stacked mirror. | |
b4ee0035 | 895 | Sleep to workaround clvmd -S race: socket closed early and server drops cmd. |
566515c0 | 896 | Use early udev synchronisation and update of dev nodes for clustered mirrors. |
b4ee0035 AK |
897 | Remove incorrect inclusion of kdev_t.h from cmirrord/functions.h. |
898 | Add man pages for lvmconf and non-existent lvmsadc and lvmsar tools. | |
899 | Exit successfully when using -o help (but not -o +help) with LVM reports. | |
d2031f6a | 900 | Do not use internal DLM lock definitions in generic LVM2 clvmd code. |
b4ee0035 | 901 | Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. |
9e0521eb | 902 | Fix lvm2cmd example in documentation. |
b4ee0035 | 903 | Allow use of lvm2app and lvm2cmd headers in C++ code. |
07ae1d49 AK |
904 | Remove unused #includes from clvmd files and introduce clvmd-common.h. |
905 | Move common inclusions to clvmd-common.h. | |
b4ee0035 | 906 | Use #include "" for libdevmapper.h and configure.h throughout tree. |
d2cd8375 | 907 | Fix LVM_PATH expansion when exec_prefix=NONE. (2.02.67) |
4c10ab56 | 908 | Fix segfault in clvmd -R if no response from daemon received. |
a5e14884 | 909 | |
1a526b3c | 910 | Version 2.02.67 - 4th June 2010 |
ead120eb | 911 | =============================== |
8d6e0c95 | 912 | Handle failed restart of clvmd using -S switch properly. |
850fa823 | 913 | Fix clvmd initscript restart command to start clvmd if not yet running. |
1a526b3c | 914 | Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries). |
31943693 | 915 | Require partial option in lvchange --refresh for partial LVs. |
e9a87f2e | 916 | Do not fail lvm_init() if init_logging() or _init_rand() generates an errno. |
d0188870 | 917 | Don't merge unchanged persistent cache file before dumping if tool scanned. |
03023d39 | 918 | Fix incorrect memory pool deallocation while using vg_read for files. |
1a3b5854 | 919 | Add --type parameter description to the lvcreate man page. |
ba61f848 | 920 | Replace strncmp kernel version number checks with proper ones. |
ed122a96 | 921 | Avoid selecting names under /dev/block if there is an alternative. |
5782a385 | 922 | Update clustered log kernel module name to log-userspace for 2.6.31 onwards. |
1a526b3c AK |
923 | Add replicators' LVs to dtree for activation. |
924 | Supress activation message if there is a missing replicator VG. | |
925 | Fix scripts/relpath.awk to work in mawk | |
926 | Extend lock_vol to check for missing replicator VGs first. | |
927 | Update _process_one_vg and process_each_lv_in_vg to populate cmd_vg. | |
928 | Add cmd_vg structure and associated functions for replicator. | |
929 | Extend _lv_each_dependency() to handle replicator dependencies. | |
930 | Add check_replicator_segment() to catch internal replicator errors. | |
931 | Initial support for replicator metadata. | |
932 | Extend process_each_lv_in_vg() to provide list of failed lvnames. | |
933 | Consistently return ECMD_FAILED if process_each_*lv() is interrupted. | |
ead120eb | 934 | |
0506f410 | 935 | Version 2.02.66 - 20th May 2010 |
35023237 | 936 | =============================== |
ae6164ce | 937 | If unable to obtain snapshot percentage leave value blank on reports. |
3e730d47 | 938 | Add install_system_dirs and install_initscripts makefile targets. |
3399ae32 | 939 | Add configure options for system and locking directories. |
da05c479 | 940 | Generate example.conf so default lvm.conf contents can be configured. |
52edfba9 AK |
941 | Install lvmconf script by default. |
942 | Remove unnecessary versioned dmeventd plugin symlinks. | |
0a6ddb39 DW |
943 | Add tests for lvm_vgname_from_{pvid|device}. |
944 | Add lvm2app interfaces to lookup a vgname from a pvid and pvname. | |
945 | Update pvchange to always obtain a vg handle for each pv to process. | |
0506f410 | 946 | Add find_vgname_from_{pvname|pvid} functions. |
0a6ddb39 | 947 | Add pvid_from_devname and lvmcache_vgname_from_pvid lvmcache functions. |
34220fe2 | 948 | Validate orphan and VG_GLOBAL lock order too. |
fa305e2e | 949 | Accept orphan VG names as parameters to lock_vol() and related functions. |
1d837442 | 950 | Use is_orphan_vg in place of hard-coded prefix tests and add is_global_vg. |
35023237 | 951 | |
a988efda AK |
952 | Version 2.02.65 - 17th May 2010 |
953 | =============================== | |
954 | Fix clvmd init script never to deactivate non-clustered volume groups. | |
955 | Disallow vgchange --clustered if there are active mirrors or snapshots. | |
956 | Introduce lv_is_mirrored. | |
75153387 | 957 | Use /bin/bash for scripts with bashisms. |
a988efda | 958 | Skip internal lvm devices in scan if ignore_suspended_devices is set. |
9ad39e54 | 959 | Do not merge old device cache after we run full scan. (2.02.56) |
fff111fe | 960 | Add pkgconfigdir Makefile variable for make install override. |
a988efda AK |
961 | Configure pkgconfig udev and selinux dependencies. |
962 | Switch Libs.private to Requires.private in devmapper.pc and lvm2app.pc. | |
963 | Use pkgconfig Requires.private for devmapper-event.pc. | |
964 | Add libdevmapper to linked libdevmapper-event.so. | |
965 | Link liblvm2cmd.so with libdevmapper-event and libdevmapper. | |
1641fdf9 | 966 | Fix truncated total size displayed by pvscan. |
a988efda AK |
967 | Add new --sysinit compound option to vgchange and lvchange. |
968 | Drop duplicate errors for read failures and missing devices to verbose level. | |
969 | Use $(libdir)/lvm2 with make install_lvm2_plugin. | |
970 | Use $(libdir)/device-mapper with make install_dm_plugin. | |
3283f817 | 971 | Add dm_list_splice() function to join two lists together. |
bde29bc4 | 972 | |
3ceb7608 | 973 | Version 2.02.64 - 30th April 2010 |
adfdf8bb | 974 | ================================= |
3ceb7608 | 975 | Avoid pointless initialisation when the 'version' command is run directly. |
7147cd9f | 976 | Fix memory leak for invalid regex pattern input. |
8889fda5 | 977 | Display invalid regex pattern for filter configuration in case of error. |
54d7741a | 978 | Remove no-longer-used arg_ptr_value. |
3ceb7608 | 979 | Fix -M and --type to use strings, not pointers that change on config refresh. |
21e2ab0e | 980 | Fix lvconvert error message when existing mirrored LV is not found. |
6ddb5ecd | 981 | Set appropriate udev flags for reserved LVs. |
3ceb7608 | 982 | Disallow the direct removal of a merging snapshot. |
1f661c5d | 983 | Don't preload the origin when removing a snapshot whose merge is pending. |
3c76d9ab | 984 | Disallow the addition of mirror images while a conversion is happening. |
66f79d05 | 985 | Disallow primary mirror image removal when mirror is not in-sync. |
ff403ee2 | 986 | Remove obsolete --name parameter from vgcfgrestore. |
c407d2bd | 987 | Add -S command to clvmd to restart the daemon preserving exclusive locks. |
4fd3355e | 988 | Increment lvm2app version from 1 to 2 (memory allocation changes). |
5e3285ef | 989 | Change lvm2app memory alloc/free for pv/vg/lv properties. |
81182ac0 | 990 | Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency. |
3ceb7608 | 991 | Install symbolic .so links with relative paths between usrlibdir and libdir. |
4fd3355e | 992 | Add awk script relpath.awk to calculate paths for relative symlinks. |
3ceb7608 | 993 | Use @AWK@ in makefiles. |
c474c082 | 994 | Fix double DESTDIR usage for infodir and mandir. |
adfdf8bb | 995 | |
2e79014b AK |
996 | Version 2.02.63 - 14th April 2010 |
997 | ================================= | |
a11ad9cc | 998 | Rename lvm_dump.sh to lvmdump.sh. |
e98c922e | 999 | Allow incomplete mirror restore in lvconvert --repair upon insufficient space. |
1e696b0c | 1000 | Do not reset position in metadata ring buffer on vgrename and vgcfgrestore. |
c6469d46 | 1001 | Allow VGs with active LVs to be renamed. |
bda39820 | 1002 | Use UUIDs instead of names while processing event handlers. |
e6f562ab | 1003 | Only pass visible LVs to tools in cmdline VG name/tag expansions without -a. |
6c4f65fe | 1004 | Use typedefs for toollib process_each functions. |
b409df00 | 1005 | Use C locales and use_mlockall for clvmd. |
fc63498c | 1006 | Refactor code related to vg->pvs list and add pv->vg link. |
fadbec99 | 1007 | Mask LCK_HOLD flag in cluster VG locks for backwards compatibility. |
59131572 | 1008 | Add activation/polling_interval to lvm.conf as --interval default. |
06930992 AK |
1009 | Don't ignore error if resuming any LV fails in resume_lvs. |
1010 | Skip closing persistent filter cache file if open failed. | |
fadbec99 AK |
1011 | Install .a and .so links into $(usrlibdir). |
1012 | Add --enable-write_install options to install user-writable files. | |
23b059e7 | 1013 | Use INSTALL_PROGRAM/DATA/WDATA target. |
c737d348 | 1014 | Switch from using VPATH to vpath in Makefiles. |
68176be1 | 1015 | Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert. |
aab7a397 AK |
1016 | Fix pvmove allocation to take existing parallel stripes into account. |
1017 | Add pvmove_source_seg to struct lv_segment. | |
f55021f4 | 1018 | Fix incorrect removal of symlinks after LV deactivation fails. |
6d25082d | 1019 | Fix is_partitioned_dev not to attempt to reopen device. |
e199542b | 1020 | Fix another thread race in clvmd. |
bf1152ff | 1021 | Refactor management of vg->pvs list. |
fd4728e1 | 1022 | Fix lcov rules and generate better coverage report. |
0640232a | 1023 | Improve vg_validate to detect some loops in lists. |
258db3ad | 1024 | Change most remaining log_error WARNING messages to log_warn. |
d7cbaae1 | 1025 | Always use blocking lock for VGs and orphan locks. |
fadbec99 | 1026 | Allocate all memory for segments from private VG mempool. |
04238875 | 1027 | Return newly allocated PV segment after segment split. |
fadbec99 | 1028 | Optimise searching PV segments for seeking the most recently-added. |
c8b09885 | 1029 | Remove vg_validate call when parsing cached metadata. |
d59a2b61 | 1030 | Use hash table of LVs to speed up parsing of text metadata with many LVs. |
fadbec99 AK |
1031 | Fix two vg_validate messages, adding whitespace and parentheses. |
1032 | When dmeventd is not forking because of -d flag, don't kill parent process. | |
0f587ff6 | 1033 | Fix 'make install' when $(builddir) is different from $(srcdir). |
38737f13 ZK |
1034 | Fix dso resource leak in error path of dmeventd. |
1035 | Use C locales and use_mlockall for dmeventd. | |
1dee5eb6 | 1036 | Fix --alloc contiguous policy only to allocate one set of parallel areas. |
b73c1824 | 1037 | Do not allow {vg|lv}change --ignoremonitoring if on clustered VG. |
b7be589e ZK |
1038 | Improved dependency tracking for dmeventd and liblvm2cmd sources. |
1039 | Improved Makefile rules for distclean and cflow targets. | |
7a369d37 | 1040 | Add ability to create mirrored logs for mirror LVs. |
7b0f529d | 1041 | Fix clvmd cluster propagation of dmeventd monitoring mode. |
2abbc07f | 1042 | Allow ALLOC_ANYWHERE to split contiguous areas. |
8ca4d443 | 1043 | Use INTERNAL_ERROR for internal errors throughout tree. |
a7ca3346 | 1044 | Add some assertions to allocation code. |
8d6722c8 AK |
1045 | Introduce pv_area_used into allocation algorithm and add debug messages. |
1046 | Add activation/monitoring to lvm.conf. | |
1047 | Add --monitor and --ignoremonitoring to lvcreate. | |
36f9d53b | 1048 | Allow dynamic extension of array of areas selected as allocation candidates. |
2e08dbcb | 1049 | Export and use only valid cookie value in test suite. |
7b45e46a | 1050 | Remove const modifier for struct volume_group* from process_each_lv_in_vg(). |
fd817ff3 | 1051 | Don't allow resizing of internal logical volumes. |
94ff21b4 | 1052 | Fix libdevmapper-event pkgconfig version string to match libdevmapper. |
0699572d | 1053 | Avoid scanning all pvs in the system if operating on a device with mdas. |
1091650a | 1054 | Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure. |
d0af5def | 1055 | Get stacktrace if testsuite test drops core and lvm was built with debugging. |
917c57e7 | 1056 | Disable long living process flag in lvm2app. |
acb4b5e4 | 1057 | Fix pvcreate device md filter check. |
0a5182fc AK |
1058 | Suppress repeated errors about the same missing PV uuids. |
1059 | Bypass full device scans when using internally-cached VG metadata. | |
b1f9a2f5 | 1060 | Only do one full device scan during each read of text format metadata. |
38220f9f | 1061 | Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls. |
cccae7e6 AK |
1062 | Look up missing PVs by uuid not dev_name in _pvs_single to avoid invalid stat. |
1063 | Make find_pv_in_vg_by_uuid() return same type as related functions. | |
770dc81b | 1064 | Introduce is_missing_pv(). |
ec7a7135 | 1065 | Fix clvmd Makefile to not overwrite LIBS from template definition. |
75b8a10e | 1066 | |
ba8fd82a AK |
1067 | Version 2.02.62 - 9th March 2010 |
1068 | ================================ | |
1069 | Add use_mlockall and mlock_filter to activation section of lvm.conf. | |
1070 | Add default alternative to mlockall using mlock to reduce pinned memory size. | |
9f0a5c1d | 1071 | Remove -rdynamic from static builds. |
f518aadf AK |
1072 | Update checks for pthread, readline & selinux libs and link only when needed. |
1073 | Introduce makefile vars UDEV_LIBS, DL_LIBS, SELINUX_LIBS, STATIC_LIBS. | |
1074 | Introduce makefile vars LVMINTERNAL_LIBS, READLINE_LIBS, PTHREAD_LIBS. | |
ba8fd82a AK |
1075 | Toggle configure help to print --disable-fsadm. |
1076 | Use $() instead of ${} consistently for all Makefile variables. | |
87d73a9b | 1077 | Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere. |
814aebc4 | 1078 | Use $(top_builddir) for inclusion of make.tmpl in Makefiles. |
c2fa9fa9 | 1079 | Fix autoconf warning about ignored datarootdir. |
e24fb506 | 1080 | Increase AC_PREREQ version to 2.61 (for AC_PROC_SED, AC_PROG_MKDIR_P). |
ba8fd82a | 1081 | Handle misaligned devices that report alignment_offset of -1. |
16d9293b | 1082 | Extend core allocation code in preparation for mirrored log areas. |
630e13ed | 1083 | Rewrite clvmd init script. |
65752052 | 1084 | Remove lvs_in_vg_activated_by_uuid_only call. |
4c4de324 | 1085 | No longer fall back to looking up active devices by name if uuid not found. |
ab9663f3 | 1086 | Don't touch /dev in vgmknodes if activation is disabled. |
1a443ddd DW |
1087 | Update lvm2app.h Doxygen comments and add lvm2app Doxygen config file. |
1088 | Update nightly tests and lvm2app unit tests to cover tags. | |
1089 | Add lvm2app functions lvm_{vg|lv}_{get|add|remove}_tag() functions. | |
1090 | Add dm_pool_strdup to allocate and copy memory in tag library function. | |
1091 | Refactor vgcreate, vgchange, and lvchange for tag library function. | |
a5ec3e38 | 1092 | Refactor snapshot-merge deptree and device removal to support info-by-uuid. |
9e7b0091 | 1093 | |
c97cbf8c AK |
1094 | Version 2.02.61 - 15th February 2010 |
1095 | ==================================== | |
1096 | Fix some consts and floating point gcc warnings. | |
1097 | Fix dm_report_field_uint64 function to accept 64-bit ints. | |
1098 | Change readhead display to use 32-bit -1 const instead of 64-bit. | |
1099 | Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable. | |
1100 | Remove hard-coding that skipped _mimage devices from 11-dm-lvm.rules. | |
1101 | Use udev transactions in test suite. | |
1102 | Set udev state automatically instead of using LVM_UDEV_DISABLE_CHECKING. | |
1103 | Add lvm_pv_get_size, lvm_pv_get_free and lvm_pv_get_dev_size to lvm2app. | |
1104 | Change lvm2app to return all sizes in bytes as documented (not sectors). | |
1105 | Add 'fail_if_percent_unsupported' arg to _percent and _percent_run. | |
1106 | Remove false "failed to find tree node" error when activating merging origin. | |
1107 | Exit with success when lvconvert --repair --use-policies performs no action. | |
1108 | Accept a list of LVs with 'lvconvert --merge @tag' using process_each_lv. | |
1109 | Avoid unnecessary second resync when adding mimage to core-logged mirror. | |
13d8501f | 1110 | Exclude internal VG names and uuids from lists returned through lvm2app. |
c97cbf8c AK |
1111 | Add %ORIGIN support to lv{create,extend,reduce,resize} --extents. |
1112 | Add _mda_copy to clone a struct metadata_area. | |
46cabd8a AK |
1113 | Remove pointless versioned symlinks to dmeventd plugin libraries. |
1114 | Fix dmeventd snapshot plugin build dependency. | |
c97cbf8c AK |
1115 | Make clvmd -V return status zero. |
1116 | Remove unnecessary 'dmsetup resume' following 'dmsetup create' in tests. | |
1117 | Fix cmirrord segfault in clog_cpg list processing when converting mirror log. | |
1118 | Deactivate temporary pvmove mirror cluster-wide when activating it fails. | |
1119 | Always query device by uuid and not name in clvmd. | |
1120 | Add missing metadata vg_reverts in pvmove error paths. | |
1121 | Unlock shared lock in clvmd if activation calls fail. | |
1122 | Return success from dev_manager_info with non-existent uuid if ioctl succeeds. | |
ddd6c357 MS |
1123 | |
1124 | Version 2.02.60 - 23rd January 2010 | |
1125 | =================================== | |
635983c4 AK |
1126 | Extend cmirrord man page. |
1127 | Sleep before first progress check if pvmove/lvconvert interval has prefix '+'. | |
1128 | Default to checking progress before waiting in _wait_for_single_lv. | |
1129 | Fix cmirror initscript (including syntax error). | |
1130 | Eliminate avoidable ioctls for checking open_count in _add_new_lv_to_dtree. | |
1131 | Disable memory debugging if dmeventd is configured. (Not thread-safe.) | |
ff26b68a MB |
1132 | Fix first log message prefix in syslog for dmeventd plugins. |
1133 | Fix exported symbols names for dmeventd lvm2 wrapper plugin. | |
635983c4 | 1134 | Make failed locking initialisation messages more descriptive. |
59dd8658 | 1135 | |
1014cf87 | 1136 | Version 2.02.59 - 21st January 2010 |
80b664f5 | 1137 | =================================== |
d3d98fdc | 1138 | Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. |
a7ca1015 | 1139 | Cleanup memory initialization and freeing in pv_read() and pv_create(). |
488298a5 | 1140 | Clear pointer and counters after their release in _fin_commands(). |
1014cf87 AK |
1141 | Stop dmeventd trying to access already-removed snapshots. |
1142 | Remove (fallback) /dev mknod from cmirrord. | |
13ecd94a | 1143 | Add t-topology-support.sh and t-snapshot-merge.sh tests. |
7a965168 | 1144 | Fix clvmd to never scan suspended devices. |
1014cf87 AK |
1145 | Fix dmeventd build outside source tree. |
1146 | Assorted cmirror code changes to remove various compiler warnings. | |
1147 | Fix detection of completed snapshot merge. | |
1148 | Add Red Hat cmirror initscript (unfinished). | |
1149 | Add cmirrord man page (incomplete). | |
27318b98 | 1150 | Make cluster log communication structures architecture independant. |
1014cf87 AK |
1151 | Fix cluster log in-memory bitmap handling. |
1152 | Improve snapshot merge metadata import validation. | |
e47a591d MS |
1153 | Improve target type compatibility checking in _percent_run(). |
1154 | Add 'target_status_compatible' method to 'struct segtype_handler'. | |
1014cf87 | 1155 | Change underscore to hyphen in table line for clustered log type. |
80b664f5 | 1156 | |
73c47fae | 1157 | Version 2.02.58 - 14th January 2010 |
726355fe | 1158 | =================================== |
73c47fae | 1159 | Cleanup some minor gcc warnings. |
5eb7dfdd | 1160 | Add --merge to lvconvert to merge a snapshot into its origin. |
73c47fae AK |
1161 | Fix clvmd automatic target module loading crash (no reset_locking fn). |
1162 | Fix allocation code not to stop at the first area of a PV that fits. | |
726355fe | 1163 | |
b6baf165 AK |
1164 | Version 2.02.57 - 12th January 2010 |
1165 | =================================== | |
12b64654 AK |
1166 | Ensure exactly one process returns from poll_daemon(), never two. |
1167 | Reset _vgs_locked in lvmcache_init() in child after forking. | |
1168 | Define {DM, LVM}_UDEV_DISABLE_CHECKING=1 environment variables during tests. | |
1169 | Enable udev_sync and udev_rules in lvm.conf by default while running tests. | |
1170 | If LVM_UDEV_DISABLE_CHECKING in set in environment, disable udev warnings. | |
12b64654 | 1171 | Add --splitmirrors to lvconvert to split off part of a mirror. |
c9f27b1c | 1172 | Change background polldaemon's process name to "(lvm2)". |
12b64654 AK |
1173 | Allow vgremove to remove a VG with PVs missing after a prompt. |
1174 | Return success in lvconvert --repair --use-policies on failed allocation. | |
d011e2cc | 1175 | Keep log type consistent when changing mirror image count. |
62ecac81 | 1176 | Always set environment variables for an LVM2 device in 11-dm-lvm.rules. |
cda69e17 | 1177 | Add activation/udev_rules config option in lvm.conf. |
12b64654 AK |
1178 | Add consts to text metadata flag structs. |
1179 | Add macros outfc, outsize, outhint and function out_text_with_comment. | |
1180 | Reimplement report FIELD macro using offsetof instead of static structs. | |
1181 | Fix fsadm man page typo (fsdam). | |
03984e05 | 1182 | Rename mirror_device_fault_policy to mirror_image_fault policy. |
bf8c8a6d | 1183 | Remove empty PV devices if lvconvert --repair is using defined policies. |
5d196aa4 | 1184 | Use fixed buffer to prevent stack overflow in persistent filter dump. |
12b64654 AK |
1185 | Use extended status of new kernel snapshot target 1.8.0 to detect when empty. |
1186 | Insert stack macros in suspend_lv, resume_lv & (de)activate_lv callers. | |
1187 | Add --poll flag to vgchange and lvchange to control background daemon launch. | |
1188 | Propagate metadata commit and revert notifications to other cluster nodes. | |
c9118a1d | 1189 | Use proper mask for VG lock mode in clvmd. |
12b64654 | 1190 | Allow precommitted metadata to be dropped from lvmcache. |
ac85c2e7 | 1191 | Move processing of VG locks to separate function in clvmd. |
12b64654 AK |
1192 | Properly decode all flags in clvmd messages including VG locks. |
1193 | Properly handle precommitted cache flag when only committed metadata present. | |
60494fe7 | 1194 | Resume renamed volumes in reverse order to preserve memlock pairing. |
12b64654 AK |
1195 | Drop cached metadata after device was auto-repaired and removed from VG. |
1196 | Clear MISSING_PV flag if PV reappeared and is empty. | |
1197 | Fix removal of multiple devices from a mirror. | |
1198 | Also clean up PVs flagged as missing in vgreduce --removemissing --force. | |
1199 | Introduce INTERNAL_ERROR macro for error messages and use throughout. | |
1200 | Remove superfluous returns from void functions. | |
73530869 | 1201 | Destroy allocated mempool in _vg_read_orphans() error path. |
12b64654 | 1202 | Fix some pvresize and toollib error paths with missing VG releases/unlocks. |
34de60e4 | 1203 | Explicitly call suspend for temporary mirror layer. |
12b64654 | 1204 | Allow use of precommitted metadata when a PV is missing. |
27132718 | 1205 | Add memlock information to do_lock_lv debug output. |
12b64654 AK |
1206 | Always bypass calls to remote cluster nodes for non-clustered VGs. |
1207 | Permit implicit cluster lock conversion in pre/post callbacks on local node. | |
1208 | Permit implicit cluster lock conversion to the lock mode already held. | |
1209 | Fix lock flag masking in clvmd so intended code paths get invoked. | |
cc31b2bd | 1210 | Replace magic masks in cluster locking code by defined masks. |
12b64654 AK |
1211 | Remove newly-created mirror log from metadata if initial deactivation fails. |
1212 | Correct activated or deactivated text in vgchange summary message. | |
1213 | Improve pvmove error message when all source LVs are skipped. | |
1214 | Fix memlock imbalance in lv_suspend if already suspended. | |
1215 | Fix pvmove test mode not to poll (and fail). | |
1216 | Fix vgcreate error message if VG already exists. | |
1217 | Fix tools to use log_error when aborted due to user response to prompt. | |
1218 | Fix ignored readahead setting in lvcreate --readahead. | |
1219 | Fix clvmd memory leak in lv_info_by_lvid by calling release_vg. | |
1220 | If aborting due to internal error, always send that message to stderr. | |
1221 | Add global/abort_on_internal_errors to lvm.conf to assist testing. | |
1222 | Fix test Makefiles when builddir and srcdir differ. | |
1223 | Impose limit of 8 mirror images to match the in-kernel kcopyd restriction. | |
1224 | Use locking_type 3 (compiled in) for lvmconf --enable-cluster. | |
1225 | Remove list.c and list.h with no-longer-used dm_list macros and functions. | |
32780caa AK |
1226 | Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin. |
1227 | Extend internal PV/VG/LV/segment status variables from 32-bit to 64-bit. | |
b1bee9cd | 1228 | |
2b2c5617 | 1229 | Version 2.02.56 - 24th November 2009 |
b315fcab | 1230 | ==================================== |
fed0e904 | 1231 | Add missing vg_release to pvs and pvdisplay to fix memory leak. |
0025670d | 1232 | Do not try to unlock VG which is not locked in _process_one_vg. |
13b665e4 | 1233 | Move is_long_lived persistent_filter_dump to happen after every full scan. |
e1ab01e3 | 1234 | Refresh device filters before full device rescan in lvmcache. |
155c608c | 1235 | Return error status if vgchange fails to activate some volume. |
13b665e4 AK |
1236 | Fix suspend/resume lock type test causing unbalanced memory locking. |
1237 | Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55) | |
b315fcab | 1238 | |
31b2e7ed AK |
1239 | Version 2.02.55 - 19th November 2009 |
1240 | ==================================== | |
938cf359 AK |
1241 | Fix deadlock when changing mirrors due to unpaired memlock refcount changes. |
1242 | Use separate memlock counter for dmeventd handlers to permit device scanning. | |
1243 | Directly restrict vgchange to activating visible LVs. | |
1244 | Fix pvmove region_size overflow for very large PVs. | |
1245 | Fix lvcreate and lvresize %PVS argument always to use sensible total size. | |
a8fb89ad | 1246 | Tidy some uses of arg_count and introduce arg_is_set. |
badfe1cf | 1247 | Export outnl and indent functions for modules. |
61c146fb | 1248 | Flush stdout after yes/no prompt. |
fc7ad9d4 | 1249 | Update vgsplit and vgcreate to use vg_set_clustered. |
938cf359 | 1250 | Add vg_mda_count and vg_set_clustered library functions. |
fc7ad9d4 | 1251 | Add more vgcreate and vgsplit nightly tests. |
75b37a11 | 1252 | Insert some missing stack macros into activation code. |
938cf359 | 1253 | Recognise DRBD devices and handle them like md devices. |
cf177380 | 1254 | |
ebc9a27a AK |
1255 | Version 2.02.54 - 26th October 2009 |
1256 | =================================== | |
7c638cc2 DW |
1257 | Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter. |
1258 | Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages. | |
984abde1 | 1259 | Permit snapshots of mirrors. |
a3a02a2f | 1260 | Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. |
cb63efc6 | 1261 | Fix clvmd segfault when refresh_toolcontext fails. |
06bb53b1 | 1262 | Remember to clear 'global lock held during cache refresh' state after use. |
178dcb06 | 1263 | Use udev flags support in LVM and apply various fixes to udev rules. |
70a0e7ab | 1264 | Delay announcing mirror monitoring to syslog until initialisation succeeded. |
b4048242 | 1265 | Handle metadata with unknown segment types more gracefully. |
39dabc84 | 1266 | Set default owner and group to null. |
ae1e83aa | 1267 | Add dmeventd.static to the build. |
89044bc0 | 1268 | Disable realtime support code by default. |
c503c83c | 1269 | Make clvmd return 0 on success rather than 1. |
0ddb66ef | 1270 | Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. |
0175de7f | 1271 | Add implict pvcreate support to vgcreate and vgextend. |
cf65a124 AK |
1272 | Correct example.conf to indicate that lvm2 not lvm1 is the default format. |
1273 | Remove an unused stray LVM1_SUPPORT ifdef. | |
e1b8a236 | 1274 | Only include selinux libs in libdevmapper.pc when selinux build enabled. |
db8b5af9 | 1275 | Allow for a build directory separate from the source. |
1ae30159 | 1276 | Update distclean target for rename clogd to cmirrord. (2.02.52) |
29846c24 | 1277 | Only do lock conversions in clvmd if we are explicitly asked for one. |
78ad1549 | 1278 | Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. |
42dd692b | 1279 | Factor out poll_mirror_progress and introduce progress_t. |
8e4858cc | 1280 | Distinguish between powers of 1000 and powers of 1024 in unit suffixes. |
93bbc31c | 1281 | Restart lvconverts in vgchange by sharing lv_spawn_background_polling. |
724de279 | 1282 | Generalise polldaemon code by changing mirror-specific variable names. |
64a95010 | 1283 | Don't attempt to deactivate an LV if any of its snapshots are in use. |
178dcb06 | 1284 | Return error if lv_deactivate fails to remove device from kernel. |
a0f9708e | 1285 | Provide alternative implementation of obsolete siginterrupt(). |
d5577738 | 1286 | Consolidate LV allocation into alloc_lv(). |
673ecf73 | 1287 | Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) |
95eaa683 AK |
1288 | Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. |
1289 | Add configure --enable-units-compat to set si_unit_consistency off by default. | |
1290 | Add global/si_unit_consistency to enable cleaned-up use of units in output. | |
ec0b34a9 | 1291 | |
9bc9dacc | 1292 | Version 2.02.53 - 25th September 2009 |
786e32bf | 1293 | ===================================== |
536f0e08 | 1294 | Create any directories in /dev with DM_DEV_DIR_UMASK (022). |
d9be54ad | 1295 | Enable dmeventd monitoring section of config file by default. |
595eaf92 | 1296 | Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. |
5a446cfb | 1297 | Fix lvm2app test to run under test/api subdirectory only when configured. |
68fac97a | 1298 | Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. |
786e32bf | 1299 | |
4b7033d3 AK |
1300 | Version 2.02.52 - 15th September 2009 |
1301 | ===================================== | |
266214db | 1302 | Update _process_one_vg to cleanup properly after vg_read_error. |
651ff9b3 AK |
1303 | Add lots of missing stack debug messages to tools. |
1304 | Make readonly locking available as locking type 4. | |
1305 | Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49) | |
663bf8f7 AK |
1306 | Add DM_UDEV_RULES_VSN environment variable to udev rules. |
1307 | Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules. | |
1308 | Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t. | |
1309 | Enforce an alphabetical lock ordering on vgname locking. | |
1310 | Prioritise write locks over read locks by default for file locking. | |
1311 | Add local lock files with suffix ':aux' to serialise locking requests. | |
3c0cfa8f | 1312 | Fix global locking in PV reporting commands (2.02.49). |
c2d4398d | 1313 | Fix pvcreate string termination in duplicate uuid warning message. |
663bf8f7 | 1314 | Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). |
cdc8e54e | 1315 | Fix vgcfgrestore error paths when locking fails (2.02.49). |
663bf8f7 AK |
1316 | Update Makefile distclean target. |
1317 | Add libudev configuration check. | |
1318 | Make clvmd check corosync to see what cluster interface it should use. | |
1319 | Add clvmd autodetection check and cleanup related configure messages. | |
1320 | Rewrite clvmd configuration code to cope with all combinations of libs. | |
66fd4529 | 1321 | Added configure --enable-cmirrord to build the cluster mirror log daemon. |
6087b158 | 1322 | Rename clogd to cmirrord. |
ea301840 | 1323 | Make lvchange --refresh only take a read lock on volume group. |
663bf8f7 | 1324 | Fix race where non-blocking file locks could be granted in error. |
2834bc8e | 1325 | Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). |
defed336 | 1326 | Fix compile warning in clvmd. |
663bf8f7 | 1327 | Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. |
2834bc8e | 1328 | Remove useless _pv_write wrapper. |
663bf8f7 AK |
1329 | Add lvm2app.sh to tests conditional upon configure --enable-applib. |
1330 | Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial. | |
1331 | Update lvm_vg_remove to require lvm_vg_write to commit remove to disk. | |
2834bc8e | 1332 | Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. |
adfb0e34 | 1333 | |
7cec175d AK |
1334 | Version 2.02.51 - 6th August 2009 |
1335 | ================================= | |
ee1e49ec | 1336 | Fix locking in clvmd (2.02.50). |
f3bc056a | 1337 | Add --noudevsync option for relevant LVM tools. |
cf8235e0 | 1338 | Add activation/udev_sync to lvm.conf. |
aaa01e34 | 1339 | Only change LV symlinks on ACTIVATE not PRELOAD. |
f5cb304a | 1340 | Make lvconvert honour log mirror options combined with downconversion. |
0e867038 | 1341 | Allow LV suspend while --ignorelockingfailure is in force. |
e516e070 | 1342 | Update synopsis in lvconvert manpage to mention --repair. |
bd90c6b2 | 1343 | Set cookies in activation code and wait for udev to complete processing. |
78ce7acc AK |
1344 | Added configure --enable-udev_rules --enable-udev_sync. |
1345 | Added configure --with-udev-prefix --with-udevdir. | |
5d518f1f | 1346 | Added udev dir to hold udev rules. |
2aabcc1c | 1347 | Add devices/data_alignment_detection to lvm.conf. |
57b66035 | 1348 | Add devices/data_alignment_offset_detection to lvm.conf. |
04b2a4bd | 1349 | Add --dataalignmentoffset to pvcreate to shift start of aligned data area. |
ad273af9 | 1350 | Fix _mda_setup() to not check first mda's size before pe_align rounding. |
8b9e5151 | 1351 | Document -I option of clvmd in the man page. |
82c445b0 | 1352 | Fix configure script to handle multiple clvmd selections. |
9b6f2391 | 1353 | Fix lvm2app.pc installation filename. |
9e813cc9 AK |
1354 | Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. |
1355 | Rename lvm.h to lvm2app.h for now. | |
28ae3fe7 | 1356 | |
29c70fbd | 1357 | Version 2.02.50 - 28th July 2009 |
26d7762b | 1358 | ================================ |
b0928986 AK |
1359 | Change test/api/test.c prompt so it's not confused with the main lvm prompt. |
1360 | Update liblvm unit tests in test/api to cover latest liblvm changes. | |
1361 | Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm. | |
1362 | Add lvm_library_get_version to liblvm. | |
1363 | Add lvm_config_override to liblvm to allow caller to override LVM config. | |
1364 | Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm. | |
1365 | Add lvm_lv_activate and lvm_lv_deactivate to liblvm. | |
1366 | Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm. | |
1367 | Add functions to get numeric properties to liblvm. | |
1368 | Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm. | |
1369 | Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm. | |
1370 | Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm. | |
1371 | Add lvm_list_vg_names/uuids to liblvm. | |
1372 | Add lvm_errno and lvm_errmsg to liblvm to obtain failure information. | |
1373 | Rename lvm_create/destroy to lvm_init/quit. | |
a44d0046 | 1374 | Rename lvm_reload_config to lvm_config_reload. |
b0928986 AK |
1375 | Refactor _override_settings to use new override_config_tree_from_string. |
1376 | Add vg_reduce to metadata.c and metadata-exported.h. | |
9c492aee | 1377 | Update lvm.h to clarify API behavior and return codes. |
a66c95ce | 1378 | Update lvm_vg_extend to do an implicit pvcreate on the device. |
b0928986 AK |
1379 | Update display.c to use vg_free(vg) instead of duplicating the calculation. |
1380 | Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm. | |
a66c95ce | 1381 | Refactor pvcreate and lvcreate for liblvm. |
1cc59fa4 | 1382 | Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. |
c07d773e | 1383 | All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. |
e6923120 DW |
1384 | Fix race condition with vgcreate and vgextend on same device (2.02.49). |
1385 | Remove redundant validate_name call from vgreduce. | |
1936861b | 1386 | Remove unused handles lvseg, pvseg inside liblvm/lvm.h. |
70046623 AK |
1387 | Add liblvm2app Makefile installation targets. |
1388 | Add liblvm pkgconfig file. | |
340b6b0f | 1389 | Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. |
bf456146 | 1390 | Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. |
df4b9706 | 1391 | Pass a pointer to struct cmd_context to init_multiple_segtypes |
b68cc099 | 1392 | Return EINVALID_CMD_LINE not success when invalid VG name format is used. |
e0bd7c76 | 1393 | Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). |
9fac4435 | 1394 | Add log_errno to set a specific errno and replace log_error in due course. |
d917192f AK |
1395 | Change create_toolcontext to still return an object if it fails part-way. |
1396 | Add EUNCLASSIFIED (-1) as the default LVM errno code. | |
d6146461 | 1397 | Store any errno and error messages issued while processing each command. |
b8f47d5f | 1398 | Use log_error macro consistently throughout in place of log_err. |
26d7762b | 1399 | |
9386a684 | 1400 | Version 2.02.49 - 15th July 2009 |
4397ad38 | 1401 | ================================ |
651ff9b3 | 1402 | Add readonly locking type to replace implementation of --ignorelockingfailure. |
7beb03dd | 1403 | Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. |
867ff246 DW |
1404 | Add unit test case for liblvm VG create/delete APIs. |
1405 | Add liblvm APIs to implement creation and deletion of VGs. | |
7beb03dd AK |
1406 | Initialize cmd->cmd_line to "liblvm" in new liblvm library. |
1407 | Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h. | |
cec2a2da | 1408 | Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. |
a7aa8b16 | 1409 | Use _exit() not exit() after forking to avoid flushing libc buffers twice. |
7beb03dd | 1410 | Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. |
7f355587 | 1411 | Make cmd->cmd_line const. |
c4c107f2 | 1412 | Fix dev name mismatch in vgcreate man page example. |
a4f5a4cc | 1413 | Refactor vg_remove_single for use in liblvm. |
a7aa8b16 AK |
1414 | Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second. |
1415 | Check md devices for a partition table during device scan. | |
1416 | Add extended device (blkext) and md partition (mdp) types to filters. | |
1417 | Make text metadata read errors for segment areas more precise. | |
1418 | Fix text segment metadata read errors to mention correct segment name. | |
1419 | Include segment and LV names in text segment import error messages. | |
25497e2f | 1420 | Add parent node to config_node structure. |
a7aa8b16 | 1421 | Update vgsplit and vgcreate to call new vg_create and 'set' functions. |
0d107e70 DW |
1422 | Change vg_create to take minimal parameters, obtain a lock, and return vg_t. |
1423 | Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm. | |
1424 | Update t-vgcreate-usage.sh to test for default vg properties. | |
1425 | Fix memory leak in vgsplit when re-reading the vg. | |
7476b502 | 1426 | Make various exit/cleanup paths more robust after lvm init failures. |
a7aa8b16 AK |
1427 | Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. |
1428 | Remove unnecessary locking and existence tests from new vg_read() interface. | |
dd1d42d5 | 1429 | Permit several segment types to be registered by a single shared object. |
c1060e13 | 1430 | Update the man pages to document size units uniformly. |
1ad6d98b | 1431 | Allow commandline sizes to be specified in terms of bytes and sectors. |
bb6a3a96 | 1432 | Update 'md_chunk_alignment' to use stripe-width to align PV data area. |
6e10090b DW |
1433 | Update test/t-inconsistent-metadata.sh to match new vg_read interface. |
1434 | Add lvmcache_init() to polldaemon initialization. | |
1435 | Convert tools to use new vg_read / vg_read_for_update. | |
1436 | Fix segfault in vg_release when vg->cmd is NULL. | |
4397ad38 | 1437 | |
e50c61d8 | 1438 | Version 2.02.48 - 30th June 2009 |
4f901270 | 1439 | ================================ |
2f5a1df4 | 1440 | Abort if automatic metadata correction fails when reading VG to update it. |
6391d03f | 1441 | Explicitly request fallback to default major number in device mapper. |
a330337a | 1442 | Ignore suspended devices during repair. |
476d4633 AK |
1443 | Call vgreduce --removemissing automatically to fix missing PVs in dmeventd. |
1444 | Suggest using lvchange --resync when adding leg to not-yet-synced mirror. | |
1445 | Destroy toolcontext on clvmd exit to avoid memory pool leaks. | |
1446 | Fix lvconvert not to poll mirror if no conversion in progress. | |
38ddfe7b | 1447 | Fix memory leaks in toolcontext error path. |
476d4633 | 1448 | Reinstate partial activation support in clustered mode. (2.02.40) |
2565a5e5 | 1449 | Allow metadata correction even when PVs are missing. |
33048414 ZK |
1450 | Use 'lvm lvresize' instead of 'lvresize' in fsadm. |
1451 | Do not use '-n' realine option in fsadm for busybox compatiblity. | |
476d4633 | 1452 | Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. |
12b1f31c | 1453 | Round up requested readahead to at least one page and print warning. |
66086ce9 MB |
1454 | Try to repair vg before actual vgremove when force flag provided. |
1455 | Fix possible double release of VG after recovery. | |
1456 | Add parameter to process_each_vg specifying what to do with inconsistent VG. | |
476d4633 | 1457 | Unify error messages when processing inconsistent volume group. |
c26488d3 MB |
1458 | Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. |
1459 | Introduce lvconvert --use_policies (repair policy according to lvm.conf). | |
476d4633 | 1460 | Update clvmd-corosync to match new corosync API. |
b09a20e5 | 1461 | Fix lib Makefile to include any shared libraries in default target. |
771e191e | 1462 | Fix rename of active snapshot with virtual origin. |
31f55a07 | 1463 | Fix convert polling to ignore LV with different UUID. |
c1fdeec9 MB |
1464 | Cache underlying device readahead only before activation calls. |
1465 | Fix segfault when calculating readahead on missing device in vgreduce. | |
eca971ca | 1466 | Remove verbose 'visited' messages. |
5cffbf0b AK |
1467 | Handle multi-extent mirror log allocation when smallest PV has only 1 extent. |
1468 | Add LSB standard headers and functions (incl. reload) to clvmd initscript. | |
5746e2e7 | 1469 | When creating new LV, double-check that name is not already in use. |
ca51e5d9 | 1470 | Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. |
ea0e5e6e | 1471 | Rename internal vorigin LV to match visible LV. |
99113cc5 AK |
1472 | Suppress 'removed' messages displayed when internal LVs are removed. |
1473 | Fix lvchange -a and -p for sparse LVs. | |
1474 | Fix lvcreate --virtualsize to activate the new device immediately. | |
154753db AK |
1475 | Make --snapshot optional with lvcreate --virtualsize. |
1476 | Generalise --virtualoriginsize to --virtualsize. | |
99113cc5 | 1477 | Skip virtual origins in process_each_lv_in_vg() without --all. |
ea91a71b | 1478 | Fix counting of virtual origin LVs in vg_validate. |
4884e0e2 | 1479 | Attempt to load dm-zero module if zero target needed but not present. |
49c27642 | 1480 | |
572fefeb | 1481 | Version 2.02.47 - 22nd May 2009 |
4b896598 | 1482 | =============================== |
572fefeb | 1483 | Rename liblvm.so to liblvm2app.so and use configure --enable-applib. |
4b896598 AK |
1484 | Reinstate version in liblvm2cmd.so soname. (2.02.44) |
1485 | ||
25a2e7b8 AK |
1486 | Version 2.02.46 - 21st May 2009 |
1487 | =============================== | |
1488 | Inherit readahead setting from underlying devices during activation. | |
1489 | Detect LVs active on remote nodes by querying locks if supported. | |
eb91c4ee MB |
1490 | Enable online resizing of mirrors. |
1491 | Use suspend with flush when device size was changed during table preload. | |
25a2e7b8 AK |
1492 | Implement query_resource_fn for cluster_locking. |
1493 | Support query_resource_fn in locking modules. | |
fa6dca9f | 1494 | Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. |
65edd11b | 1495 | Fix pvmove to revert operation if temporary mirror creation fails. |
e1b0dce7 | 1496 | Fix metadata export for VG with missing PVs. |
761e5741 | 1497 | Add vgimportclone and install it and the man page by default. |
970f241c | 1498 | Force max_lv restriction only for newly created LV. |
82cf9260 | 1499 | Remove unneeded import parameter from lv_create_empty. |
afd9ba98 | 1500 | Merge lv_is_displayable and lv_is_visible functions. |
25a2e7b8 | 1501 | Introduce lv_set_visible & lv_set_hidden functions. |
b14c5af7 | 1502 | Fix lv_is_visible to handle virtual origin. |
0b706ac6 | 1503 | Introduce link_lv_to_vg and unlink_lv_from_vg functions. |
d60f341d | 1504 | Remove lv_count from VG and use counter function instead. |
4b13d5a8 | 1505 | Fix snapshot segment import to not use duplicate segments & replace. |
cfebc626 | 1506 | Do not query nonexistent devices for readahead. |
5a820745 | 1507 | Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. |
2f9a9d1a | 1508 | Remove snapshot_count from VG and use function instead. |
920e68d6 | 1509 | Fix first_seg() call for empty segment list. |
25a2e7b8 | 1510 | Add install_lvm2 makefile target to install only the LVM2 components. |
45aff0a2 | 1511 | Reject missing PVs from allocation in toollib. |
5c93cdba | 1512 | Fix PV datalignment for values starting prior to MDA area. (2.02.45) |
87f42fda | 1513 | Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). |
25a2e7b8 | 1514 | Fix minimum width of devices column in reports. |
87f42fda AK |
1515 | Add lvs origin_size field. |
1516 | Fix linux configure --enable-debug to exclude -O2. | |
25a2e7b8 | 1517 | Implement lvconvert --repair for repairing partially-failed mirrors. |
cd978f74 | 1518 | Fix vgreduce --removemissing failure exit code. |
dfbc015c | 1519 | Fix remote metadata backup for clvmd. |
25a2e7b8 AK |
1520 | Introduce unlock_and_release_vg macro. |
1521 | Introduce vg_release() to be called to free every struct volume_group. | |
e5656d86 | 1522 | Alloc PV internal structure from VG mempool if possible. |
8f3fd69f | 1523 | Fix metadata backup to run after vg_commit always. |
c4ff1338 | 1524 | Tidy clvmd volume lock cache functions. |
d66abfb8 | 1525 | Fix pvs report for orphan PVs when segment attributes are requested. |
81c74829 | 1526 | Fix pvs -a output to not read volume groups from non-PV devices. |
1cc75dfb | 1527 | Add MMC (mmcblk) device type to filters. |
8e1d5615 | 1528 | Introduce memory pools per volume group (to reduce memory for large VGs). |
25a2e7b8 | 1529 | Use copy of PV structure when manipulating global PV lists. |
1b25b6e0 | 1530 | Always return exit error status when locking of volume group fails. |
6ce8f8d5 | 1531 | Fix mirror log convert validation question. |
9bcd5c2f | 1532 | Avoid referencing files from DESTDIR during build process. |
25a2e7b8 | 1533 | Avoid creating some static libraries unless configured --enable-static_link. |
772cac09 | 1534 | Enable use of cached metadata for pvs and pvdisplay commands. |
bef749c9 | 1535 | Add missing 'device-mapper' internal subdir build dependency. |
e24f357c | 1536 | Fix memory leak in mirror allocation code. |
2691077d | 1537 | Save and restore the previous logging level when log level is changed. |
e69246e1 | 1538 | Fix error message when archive initialization fails. |
3330038e | 1539 | Make sure clvmd-corosync releases the lockspace when it exits. |
0ef8308f | 1540 | Fix segfault for vgcfgrestore on VG with missing PVs. |
c35df82d | 1541 | Block SIGTERM & SIGINT in clvmd subthreads. |
3402ccd4 | 1542 | Detect and conditionally wipe swapspace signatures in pvcreate. |
7f436a0f | 1543 | Fix maximal volume count check for snapshots if max_lv set for volume group. |
25a2e7b8 | 1544 | Fix lvcreate to remove unused cow volume if the snapshot creation fails. |
47e1baf1 | 1545 | Fix error messages when PV uuid or pe_start reading fails. |
25a2e7b8 AK |
1546 | Build new liblvm application-level library. |
1547 | Rename liblvm.a to liblvm-internal.a. | |
fe3a28e2 | 1548 | Flush memory pool and fix locking in clvmd refresh and backup command. |
25a2e7b8 | 1549 | Fix unlocks in clvmd-corosync. (2.02.45) |
1d13e518 | 1550 | Fix error message when adding metadata directory to internal list fails. |
6a8feb3c | 1551 | Fix size and error message of memory allocation at backup initialization. |
25a2e7b8 | 1552 | Remove old metadata backup file after renaming VG. |
fbd97a34 | 1553 | Restore log_suppress state when metadata backup file is up-to-date. |
ab5be5f0 | 1554 | |
33617240 AK |
1555 | Version 2.02.45 - 3rd March 2009 |
1556 | ================================ | |
c3b50730 | 1557 | Avoid scanning empty metadata areas for VG names. |
ed82bfd2 | 1558 | Attempt proper clean up in child before executing new binary in exec_cmd(). |
7b1c853b | 1559 | Do not scan devices if reporting only attributes from PV label. |
edf47283 | 1560 | Use pkgconfig to obtain corosync library details during configuration. |
b36d715a | 1561 | Fix error returns in clvmd-corosync interface to DLM. |
82c29eed | 1562 | Add --refresh to vgchange and vgmknodes man pages. |
33617240 AK |
1563 | Pass --test from lvresize to fsadm as --dry-run. |
1564 | Supply argv[] list to exec_cmd() to allow for variable number of parameters. | |
1565 | Prevent fsadm from checking mounted filesystems. | |
1566 | No longer treats any other key as 'no' when prompting in fsadm. | |
1567 | Tidy fsadm command line processing. | |
5f4b7a26 | 1568 | Add lib/lvm.h and lib/lvm_base.c for the new library interface. |
ec6a6fbe AK |
1569 | Move tools/version.h to lib/misc/lvm-version.h. |
1570 | Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. | |
7ac8b7c3 | 1571 | Add system_dir parameter to create_toolcontext(). |
8929ce66 | 1572 | Add --dataalignment to pvcreate to specify alignment of data area. |
47c0f6ae | 1573 | Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. |
27753447 | 1574 | Provide da and mda locations in debug message when writing text format label. |
45bec967 | 1575 | Mention the restriction on file descriptors at invocation on the lvm man page. |
9b99f333 | 1576 | Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. |
0f817d38 | 1577 | No longer require kernel and metadata major numbers to match. |
9c61679e | 1578 | Add a fully-functional get_cluster_name() to clvmd corosync interface. |
0f1917af | 1579 | Remove duplicate cpg_initialize from clvmd startup. |
d3e282c9 | 1580 | Add option to /etc/sysconfig/cluster to select cluster type for clvmd. |
2095de1a | 1581 | Allow clvmd to start up if its lockspace already exists. |
ea0cdd28 | 1582 | Separate PV label attributes which do not need parse metadata when reporting. |
33617240 | 1583 | Remove external dependency on the 'cut' command from fsadm. |
92a4d6b2 | 1584 | Fix pvs segfault when pv mda attributes requested for not available PV. |
33617240 | 1585 | Add fsadm support for reszing ext4 filesysystems. |
76cc7b27 | 1586 | Move locking_type reading inside init_locking(). |
4631e587 | 1587 | Rename get_vgs() to get_vgnames() and clarify related error messages. |
fd5c5a97 CC |
1588 | Allow clvmd to be built with all cluster managers & select one on cmdline. |
1589 | Mention --with-clvmd=corosync in ./configure. | |
b8fa5160 | 1590 | Replace internal vg_check_status() implementation. |
8544a8a2 | 1591 | Rename vg_read() to vg_read_internal(). |
30212562 | 1592 | |
c6a808f1 AK |
1593 | Version 2.02.44 - 26th January 2009 |
1594 | =================================== | |
a40fb438 | 1595 | Fix --enable-static_link after the recent repository changes. |
c6a808f1 | 1596 | Add corosync/DLM cluster interface to clvmd. |
c0f61d7d | 1597 | Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. |
c6a808f1 | 1598 | Fix lvresize size conversion for fsadm when block size is not 1K. |
9bbd343f | 1599 | Fix pvs segfault when run with orphan PV and some VG fields. |
219b480d | 1600 | Display a 'dev_size' of zero for missing devices in reports. |
c926ea5c | 1601 | Add pv_mda_size to pvs and vg_mda_size to vgs. |
326902f0 | 1602 | Fix lvmdump /sys listing to include virtual devices directory. |
6cca7a9f | 1603 | Add "--refresh" functionality to vgchange and vgmknodes. |
c6a808f1 | 1604 | Avoid exceeding LV size when wiping device. |
6d1b3b53 | 1605 | Calculate mirror log size instead of using 1 extent. |
c6a808f1 | 1606 | Ensure requested device number is available before activating with it. |
219b480d AK |
1607 | Fix incorrect exit status from 'help <command>'. |
1608 | Fix vgrename using UUID if there are VGs with identical names. | |
539f903f | 1609 | Fix segfault when invalid field given in reporting commands. |
f653fb2b | 1610 | Move is_static from cmd to global is_static(). |
9db16312 | 1611 | Refactor init_lvm() for lvmcmdline and clvmd. |
c7e363f9 | 1612 | Add liblvm interactive test infrastructure to build. |
f653fb2b | 1613 | Add skeleton lvm2.h file in preparation for a shared library interface. |
d17a8e36 | 1614 | Use better random seed value in temp file creation. |
c6a808f1 | 1615 | Add read_urandom to read /dev/urandom. Use in uuid calculation. |
b4795264 | 1616 | Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. |
9d9589d1 | 1617 | Fix race in vgcreate that would result in second caller overwriting first. |
89ef434f | 1618 | Fix uninitialised lv_count in vgdisplay -c. |
e2675481 | 1619 | Don't skip updating pvid hash when lvmcache_info struct got swapped. |
18dcfb69 | 1620 | Add tinfo to termcap search path for pld-linux. |
acc41388 | 1621 | Fix startup race in clvmd. |
c6a808f1 | 1622 | Generate Red Hat clvmd startup script at config time with correct paths. |
07698bfd | 1623 | Fix clvmd & dmeventd builds after tree restructuring. |
da526553 | 1624 | Cope with snapshot dependencies when removing a whole VG with lvremove. |
c6a808f1 | 1625 | Make man pages and tool help text consistent using | for alternative options. |
07698bfd AK |
1626 | |
1627 | Version 2.02.43 - 10th November 2008 | |
1628 | ==================================== | |
b362d126 | 1629 | Merge device-mapper into the lvm2 tree. |
40387549 AK |
1630 | Correct prototype for --permission on lvchange and lvcreate man pages. |
1631 | Exit with non-zero status from vgdisplay if couldn't show any requested VG. | |
3e5b6ed2 | 1632 | Move list.c into libdevmapper and rename functions. |
965566dc | 1633 | Rename a couple of variables that matched function names. |
597c3f8e | 1634 | Use simplified x.y.z version number in libdevmapper.pc. |
c249597f | 1635 | Remove ancient debian directory. |
fcc5d443 | 1636 | Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. |
d480ed41 | 1637 | |
5e4b1453 | 1638 | Version 2.02.42 - 26th October 2008 |
44222209 | 1639 | =================================== |
14c9a9ae | 1640 | Accept locking fallback_to_* options in the global section as documented. |
9e71c180 AK |
1641 | Fix temp table activation in mirror conversions not to happen in other cmds. |
1642 | Fix temp table in mirror conversions to use always-present error not zero. | |
44222209 | 1643 | |
a64041bb AK |
1644 | Version 2.02.41 - 17th October 2008 |
1645 | =================================== | |
5da4feac | 1646 | Use temp table to set device size when converting mirrors. |
3935c3ec | 1647 | In resume_mirror_images replace activate_lv with resume_lv as workaround. |
08b959a5 | 1648 | Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. |
ffc4a05b | 1649 | Fix snapshot monitoring library to not cancel monitoring invalid snapshot. |
5951ef33 | 1650 | Generate man pages from templates and include version. |
68f2de6d | 1651 | Add usrlibdir and usrsbindir to configure. |
9c4bf5db | 1652 | Fix conversion of md chunk size into sectors. |
7eb1c3ed | 1653 | Free text metadata buffer after a failure writing it. |
9c4bf5db | 1654 | Fix misleading error message when there are no allocatable extents in VG. |
061fa9c4 | 1655 | Fix handling of PVs which reappeared with old metadata version. |
550463b5 | 1656 | Fix mirror DSO to call vgreduce with proper parameters. |
ed8c4d99 | 1657 | Fix validation of --minor and --major in lvcreate to require -My always. |
b906150a | 1658 | Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. |
6e410af1 | 1659 | |
01b1d604 AK |
1660 | Version 2.02.40 - 19th September 2008 |
1661 | ===================================== | |
f3fc2386 | 1662 | Allow lvremove to remove LVs from VGs with missing PVs. |
8c5bcdab AK |
1663 | In VG with PVs missing, by default allow activation of LVs that are complete. |
1664 | Track PARTIAL_LV and MISSING_PV flags internally. | |
1665 | Require --force with --removemissing in vgreduce to remove partial LVs. | |
1666 | No longer write out PARTIAL flag into metadata backups. | |
1667 | Treat new default activation/missing_stripe_filler "error" as an error target. | |
1668 | Remove internal partial_mode. | |
2adafc16 | 1669 | Add devices/md_chunk_alignment to lvm.conf. |
3c2086ef | 1670 | Pass struct physical_volume to pe_align and adjust for md chunk size. |
225ad191 | 1671 | Store sysfs location in struct cmd_context. |
324e23b7 | 1672 | Avoid shuffling remaining mirror images when removing one, retaining primary. |
4bb7a2f5 | 1673 | Add missing LV error target activation in _remove_mirror_images. |
08b481bb | 1674 | Prevent resizing an LV while lvconvert is using it. |
a0e00ccf | 1675 | Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. |
df9c7546 | 1676 | Fix pvresize to not allow resize if PV has two metadata areas. |
3a2fb073 | 1677 | Fix setting of volume limit count if converting to lvm1 format. |
9c520b11 | 1678 | Fix vgconvert logical volume id metadata validation. |
050f5d89 | 1679 | Fix lvmdump metadata gather option (-m) to work correctly. |
a4a1cd76 | 1680 | Fix allocation bug in text metadata format write error path. |
8df4c374 | 1681 | Fix vgcfgbackup to properly check filename if template is used. |
b145d876 | 1682 | configure aborts if lcov or genhtml are missing with --enable-profiling |
e2151fb4 ZK |
1683 | vgremove tries to remove lv snapshot first. |
1684 | Added function lv_remove_with_dependencies(). | |
b7961bdb | 1685 | Improve file descriptor leak detection to display likely culprit and filename. |
9125b72b | 1686 | Change clustered mirror kernel module name from cmirror to dm-log-clustered. |
131bc6f0 | 1687 | Avoid looping forever in _pv_analyze_mda_raw used by pvck. |
021317a5 | 1688 | Change lvchange exit status to indicate if any part of the operation failed. |
32a478cb | 1689 | Fix pvchange and pvremove to handle PVs without mdas. |
29f7cbda | 1690 | Refactor _text_pv_read and always return mda list if requested. |
ca822ab4 AK |
1691 | Fix configure to work w/o readline unless --enable-readline used. (2.02.39) |
1692 | Remove is_lvm_partition template which has not yet been coded. | |
1693 | Refactor pvcreate to separate parameter parsing from validation logic. | |
4833ac3d DW |
1694 | Check for label_write() failure in _text_pv_write(). |
1695 | Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. | |
239c4fe6 | 1696 | Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. |
82185ada AK |
1697 | Cease recognising snapshot-in-use percentages returned by early devt kernels. |
1698 | Add backward-compatible flags field to on-disk format_text metadata. | |
367a0ac0 | 1699 | Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) |
f4fa433e | 1700 | |
20ee0a06 | 1701 | Version 2.02.39 - 27th June 2008 |
d47bc382 | 1702 | ================================ |
1b523347 | 1703 | Enable readline by default if available. |
5556819a AK |
1704 | Update autoconf to 2008-01-16. |
1705 | Add $DISTCLEAN_DIRS to make.tmpl.in. | |
1706 | Create coverage reports with --enable-profiling and make lcov or lcov-dated. | |
59743245 | 1707 | Fix up cache for PVs without mdas after consistent VG metadata is processed. |
6db41363 | 1708 | Update validation of safe mirror log type conversions in lvconvert. |
1049bc2f | 1709 | Fix lvconvert to disallow snapshot and mirror combinations. |
36081ccf | 1710 | Fix reporting of LV fields alongside unallocated PV segments. |
1f787aca | 1711 | Add --unquoted and --rows to reporting tools. |
30ef4c73 AK |
1712 | Add and use uninitialized_var() macro to suppress invalid compiler warnings. |
1713 | Introduce enum for md minor sb version to suppress compiler warning. | |
1714 | Avoid undefined return value after _memlock manipulation in lvm2_run. | |
1715 | Avoid link failure if configured without --enable-cmdlib or --enable-readline. | |
1716 | Make clvmd return at once if other nodes down in a gulm or openais cluster. | |
1717 | Fix and improve readahead 'auto' calculation for stripe_size. | |
1718 | Fix lvchange output for -r auto setting if auto is already set. | |
1719 | Add test case for readahead. | |
f4fa433e | 1720 | Avoid ambiguous use of identifier error_message_produced. |
d0191583 | 1721 | Begin syncing configure.in for merge/unification with device-mapper. |
ac27ef25 | 1722 | Fix add_mirror_images not to dereference uninitialized log_lv upon failure. |
b1f8aa24 | 1723 | Don't call openlog for every debug line output by clvmd. |
dc868e56 | 1724 | Add --force to lvextend and lvresize. |
f4fa433e | 1725 | Fix vgchange not to activate component mirror volumes directly. |
c8c24ccd | 1726 | Fix test directory clean up in make distclean. |
ac27ef25 | 1727 | |
88f2c815 AK |
1728 | Version 2.02.38 - 11th June 2008 |
1729 | ================================ | |
56637f2a | 1730 | Fix tracking of validity of PVs with no mdas in lvmcache. |
3a30d1db | 1731 | Fix return values for reporting commands when run with no PVs, LVs, or VGs. |
a3678fa1 | 1732 | Add omitted unlock_vg() call when sigint_caught() during vg processing. |
88f2c815 AK |
1733 | Fix free_count when reading pool metadata. |
1734 | Fix segfault when using pvcreate on a device containing pool metadata. | |
80b7fe0e | 1735 | Fix segfault after _free_vginfo by remembering to remove vginfo from list. |
bfadd213 | 1736 | Tweak detection of invalid fid after changes to PVs in VG in _vg_read. |
424dd43e | 1737 | Revert assuming precommitted metadata is live when activating (unnecessary). |
aa769723 | 1738 | Drop cached metadata for disappearing VG in vgmerge. |
ec40d928 AK |
1739 | In script-processing mode, stop if any command fails. |
1740 | Warn if command exits with non-zero status code without a prior log_error. | |
1741 | Check lv_count in vg_validate. | |
1742 | Add --nameprefixes to reporting tools for field name prefix output format. | |
1743 | ||
0b1a6c4b AK |
1744 | Version 2.02.37 - 6th June 2008 |
1745 | =============================== | |
1746 | Make clvmd-cman use a hash rather than an array for node updown info. | |
1747 | Correct config file line numbers in messages when parsing comments. | |
179b9822 | 1748 | Drop cached metadata when renaming a VG. |
57d0dc0d | 1749 | Allow for vginfo changing during _vg_read. |
e350c2f6 | 1750 | Decode numbers in clvmd debugging output. |
bdf8c02f | 1751 | Add missing deactivation after activation failure in lvcreate -Zy. |
e4b34bfa | 1752 | When activating, if precommitted metadata is still cached, assume it's live. |
4bfa1324 | 1753 | When removing LV symlinks, skip any where the VG name is not determined. |
ad134662 | 1754 | Drop metadata cache if update fails in vg_revert or vg_commit. |
bdce11cb AK |
1755 | Avoid spurious duplicate VG messages referring to VGs that are gone. |
1756 | Drop dev_name_confirmed error message to debug level. | |
1757 | Fix setpriority error message to signed int. | |
ace5664e | 1758 | Temporarily disable dmeventd mirror monitoring during lvchange --resync. |
fc54be10 | 1759 | Refactor some vginfo manipulation code. |
98fd1ce3 | 1760 | Add assertions to trap deprecated P_ and V_ lock usage. |
3d6af3e3 AK |
1761 | Add missing mutex around clvmd lvmcache_drop_metadata library call. |
1762 | Fix uninitialised mutex in clvmd if all daemons are not running at startup. | |
1763 | Avoid using DLM locks with LCK_CACHE type P_ lock requests. | |
3835ad6b | 1764 | When asked to drop cached committed VG metadata, invalidate cached PV labels. |
d9c0105f AK |
1765 | Drop metadata cache before writing precommitted metadata instead of after. |
1766 | Don't touch /dev in vgrename if activation is disabled. | |
1767 | ||
04ed52f6 | 1768 | Version 2.02.36 - 29th April 2008 |
f6a88f32 | 1769 | ================================= |
04ed52f6 AK |
1770 | Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. |
1771 | Fix lvresize to pass new size to fsadm when extending device. | |
d474909a | 1772 | Remove unused struct in clvmd-openais, and use correct node count. |
746e7dc4 | 1773 | Fix nodes list in clvmd-openais, and allow for broadcast messages. |
b5618c07 | 1774 | Exclude VG_GLOBAL from internal concurrent VG lock counter. |
8e8baf89 | 1775 | Fix vgsplit internal counting of snapshot LVs. |
b5618c07 AK |
1776 | Fix vgmerge snapshot_count when source VG contains snapshots. |
1777 | Simplify clvmd-openais by using non-async saLckResourceLock. | |
fd1b1189 | 1778 | Fix internal LV counter when a snapshot is removed. |
a93ae114 | 1779 | Fix metadata corruption writing lvm1-formatted metadata with snapshots. |
7e305eda | 1780 | Fix lvconvert -m0 allocatable space check. |
f6a88f32 | 1781 | |
a34eeced | 1782 | Version 2.02.35 - 15th April 2008 |
a6b0b935 | 1783 | ================================= |
581b17de | 1784 | Drop cached VG metadata before and after committing changes to it. |
adb57823 | 1785 | Rename P_global to P_#global. |
c4afaa05 | 1786 | Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) |
8b1ae3c1 | 1787 | Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) |
6920681c DW |
1788 | Update vgsplit tests to verify loosening of active LV restriction. |
1789 | Update vgsplit to only restrict split with active LVs involved in split. | |
1790 | Add lv_is_active() to determine whether an lv is active. | |
a6b0b935 | 1791 | |
9d527965 AK |
1792 | Version 2.02.34 - 10th April 2008 |
1793 | ================================= | |
3cde54c5 | 1794 | Improve preferred_names lvm.conf example. |
2e050bfc AK |
1795 | Fix vgdisplay 'Cur LV' field to match lvdisplay output. |
1796 | Fix lv_count report field to exclude hidden LVs. | |
985ca02b | 1797 | Add vg_is_clustered() helper function. |
eec663aa | 1798 | Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. |
f2696211 | 1799 | Update vgsplit tests for lvnames on the cmdline. |
5656911a DW |
1800 | Update vgsplit man page to reflect lvnames on the cmdline. |
1801 | Update vgsplit to take "-n LogicalVolumeName" on the cmdline. | |
eb273c7c | 1802 | Use clustered mirror log with pvmove in clustered VGs, if available. |
178e1df2 | 1803 | Fix some pvmove error status codes. |
9ac3596d | 1804 | Fix vgsplit error paths to release vg_to lock. |
54396b89 AK |
1805 | Indicate whether or not VG is clustered in vgcreate log message. |
1806 | Mention default --clustered setting in vgcreate man page. | |
1807 | Add config file overrides to clvmd when it reads the active LVs list. | |
6eb44b50 AK |
1808 | Fix vgreduce to use vg_split_mdas to check sufficient mdas remain. |
1809 | Add (empty) orphan VGs to lvmcache during initialisation. | |
1810 | Fix orphan VG name used for format_pool. | |
ad607a23 | 1811 | Create a fid for internal orphan VGs. |
d334793f | 1812 | Update lvmcache VG lock state for all locking types now. |
8bf70e11 | 1813 | Fix output if overriding command_names on cmdline. |
5619c629 | 1814 | Add detection of clustered mirror log capability. |
9da5d7ac | 1815 | Add check to vg_commit() ensuring VG lock held before writing new VG metadata. |
d2901a62 | 1816 | Add validation of LV name to pvmove -n. |
ec074fcf | 1817 | Make clvmd refresh the context correctly when lvm.conf is updated. |
906935e5 | 1818 | Add some basic internal VG lock validation. |
bf7dea97 | 1819 | Add per-command flags to control which commands use the VG metadata cache. |
c6cb6ddf AK |
1820 | Fix vgsplit locking of new VG (2.02.30). |
1821 | Avoid erroneous vgsplit error message for new VG. (2.02.29) | |
e283bda9 | 1822 | Suppress duplicate message when lvresize fails because of invalid vgname. |
6e210a6c | 1823 | Cache VG metadata internally while VG lock is held. |
33842916 | 1824 | Fix redundant lvresize message if vg doesn't exist. |
611c0689 | 1825 | Fix another allocation bug with clvmd and large node IDs. |
9332d2cb | 1826 | Add find_lv_in_lv_list() and find_pv_in_pv_list(). |
2aa5120e | 1827 | Fix uninitialised variable in clvmd that could cause odd hangs. |
4f618eba | 1828 | Add vgmerge tests. |
052bbfba | 1829 | Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. |
43aa4637 DW |
1830 | Add list_move() for moving elements from one list to another. |
1831 | Add 'is_reserved_lvname()' for identifying hidden LVs. | |
83465fde | 1832 | Correct command name in lvmdiskscan man page. |
7750a1ad | 1833 | clvmd no longer crashes if it sees nodeids over 50. |
ed070f41 | 1834 | Fix potential deadlock in clvmd thread handling. |
dc2bdce1 | 1835 | Refactor text format initialisation into _init_text_import. |
d4ce89d9 AK |
1836 | Escape double quotes and backslashes in external metadata and config data. |
1837 | Add functions for escaping double quotes in strings. | |
1838 | Rename count_chars_len to count_chars. | |
bcacf9d0 AK |
1839 | Use return_0 in a couple more places. |
1840 | Correct a function name typo in _line_append error message. | |
66db5dd8 | 1841 | Include limits.h in clvmd so it compiles with newer headers. |
810e5001 | 1842 | Add VirtIO disks (virtblk) to filters. |
60be88a0 | 1843 | Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) |
4c0f4125 | 1844 | Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) |
39d3ec0b AK |
1845 | Add missing no-longer-used segs_using_this_lv test to check_lv_segments. |
1846 | Remove redundant non-NULL tests before calling free in clvmd.c. | |
1847 | Avoid a compiler warning: make is_orphan's parameter const. | |
9790f608 | 1848 | Fix lvconvert detection of mirror conversion in progress. (2.02.30) |
b1ec1f87 | 1849 | Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) |
814d9d5b | 1850 | Fix 'pvs -a' to detect VGs of PVs without metadata areas. |
bb097a97 | 1851 | Divide up internal orphan volume group by format type. |
08152c90 | 1852 | Update usage message for clvmd. |
39d3ec0b AK |
1853 | Fix clvmd man page not to print <br> and clarified debug options. |
1854 | Fix lvresize to support /dev/mapper prefix in the LV name. | |
1855 | Fix unfilled parameter passed to fsadm from lvresize. | |
1856 | Update fsadm to call lvresize if the partition size differs (with option -l). | |
1857 | Fix fsadm to support VG/LV names. | |
f2f1da18 | 1858 | |
12aa1a24 | 1859 | Version 2.02.33 - 31st January 2008 |
8abe9ec3 | 1860 | =================================== |
4e9083db AK |
1861 | Fix mirror log name construction during lvconvert. (2.02.30) |
1862 | Make monitor_dev_for_events recurse through the stack of LVs. | |
1863 | Clean up some more compiler warnings. | |
67cdbd7e | 1864 | Some whitespace tidy-ups. |
c51b9fff | 1865 | Use stack return macros throughout. |
962b2a55 | 1866 | Rely upon internally-cached PV labels while corresponding VG lock is held. |
8abe9ec3 | 1867 | |
0dff5864 | 1868 | Version 2.02.32 - 29th January 2008 |
6903d5b2 | 1869 | =================================== |
5dc6c0de | 1870 | Fix two check_lv_segments error messages to show whole segment. |
3d13b467 | 1871 | Refactor mirror log attachment code. |
311961fd | 1872 | Fix internal metadata corruption in lvchange --resync. (2.02.30) |
d39a99b2 | 1873 | Fix new parameter validation in vgsplit and test mode. (2.02.30) |
5a3f869f | 1874 | Remove redundant cnxman-socket.h file from clvmd directory. |
8a19ebf4 | 1875 | Fix pvs, vgs, lvs error exit status on some error paths. |
6903d5b2 | 1876 | |
0293b5f1 | 1877 | Version 2.02.31 - 19th January 2008 |
aced269a | 1878 | =================================== |
0e0a6eb6 | 1879 | Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) |
7644c656 | 1880 | Add very_verbose lvconvert messages. |
51581d4d | 1881 | Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) |
aced269a | 1882 | |
6860fecb | 1883 | Version 2.02.30 - 17th January 2008 |
ce9636b2 | 1884 | =================================== |
0c06de63 | 1885 | Set default readahead to twice maximium stripe size. |
bdb91441 | 1886 | Reinstate VG extent size and stripe size defaults (halved). (2.02.29) |
6860fecb | 1887 | Add lists of stacked LV segments using each LV to the internal metadata. |
72baf0c3 | 1888 | Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. |
fb3226a3 | 1889 | Fix process_all_pvs to detect non-orphans with no MDAs correctly. |
f6dd48b0 | 1890 | Don't use block_on_error with mirror targets version 1.12 and above. |
6860fecb | 1891 | Update vgsplit to accept vgcreate options when new VG is destination. |
f9ddc763 | 1892 | Update vgsplit to accept existing VG as destination. |
272465ea | 1893 | lvconvert waits for completion of initial sync by default. |
2b0968b7 | 1894 | Refactor vgcreate for parameter validation and add tests. |
c9ea4988 | 1895 | Add new convert_lv field to lvs output. |
4a898ae9 | 1896 | Print warning when lvm tools are running as non-root. |
67961c7c | 1897 | Add snapshot dmeventd library (enables dmeventd snapshot monitoring). |
7415ef77 | 1898 | Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. |
a95892f7 | 1899 | Fix a segfault if using pvs with --all argument. (2.02.29) |
48d9a74d | 1900 | Update --uuid argument description in man pages. |
8a77dd46 | 1901 | Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) |
ba0c495d | 1902 | Extend lvconvert to use polldaemon. |
31e9db26 | 1903 | Add support for stacked mirrors. |
a69ab652 | 1904 | Major restructuring of pvmove and lvconvert layer manipulation code. |
f29e7ac5 | 1905 | Replace tools/fsadm with scripts/fsadm.sh. |
dd007cfd AK |
1906 | Append fields to report/pvsegs_cols_verbose. |
1907 | Permit LV segment fields with PV segment reports. | |
1908 | Add seg_start_pe and seg_pe_ranges to reports. | |
ce9636b2 | 1909 | |
5e856ed1 AK |
1910 | Version 2.02.29 - 5th December 2007 |
1911 | =================================== | |
33032891 | 1912 | Make clvmd backup vg metadata on remote nodes. |
3da4613d | 1913 | Refactor pvmove allocation code. |
3e50ea9e AK |
1914 | Decode cluster locking state in log message. |
1915 | Change file locking state messages from debug to very verbose. | |
b6f4f0c7 | 1916 | Fix --addtag to drop @ prefix from name. |
37034fb8 | 1917 | Stop clvmd going haywire if a pre_function fails. |
e5f7352b | 1918 | Convert some vg_reads into vg_lock_and_reads. |
223c62e7 | 1919 | Avoid nested vg_reads when processing PVs in VGs and fix associated locking. |
204a12e5 AK |
1920 | Accept sizes with --readahead argument. |
1921 | Store size arguments as sectors internally. | |
df322f0b | 1922 | Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. |
a6b22cf3 | 1923 | Add read_ahead activation code. |
b4068515 AK |
1924 | Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. |
1925 | Extend readahead arg to accept "auto" and "none". | |
a6b22cf3 | 1926 | Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. |
19c86543 | 1927 | Prevent lvconvert -s from using same LV as origin and snapshot. |
00a7c302 AK |
1928 | Fix human-readable output of odd numbers of sectors. |
1929 | Add pv_mda_free and vg_mda_free fields to reports for raw text format. | |
2b0249ec | 1930 | Add LVM2 version to 'Generated by' comment in metadata. |
fd4ff5d2 AK |
1931 | Show 'not usable' space when PV is too large for device in pvdisplay. |
1932 | Ignore and fix up any excessive device size found in metadata. | |
612548c0 | 1933 | Fix error message when fixing up PV size in lvm2 metadata (2.02.11). |
d38bf361 AK |
1934 | Fix orphan-related locking in pvdisplay and pvs. |
1935 | Fix missing VG unlocks in some pvchange error paths. | |
1936 | Add some missing validation of VG names. | |
1937 | Rename validate_vg_name() to validate_new_vg_name(). | |
1938 | Change orphan lock to VG_ORPHANS. | |
1939 | Change format1 to use ORPHAN as orphan VG name. | |
9c1dbeb3 | 1940 | Convert pvchange, pvdisplay, pvscan to use is_orphan() |
d38bf361 | 1941 | Add is_orphan_vg() and change all hard-coded checks to use it. |
47c06763 | 1942 | Detect md superblocks version 1.0, 1.1 and 1.2. |
0283c439 | 1943 | Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. |
1b8de4cb | 1944 | Add pv_dev_name() to access PV device name. |
70d9f98e | 1945 | Add const attributes to pv accessor functions. |
0283c439 | 1946 | Refactor vg_add_snapshot() and lv_create_empty(). |
6aca8e92 | 1947 | Handle new sysfs subsystem/block/devices directory structure. |
5e856ed1 | 1948 | Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. |
da08e40f | 1949 | Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. |
216283b6 | 1950 | Fix underquotations in lvm_dump.sh. |
479921f1 | 1951 | Refactor lvcreate stripe and mirror parameter validation. |
5e856ed1 AK |
1952 | Print --help output to stdout, not stderr. |
1953 | After a cmdline processing error, don't print help text but suggest --help. | |
dfef7f69 | 1954 | Add %PVS extents option to lvresize, lvextend, and lvcreate. |
b680c5c6 | 1955 | Add 'make check' to run tests in new subdirectory 'test'. |
d5f554ab | 1956 | Moved the obsolete test subdirectory to old-tests. |
b680c5c6 | 1957 | Cope with relative paths in configure --with-dmdir. |
13aba081 | 1958 | Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. |
9eea0107 | 1959 | Fix strdup memory leak in str_list_dup(). |
533a024a AK |
1960 | Link with -lpthread when static SELinux libraries require that. |
1961 | Detect command line PE values that exceed their 32-bit range. | |
b45b8464 | 1962 | Include strerror string in dev_open_flags' stat failure message. |
c6ea067f | 1963 | Move guts of pvresize into library. |
2b849ab4 AK |
1964 | Avoid error when --corelog is provided without --mirrorlog. (2.02.28) |
1965 | Correct --mirrorlog argument name in man pages (not --log). | |
1966 | Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear. | |
f603fe64 DW |
1967 | Modify lvremove to prompt for removal if LV active on other cluster nodes. |
1968 | Add '-f' to vgremove to force removal of VG even if LVs exist. | |
b45b8464 | 1969 | |
230948b9 AK |
1970 | Version 2.02.28 - 24th August 2007 |
1971 | ================================== | |
d2fb8b66 | 1972 | Fix clvmd logging so you can get lvm-level debugging out of it. |
e935d217 | 1973 | Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. |
230948b9 | 1974 | Change locking_flags from int to uint32_t. |
88fc506b | 1975 | Fix clvmd -R, so it fully refreshes the caches. |
3b3948f1 | 1976 | Change lvconvert_mirrors to use mirror segtype not striped. |
ea041b12 | 1977 | Fix lvconvert_mirrors detection of number of existing mirrors. |
230948b9 | 1978 | Clean up numerous compiler warnings that appeared in recent releases. |
21bc3664 | 1979 | Remove several unused parameters from _allocate(). |
edb3374d | 1980 | Only permit --force, --verbose and --debug arguments to be repeated. |
be684599 | 1981 | Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. |
230948b9 AK |
1982 | Move guts of vgremove and lvremove into library, including yes_no_prompt. |
1983 | Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C]. | |
7a197a62 | 1984 | Update to use autoconf 2.61, while still supporting 2.57. |
230948b9 AK |
1985 | Add more cluster info to lvmdump. |
1986 | Add further const attributes throughout. | |
48bb503f | 1987 | Add support for renaming mirrored LVs. |
230948b9 | 1988 | Factor out core of lvrename() to library function. |
edb3374d | 1989 | Add --mirrorlog argument to specify log type for mirrors. |
230948b9 AK |
1990 | Don't attempt to monitor devices if their creation failed in _lv_activate. |
1991 | Don't leak a file descriptor in fcntl_lock_file() when fcntl fails. | |
edb3374d | 1992 | Replace create_dir with dm_create_dir. |
230948b9 | 1993 | Detect stream write failure reliably with lvm_fclose using dm_fclose. |
3c116860 | 1994 | Fix clvmd if compiled with gulm support. (2.02.26) |
230948b9 | 1995 | Fix lvdisplay man page to say LV size is reported in sectors, not KB. |
891c3d29 | 1996 | Add vg_lock_and_read() external library function. |
8a0de6c3 | 1997 | Fix loading of persistent cache if cache_dir is used. (2.02.23) |
230948b9 AK |
1998 | Reduce _compare_paths lstat error message from log_error to log_very_verbose. |
1999 | Create util.h with last_path_component replacing strdup + basename. | |
bbcd2460 | 2000 | Use gcc's printf attribute wherever possible. |
230948b9 | 2001 | In _line_append, use "sizeof buf - 1" rather than equivalent "4095". |
c93e6b5f | 2002 | Introduce is_same_inode macro, now including a comparison of st_dev. |
230948b9 | 2003 | Don't leak a file descriptor in _lock_file() when flock fails. |
3579b652 | 2004 | Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. |
03eee0e2 | 2005 | Split metadata-external.h out from metadata.h for the tools to use. |
f5840016 | 2006 | |
6fb02eb2 | 2007 | Version 2.02.27 - 17th July 2007 |
6dee7d31 | 2008 | ================================ |
5b7d1629 | 2009 | Fix snapshot cow area deactivation if origin is not active. (2.02.13) |
d1158c75 | 2010 | Fix configure libdevmapper.h check when --with-dmdir is used. |
0c795e2e | 2011 | Turn _add_pv_to_vg() into external library function add_pv_to_vg(). |
33e56019 | 2012 | Add pv_by_path() external library function. |
b3ae66ae | 2013 | Tidy clvmd-openais of redundant bits, and improve an error report. |
3c21da17 | 2014 | Cope with find_seg_by_le() failure in check_lv_segments(). |
fb697f28 | 2015 | Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. |
d27e1233 | 2016 | Add vg_mda_count and pv_mda_count columns to reports. |
68c87619 | 2017 | Fix dumpconfig to use log_print instead of stdout directly. |
fba549f8 | 2018 | Remove unused parameter 'fid' from _add_pv_to_vg. |
68c87619 AK |
2019 | Add kernel and device-mapper targets versions to lvmdump. |
2020 | Replace BSD (r)index with C89 str(r)chr. | |
2021 | Handle vgsplit of an entire VG as a vgrename. | |
2022 | Reinitialise internal lvmdiskscan variables when called repeatedly. | |
86df68f3 | 2023 | Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) |
69483a8a | 2024 | Add vg_status function and clean up vg->status in tools directory. |
53c774b9 | 2025 | Add --ignoremonitoring to disable all dmeventd interaction. |
69483a8a | 2026 | Remove get_ prefix from get_pv_* functions. |
8e2f0361 | 2027 | clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. |
e7ddf416 | 2028 | Print warnings to stderr instead of stdout. |
6dee7d31 | 2029 | |
8f1fb4ad AK |
2030 | Version 2.02.26 - 15th June 2007 |
2031 | ================================ | |
1471bc87 | 2032 | Update vgcfgrestore man page. |
8f1fb4ad AK |
2033 | Allow keyboard interrupt during user prompts when appropriate. |
2034 | Remove unused clvmd system-lv code. | |
2035 | Replace many physical_volume struct dereferences with new get_pv_* functions. | |
2036 | Suppress a benign compile-time warning. | |
b496210d | 2037 | Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. |
4e5f3e73 | 2038 | Add wrappers to some functions in preparation for external LVM library. |
8f1fb4ad | 2039 | Add -f to vgcfgrestore to list metadata backup files. |
c221b0bc | 2040 | Add vg_check_status to consolidate vg status checks and error messages. |
5a4ba89a | 2041 | Add pvdisplay --maps implementation. |
8f1fb4ad AK |
2042 | Remove unsupported LVM1 options from vgcfgrestore man page. |
2043 | Update vgcfgrestore man page to show mandatory VG name. | |
2044 | Update vgrename man page to include UUID and be consistent with lvrename. | |
59231b56 | 2045 | Add (experimental) OpenAIS support to clvmd. |
8f1fb4ad | 2046 | Fix deactivation code to follow dependencies and remove symlinks. |
b3b0f199 | 2047 | Fix and clarify vgsplit error messages. |
8f1fb4ad AK |
2048 | Fix a segfault in device_is_usable() if a device has no table. |
2049 | Add some more debug messages to clvmd startup. | |
2050 | Misc clvmd cleanups. | |
ffd5c5c8 | 2051 | |
e3a12d14 | 2052 | Version 2.02.25 - 27th April 2007 |
a8f51fa2 | 2053 | ================================= |
19eb95f7 | 2054 | Fix get_config_uint64() to read a 64-bit value not a 32-bit one. |
7c03887b | 2055 | Add -Wformat-security and change one fprintf() to fputs(). |
e6edd1d7 | 2056 | Move regex functions into libdevmapper. |
1bf5aae9 | 2057 | Change some #include lines to search only standard system directories. |
4f2f566b AK |
2058 | Add devices/preferred_names config regex list for displayed device names. |
2059 | Free a temporary dir string in fcntl_lock_file() after use. | |
2060 | Fix a dm_pool_destroy() in matcher_create(). | |
2061 | Introduce goto_bad macro. | |
2062 | Fix warnings on x86_64 involving ptrdiff_t in log_error messages. | |
2063 | Update pvck to include text metadata area and record detection. | |
2064 | Add support functions for token counting in config file extracts. | |
2065 | Update pvck to read labels on disk, with --labelsector parameter. | |
2066 | Add count_chars and count_chars_len functions. | |
2067 | Add /sys/block listings to lvm_dump.sh. | |
2068 | Make lvm_dump.sh list /dev recursively. | |
05aa860f | 2069 | Fix thread race in clvmd. |
17a6fc0b | 2070 | Add scan_sector param to label_read and _find_labeller. |
4f2f566b AK |
2071 | Make clvmd cope with quorum devices. |
2072 | Add extra internal error checking to clvmd. | |
662e0238 | 2073 | Add dev_read_circular. |
cc5a4e1d | 2074 | Add pvck command stub. |
b4fb5226 AK |
2075 | Update lists of attribute characters in man pages. |
2076 | Change cling alloc policy attribute character from 'C' to l'. | |
5d06515c | 2077 | Fix creation and conversion of mirrors with tags. |
851002b8 MB |
2078 | Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). |
2079 | Split metadata areas in vgsplit properly. | |
a8f51fa2 | 2080 | |
91dc07af AK |
2081 | Version 2.02.24 - 19th March 2007 |
2082 | ================================= | |
eca7ef18 | 2083 | Fix processing of exit status in init scripts |
d330e660 | 2084 | Fix vgremove to require at least one vg argument. |
74e2acb6 AK |
2085 | Fix reading of striped LVs in LVM1 format. |
2086 | Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) | |
b9b26011 | 2087 | Add a few missing pieces of vgname command line validation. |
9397354a | 2088 | Support the /dev/mapper prefix on most command lines. |
13e5d242 AK |
2089 | |
2090 | Version 2.02.23 - 8th March 2007 | |
2091 | ================================ | |
b45c9f49 | 2092 | Fix vgrename active LV check to ignore differing vgids. |
8fe54fdd | 2093 | Remove no-longer-used uuid_out parameter from activation info functions. |
af914569 | 2094 | Fix two more segfaults if an empty config file section encountered. |
87cec8eb AK |
2095 | Move .cache file into a new /etc/lvm/cache directory by default. |
2096 | Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache. | |
2097 | Create directory in fcntl_lock_file() if required. | |
f359c9b8 | 2098 | Exclude readline support from lvm.static. |
0558b928 | 2099 | Fix a leak in a reporting error path (2.02.19). |
2f2c9932 | 2100 | |
187c689f AK |
2101 | Version 2.02.22 - 13th February 2007 |
2102 | ==================================== | |
d8ff86fd AK |
2103 | Correct -b and -P on a couple of man pages. |
2104 | Add global/units to example.conf. | |
e09dfed8 | 2105 | Fix loading of segment_libraries. |
37fb985a AK |
2106 | If a PV reappears after it was removed from its VG, make it an orphan. |
2107 | Don't update metadata automatically if VGIDs don't match. | |
aa350ef4 | 2108 | Fix some vgreduce --removemissing command line validation. |
612209c8 | 2109 | |
f21f60d5 | 2110 | Version 2.02.21 - 30th January 2007 |
67fa4fd4 | 2111 | =================================== |
319e74e2 | 2112 | Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. |
ce4c3310 AK |
2113 | Fix vgsplit to handle mirrors. |
2114 | Reorder fields in reporting field definitions. | |
898b3d4d | 2115 | Fix vgs to treat args as VGs even when PV fields are displayed. |
fce67134 | 2116 | Fix md signature check to handle both endiannesses. |
67fa4fd4 | 2117 | |
667eb775 | 2118 | Version 2.02.20 - 25th January 2007 |
07473c2b | 2119 | =================================== |
aca04336 | 2120 | dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. |
f247a4e7 | 2121 | Add devices/ignore_suspended_devices to ignore suspended dm devices. |
2e1b92e3 AK |
2122 | Add some missing close() and fclose() return code checks. |
2123 | Fix exit statuses of reporting tools (2.02.19). | |
00fc37f1 | 2124 | Add init script for dmeventd monitoring. |
20db8ffc | 2125 | lvm.static no longer interacts with dmeventd unless explicitly asked to. |
57fc4cc0 AK |
2126 | Add field definitions to report help text. |
2127 | Remove unnecessary cmd arg from target_*monitor_events(). | |
3329c698 | 2128 | Add private variable to dmeventd shared library interface. |
dd9927bc | 2129 | Long-lived processes write out persistent dev cache in refresh_toolcontext(). |
f72de1dc AK |
2130 | Fix refresh_toolcontext() always to wipe persistent device filter cache. |
2131 | Add is_long_lived to toolcontext. | |
147b7d5e | 2132 | Add --clustered to man pages. |
7fee061a | 2133 | Streamline dm_report_field_* interface. |
8a37910d | 2134 | Change remaining dmeventd terminology 'register' to 'monitor'. |
10232bd9 | 2135 | Update reporting man pages. |
147b7d5e | 2136 | No longer necessary to specify alignment type for report fields. |
07473c2b | 2137 | |
c3afa8df | 2138 | Version 2.02.19 - 17th January 2007 |
99a4014f | 2139 | =================================== |
6a91a99b | 2140 | Fix a segfault if an empty config file section encountered. |
d838a1e3 | 2141 | Move basic reporting functions into libdevmapper. |
b1ab8b00 AK |
2142 | Fix partition table processing after sparc changes (2.02.16). |
2143 | Fix cmdline PE range processing segfault (2.02.13). | |
02059c81 | 2144 | Some libdevmapper-event interface changes. |
8ef6eb30 AK |
2145 | Report dmeventd mirror monitoring status. |
2146 | Fix dmeventd mirror status line processing. | |
99a4014f | 2147 | |
96710ad8 AK |
2148 | Version 2.02.18 - 11th January 2007 |
2149 | =================================== | |
6b36e863 | 2150 | Revised libdevmapper-event interface for dmeventd. |
65e635b6 | 2151 | Remove dmeventd mirror status line word limit. |
3b007b27 | 2152 | Use CFLAGS when linking so mixed sparc builds can supply -m64. |
fb12fd44 AK |
2153 | Prevent permission changes on active mirrors. |
2154 | Print warning instead of error message if lvconvert cannot zero volume. | |
2155 | Add snapshot options to lvconvert man page. | |
2eeb2a1f AK |
2156 | dumpconfig accepts a list of configuration variables to display. |
2157 | Change dumpconfig to use --file to redirect output to a file. | |
7c0cd273 | 2158 | Avoid vgreduce error when mirror code removes the log LV. |
7cb59417 | 2159 | Remove 3 redundant AC_MSG_RESULTs from configure.in. |
e62436fc AK |
2160 | Free memory in _raw_read_mda_header() error paths. |
2161 | Fix ambiguous vgsplit error message for split LV. | |
2162 | Fix lvextend man page typo. | |
33f732c5 AK |
2163 | Add configure --with-dmdir to compile against a device-mapper source tree. |
2164 | Use no flush suspending for mirrors. | |
6032a223 | 2165 | Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. |
aa8a4d96 | 2166 | Fix create mirror with name longer than 22 chars. |
0ce83a83 | 2167 | Fix some activate.c prototypes when compiled without devmapper. |
0c8569ed | 2168 | Fix dmeventd mirror to cope if monitored device disappears. |
1a42d65a | 2169 | |
dced1554 AK |
2170 | Version 2.02.17 - 14th December 2006 |
2171 | ==================================== | |
67e6c7e7 | 2172 | Add missing pvremove error message when device doesn't exist. |
5b61ca72 AK |
2173 | When lvconvert allocates a mirror log, respect parallel area constraints. |
2174 | Use loop to iterate through the now-ordered policy list in _allocate(). | |
2175 | Check for failure to allocate just the mirror log. | |
2176 | Introduce calc_area_multiple(). | |
2177 | Support mirror log allocation when there is only one PV: area_count now 0. | |
948ee3e3 | 2178 | Fix detection of smallest area in _alloc_parallel_area() for cling policy. |
699b275a | 2179 | Add manpage entry for clvmd -T |
e3e6eba1 | 2180 | Fix gulm operation of clvmd, including a hang when doing lvchange -aey |
47436a42 | 2181 | Fix hang in clvmd if a pre-command failed. |
193992de | 2182 | |
b3bafefd AK |
2183 | Version 2.02.16 - 1st December 2006 |
2184 | =================================== | |
0357f18e | 2185 | Fix VG clustered read locks to use PR not CR. |
4dc0ec22 | 2186 | Adjust some alignments for ia64/sparc. |
6c48fe74 | 2187 | Fix mirror segment removal to use temporary error segment. |
a16f48e3 PC |
2188 | Always compile debug logging into clvmd. |
2189 | Add startup timeout to RHEL4 clvmd startup script. | |
bd8be78c | 2190 | Add -T (startup timeout) switch to clvmd. |
d9cc9173 | 2191 | Improve lvm_dump.sh robustness. |
066ac2ef | 2192 | Update lvm2create_initrd to support gentoo. |
55b5ce87 | 2193 | |
efecd5c1 | 2194 | Version 2.02.15 - 21st November 2006 |
3b276539 | 2195 | ==================================== |
efecd5c1 | 2196 | Fix clvmd_init_rhel4 line truncation (2.02.14). |
4eee5764 | 2197 | Install lvmdump by default. |
25375165 | 2198 | Fix check for snapshot module when activating snapshot. |
ba4f5d80 | 2199 | Fix pvremove error path for case when PV is in use. |
9f7e7709 | 2200 | Warn if certain duplicate config file entries are seen. |
15545b91 | 2201 | Enhance lvm_dump.sh for sysreport integration and add man page. |
b65e33f4 | 2202 | Fix --autobackup argument which could never disable backups. |
deb202bd | 2203 | Fix a label_verify error path. |
3b276539 | 2204 | |
9f74b2fc AK |
2205 | Version 2.02.14 - 10th November 2006 |
2206 | ==================================== | |
f96cde8c AK |
2207 | Fix adjusted_mirror_region_size() to handle 64-bit size. |
2208 | Add some missing bounds checks on 32-bit extent counters. | |
a89d6014 AK |
2209 | Add Petabyte and Exabyte support. |
2210 | Fix lvcreate error message when 0 extents requested. | |
581e8111 | 2211 | lvremove man page: volumes must be cluster inactive before being removed. |
c1c16a8f AK |
2212 | Protect .cache manipulations with fcntl locking. |
2213 | Change .cache timestamp comparisons to use ctime. | |
1c3c2df9 | 2214 | Fix mirror log LV writing to set all bits in whole LV. |
df52a8b5 | 2215 | Fix clustered VG detection and default runlevels in clvmd_init_rhel4. |
c8902451 | 2216 | Fix high-level free space check for partial allocations. |
7d1c3fcd | 2217 | |
ffe524cc | 2218 | Version 2.02.13 - 27th October 2006 |
38a5f0b6 | 2219 | =================================== |
7f31917d | 2220 | Add couple of missing files to tools/Makefile CLEAN_TARGETS. |
013577fb | 2221 | When adding snapshot leave cow LV mapped device active after zeroing. |
99d00efa | 2222 | Fix a clvmd debug message. |
4098f628 | 2223 | Add dev_flush() to set_lv(). |
e51d50a1 | 2224 | Add lvchange --resync. |
2bdc8e12 | 2225 | Perform high-level free space check before each allocation attempt. |
77fcc207 | 2226 | Don't allow a node to remove an LV that's exclusively active on anther node. |
9766c3c9 | 2227 | Cope if same PV is included more than once in cmdline PE range list. |
b16b9c2b | 2228 | Set PV size to current device size if it is found to be zero. |
7c5ec126 | 2229 | Add segment parameter to target_present functions. |
38a5f0b6 | 2230 | |
0b0fd330 | 2231 | Version 2.02.12 - 16th October 2006 |
89a4e806 | 2232 | =================================== |
e663b4e8 | 2233 | Fix pvdisplay to use vg_read() for non-orphans. |
04dabc15 | 2234 | Fall back to internal locking if external locking lib is missing or fails. |
a590f3b6 AK |
2235 | Retain activation state after changing LV minor number with --force. |
2236 | Propagate clustered flag in vgsplit and require resizeable flag. | |
89a4e806 | 2237 | |
181b5f00 AK |
2238 | Version 2.02.11 - 12th October 2006 |
2239 | =================================== | |
efa483c5 | 2240 | Add clvmd function to return the cluster name. not used by LVM yet. |
de5c82a0 | 2241 | Add cling allocation policy. |
4a2ca1b9 | 2242 | Change _check_contiguous() to use _for_each_pv(). |
b6f85520 AK |
2243 | Extend _for_each_pv() to allow termination without error. |
2244 | Abstract _is_contiguous(). | |
68d7c0e6 | 2245 | Remove duplicated pv arg from _check_contiguous(). |
705eabf7 | 2246 | Accept regionsize with lvconvert. |
d547cbb0 AK |
2247 | Add report columns with underscore before field names ending 'size'. |
2248 | Correct regionsize default on lvcreate man page (MB). | |
e37a2415 | 2249 | Fix clvmd bug that could cause it to die when a node with a long name crashed. |
b4e2a0e1 | 2250 | Add device size to text metadata. |
209f03f2 | 2251 | Fix format_text mda_setup pv->size and pv_setup pe_count calculations. |
8d18637e | 2252 | Fix _for_each_pv() for mirror with core log. |
92921054 | 2253 | Add lvm_dump.sh script to create a tarball of debugging info from a system. |
2a7f7fc1 | 2254 | Capture error messages in clvmd and pass them back to the user. |
7089e02c | 2255 | Remove unused #defines from filter-md.c. |
dc9dcb3d | 2256 | Make clvmd restart init script wait until clvmd has died before starting it. |
13583874 | 2257 | Add -R to clvmd which tells running clvmds to reload their device cache. |
6c81ed26 | 2258 | Add LV column to reports listing kernel modules needed for activation. |
1baed0e1 | 2259 | Show available fields if report given invalid field. (e.g. lvs -o list) |
8b1a3214 | 2260 | Add timestamp functions with --disable-realtime configure option. |
34fadac4 | 2261 | Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. |
5095de51 | 2262 | Fix two potential NULL pointer derefs in error cases in vg_read(). |
e0a26692 | 2263 | Separate --enable-cluster from locking lib options in lvmconf.sh. |
d1a1e1a3 | 2264 | Add a missing comma in lvcreate man page. |
71fc0206 | 2265 | |
19513ad8 AK |
2266 | Version 2.02.10 - 19th September 2006 |
2267 | ===================================== | |
13ba0f94 AK |
2268 | Fix lvconvert mirror change case detection logic. |
2269 | Fix mirror log detachment so it correctly becomes a standalone LV. | |
bbb06856 AK |
2270 | Extend _check_contiguous() to detect single-area LVs. |
2271 | Include mirror log (untested) in _for_each_pv() processing. | |
2272 | Use MIRROR_LOG_SIZE constant. | |
2273 | Remove struct seg_pvs from _for_each_pv() to generalise. | |
2274 | Avoid adding duplicates to list of parallel PVs to avoid. | |
d9c6bbab AK |
2275 | Fix several incorrect comparisons in parallel area avoidance code. |
2276 | Fix segment lengths when flattening existing parallel areas. | |
2277 | Log existing parallel areas prior to allocation. | |
2278 | Fix mirror log creation when activation disabled. | |
fe748f00 | 2279 | Don't attempt automatic recovery without proper locking. |
dc4d7417 AK |
2280 | When using local file locking, skip clustered VGs. |
2281 | Add fallback_to_clustered_locking and fallback_to_local_locking parameters. | |
a45da5f6 AK |
2282 | lvm.static uses built-in cluster locking instead of external locking. |
2283 | Don't attempt to load shared libraries if built statically. | |
1c792fad | 2284 | Change default locking_lib to liblvm2clusterlock.so. |
08c060cf AK |
2285 | Add skip_dev_dir() to process command line VGs. |
2286 | Stop clvmd complaining about nodes that have left the cluster. | |
0550c1b6 | 2287 | Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. |
48432c88 AK |
2288 | Add lvconvert man page. |
2289 | Add mirror options to man pages. | |
d68336a5 | 2290 | Prevent mirror renames. |
6711231a | 2291 | Move CMDLIB code into separate file and record whether static build. |
ade81b8a | 2292 | |
086b63ca | 2293 | Version 2.02.09 - 17th August 2006 |
64c84579 | 2294 | ================================== |
94d501ed | 2295 | Fix PE_ALIGN for pagesize over 32KB. |
b5d761e1 | 2296 | Separate out LVM1_PE_ALIGN and pe_align(). |
916490f8 | 2297 | Add lvm_getpagesize wrapper. |
e95d8284 | 2298 | Add --maxphysicalvolumes to vgchange. |
64c84579 | 2299 | |
a9a6934b AK |
2300 | Version 2.02.08 - 15th August 2006 |
2301 | ================================== | |
438abca8 AK |
2302 | Add checks for duplicate LV name, lvid and PV id before writing metadata. |
2303 | Report all sanity check failures, not just the first. | |
9cd3426d | 2304 | Fix missing lockfs on first snapshot creation. |
e3ad1d19 | 2305 | Add unreliable --trustcache option to reporting commands. |
8b0d546f | 2306 | Fix locking for mimage removal. |
b813f533 | 2307 | Fix clvmd_init_rhel4 'status' exit code. |
7a21367d | 2308 | |
cecdabd9 AK |
2309 | Version 2.02.07 - 17th July 2006 |
2310 | ================================ | |
443a8f76 | 2311 | Fix activation logic in lvchange --persistent. |
fe686a51 | 2312 | Don't ignore persistent minor numbers when activating. |
0b431b8a | 2313 | Use RTLD_GLOBAL when loading shared libraries. |
e67ed94b | 2314 | Add some forgotten memlock checks to _vg_read to protect against full scans. |
f1dc5cc9 AK |
2315 | Add mutex to dmeventd_mirror to avoid concurrent execution. |
2316 | Fix vgreduce --removemissing to return success if VG is already consistent. | |
4bfab20a | 2317 | Fix return code if VG specified on command line is not found. |
2415c1ef AK |
2318 | Fix PV tools to include orphaned PVs in default output again. |
2319 | Fixed unaligned access when using clvm. | |
9f100d60 | 2320 | Fix an extra dev_close in a label_read error path. |
4cd33f98 | 2321 | Append patches to commit emails. |
4aae7246 | 2322 | Fix target_register_events args. |
83de5aa6 | 2323 | Prevent snapshots of mirrors. |
aba30ebc AK |
2324 | Add DISTCLEAN_TARGETS to make template for configure.h. |
2325 | More fixes to error paths. | |
2293567c AK |
2326 | Fix lvcreate corelog validation. |
2327 | Add --config for overriding most config file settings from cmdline. | |
2328 | Quote arguments when printing command line. | |
2329 | Remove linefeed from 'initialising logging' message. | |
2330 | Add 'Completed' debug message. | |
2331 | Don't attempt library exit after reloading config files. | |
2332 | Always compile with libdevmapper, even if device-mapper is disabled. | |
476d09d0 | 2333 | |
396cbbde AK |
2334 | Version 2.02.06 - 12th May 2006 |
2335 | =============================== | |
3e3d5d85 AK |
2336 | Propagate --monitor around cluster. |
2337 | Add --monitor to vgcreate and lvcreate to control dmeventd registration. | |
2338 | Filter LCK_NONBLOCK in clvmd lock_vg. | |
de828433 | 2339 | Add --nosync to lvcreate with LV flag NOTSYNCED. |
49fba23c | 2340 | Use mirror's uuid for a core log. |
aeb2c277 AK |
2341 | Add mirror log fault-handling policy. |
2342 | Improve mirror warning messages and tidy dmeventd syslog output. | |
526a3c21 | 2343 | Propagate nosync flag around cluster. |
532dae48 | 2344 | Allow vgreduce to handle mirror log failures. |
f17f6814 | 2345 | Add --corelog to lvcreate and lvconvert. |
5c9d70c9 AK |
2346 | Create a log header for replacement in-sync mirror log. |
2347 | Use set_lv() and dev_set() to wipe sections of devices. | |
2348 | Add mirror_in_sync() flag to avoid unnecessary resync on activation. | |
898e6f8e | 2349 | Add mirror_library description to example.conf. |
eba586f0 | 2350 | Fix uuid_from_num() buffer overrun. |
72b2cb61 AK |
2351 | Make SIZE_SHORT the default for display_size(). |
2352 | Fix some memory leaks in error paths found by coverity. | |
2353 | Use C99 struct initialisers. | |
2354 | Move DEFS into configure.h. | |
2355 | Clean-ups to remove miscellaneous compiler warnings. | |
12de747d AK |
2356 | Improve stripe size validation. |
2357 | Increase maximum stripe size limit to physical extent size for lvm2 metadata. | |
2f1489a6 | 2358 | Fix activation code to check for pre-existing mirror logs. |
089ae9a5 | 2359 | Tighten region size validation. |
81b4308b | 2360 | Ignore empty strings in config files. |
12ccdb25 | 2361 | Require non-zero regionsize and document parameter on lvcreate man page. |
26b25249 AK |
2362 | Invalidate cache if composition of VG changed externally. |
2363 | ||
05ffaffe | 2364 | Version 2.02.05 - 21st April 2006 |
c05fbac2 | 2365 | ================================= |
05ffaffe | 2366 | Fix vgid string termination in recent cache code. |
c05fbac2 | 2367 | |
13eadfc9 | 2368 | Version 2.02.04 - 19th April 2006 |
3ab3766f | 2369 | ================================= |
8a2fc586 AK |
2370 | Check for libsepol. |
2371 | Add some cflow & scope support. | |
2372 | Separate out DEFS from CFLAGS. | |
2373 | Remove inlines and use unique function names. | |
3ab3766f | 2374 | |
7fae84d7 AK |
2375 | Version 2.02.03 - 14th April 2006 |
2376 | ================================= | |
dbd3026f | 2377 | vgrename accepts vgid and exported VG. |
f855ac38 | 2378 | Add --partial to pvs. |
2ab16287 AK |
2379 | When choosing between identically-named VGs, also consider creation_host. |
2380 | Provide total log suppression with 2. | |
a5fe5a7c AK |
2381 | Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct. |
2382 | Add vgid to struct physical_volume and pass with vg_name to some functions. | |
e8db7023 | 2383 | If two or more VGs are found with the same name, use one that is not exported. |
f084e627 | 2384 | Whenever vgname is captured, also capture vgid and whether exported. |
cced28da | 2385 | Remove an incorrect unlock_vg() from process_each_lv(). |
76f97cd7 | 2386 | Update extent size information in vgchange and vgcreate man pages. |
ace652e6 | 2387 | Introduce origin_from_cow() and lv_is_visible(). |
7810d55d | 2388 | pvremove without -f now fails if there's no PV label. |
1c8b86c7 | 2389 | Support lvconvert -s. |
1a01b0c1 | 2390 | Suppress locking library load failure message if --ignorelockingfailure. |
9f5d8283 | 2391 | Propagate partial mode around cluster. |
d6207798 | 2392 | Fix archive file expiration. |
ed2b1bc5 | 2393 | Fix dmeventd build. |
e7f55bb4 | 2394 | clvmd now uses libcman rather than cman ioctls. |
a3167672 | 2395 | clvmd will allow new cman to shutdown on request. |
ed2b1bc5 | 2396 | |
b5f90860 AK |
2397 | Version 2.02.02 - 7th February 2006 |
2398 | =================================== | |
f0c9fe01 | 2399 | Add %.so: %.a make template rule. |
e4c11ad1 AK |
2400 | Switchover library building to use LIB_SUFFIX. |
2401 | Only do lockfs filesystem sync when suspending snapshots. | |
bfe2b548 | 2402 | Always print warning if activation is disabled. |
079ac15e | 2403 | vgreduce removes mirror images. |
c9dcba6b | 2404 | Add --mirrorsonly to vgreduce. |
3fc3e48c | 2405 | vgreduce replaces active LVs with error segment before removing them. |
bbf83db1 AK |
2406 | Set block_on_error parameter if available. |
2407 | Add target_version. | |
cad9fac9 | 2408 | Add details to format1 'Invalid LV in extent map' error message. |
e6493477 | 2409 | Fix lvscan snapshot full display. |
15d91f5a | 2410 | Bring lvdisplay man page example into line. |
06f62ad1 | 2411 | Add mirror dmeventd library. |
e2619d9e AK |
2412 | Add some activation logic to remove_mirror_images(). |
2413 | lvconvert can remove specified PVs from a mirror. | |
2414 | lvconvert turns an existing LV into a mirror. | |
2415 | Allow signed mirrors arguments. | |
2416 | Move create_mirror_log() into toollib. | |
c27920b1 | 2417 | Determine parallel PVs to avoid with ALLOC_NORMAL allocation. |
2fb492f6 | 2418 | Fix lv_empty. |
ebf78e7d | 2419 | |
20e5495e | 2420 | Version 2.02.01 - 23rd November 2005 |
0c32d9db | 2421 | ==================================== |
f3ce273f | 2422 | Fix lvdisplay cmdline to accept snapshots. |
349216a6 | 2423 | Fix open RO->RW promotion. |
749caf94 | 2424 | Fix missing vg_revert in lvcreate error path. |
0c32d9db | 2425 | |
da5edd8e AK |
2426 | Version 2.02.00 - 10th November 2005 |
2427 | ==================================== | |
b79c897e | 2428 | Extend allocation areas to avoid overflow with contiguous with other PVs. |
ad6b0ebb AK |
2429 | Stop lvcreate attempting to wipe zero or error segments. |
2430 | Added new lvs table attributes. | |
2431 | Separated out activation preload. | |
2432 | Moved activation functions into libdevmapper. | |
2433 | Fixed build_dm_name. | |
2434 | Add return macros. | |
436d3694 | 2435 | Added xen xvd devices. |
7a593325 | 2436 | Clear up precommitted metadata better. |
3bf5f6f5 | 2437 | A pvresize implementation. |
a78c7609 | 2438 | Fix contiguous allocation when there are no preceding segments. |
5727a8fa | 2439 | Add mirror_seg pointer to lv_segment struct. |
5f5355cb | 2440 | Only keep a device open if it's known to belong to a locked VG. |
f9a8e6ee | 2441 | Fix lvdisplay to show all mirror destinations. |
76c8ddc0 | 2442 | Replacement suspend code using libdevmapper dependency tree. |
352a99b9 AK |
2443 | Add DEFS to make.tmpl. |
2444 | Use dm_is_dm_major instead of local copy. | |
2445 | Allow mapped devices to be used as PVs. | |
ffbfce30 | 2446 | Move set_selinux_context into libdevmapper. |
78aa12e1 AK |
2447 | Fix automatic text metadata buffer expansion (using macro). |
2448 | Cache formatted text metadata buffer between metadata area writes. | |
31b5c6e6 | 2449 | Add pe_start field to pvs. |
03b49fe1 | 2450 | Add 'LVM-' prefix to uuids. |
06820362 | 2451 | Split lv_segment_area from lv_segment to permit extension. |
9fdc84c3 | 2452 | Replacement deactivation code using libdevmapper dependency tree. |
f894b4b1 | 2453 | Simplify dev_manager_info(). |
a653923f | 2454 | Attempt to load missing targets using modprobe. |
191abde9 | 2455 | Add -a to lvscan. |
2262b320 AK |
2456 | Move mknodes into libdevmapper. |
2457 | Move bitset, hash, pool and dbg_malloc into libdevmapper. | |
58d83f1a | 2458 | |
9aa2fec0 AK |
2459 | Version 2.01.15 - 16th October 2005 |
2460 | =================================== | |
9b02bdbc | 2461 | Refuse to run pvcreate/pvremove on devices we can't open exclusively. |
9c9e30cd | 2462 | Use ORPHAN lock definition throughout. |
0858a992 | 2463 | Validate chunksize in lvcreate. |
2b96712a | 2464 | Reduce chunksize limit to 512k. |
88d2bdc6 | 2465 | Fix chunksize field in reports. |
540b3799 | 2466 | Don't hide snapshots from default 'lvs' output. |
68366c99 AK |
2467 | Add is_dm_major() for use in duplicate device detection in lvmcache_add(). |
2468 | Really switch device number in lvmcache when it says it is doing so. | |
2469 | Option for bitset memory allocation using malloc as well as pool. | |
dbb43034 | 2470 | Don't assume exactly two mirrors when parsing mirror status. |
40ec1e8a | 2471 | Suppress fsync() error message on filesystems that don't support it. |
ae9c3f16 AK |
2472 | Fix yes_no_prompt() error handling. |
2473 | Add lvm.conf comment warning against multiple filter lines. | |
721b61a4 | 2474 | Tidy lvmconf.sh. |
fd0eec20 | 2475 | Add format1 dev_write debug messages. |
3d387697 | 2476 | Add clustered VG attribute to report. |
2d9e596f | 2477 | Move lvconvert parameters into struct lvconvert_params. |
4c60a352 | 2478 | Add clustered VG flag to LV lock requests. |
0fb173aa | 2479 | Change LV locking macros to take lv instead of lvid. |
07d31831 AK |
2480 | Prepend 'cluster' activation parameter to mirror log when appropriate. |
2481 | Pass exclusive flag to lv_activate and on to target activation code. | |
2482 | Prevent snapshot creation in a clustered VG for now. | |
fb9d44da | 2483 | Factor out adjusted_mirror_region_size() and generate_log_name_format(). |
19763200 | 2484 | Move compose_log_line() into mirror directory. |
4bf57ace | 2485 | Factor out _get_library_path(). |
0c09c9d9 | 2486 | Don't kill idling clvmd threads. |
fe6c7862 | 2487 | clvmd no longer takes out locks for non-clustered LVs. |
0b63cc1e | 2488 | Recognise ATA over Ethernet (aoe) devices. |
3bb7a8c8 AK |
2489 | |
2490 | Version 2.01.14 - 4th August 2005 | |
2491 | ================================= | |
190f6945 | 2492 | Fix lvconvert PV parameter in help string. |
78a352c2 | 2493 | Prevent snapshots getting activated in a clustered VG. |
a4be2c01 | 2494 | Separate out _build_dev_string. |
a9b5af1d AK |
2495 | Move zero_lv to toollib. |
2496 | Fix pool format handler to work with pv segment code. | |
d87b3a61 | 2497 | |
42043c23 | 2498 | Version 2.01.13 - 13th July 2005 |
f92853b4 | 2499 | ================================ |
0440a206 AK |
2500 | Fix pvmove segment splitting. |
2501 | Abstract vg_validate. | |
10b44b2d | 2502 | Only make one attempt at contiguous allocation. |
4f878105 AK |
2503 | Fix lvm1 format metadata read. |
2504 | Fix lvm1 format non-mirror lvcreate. | |
f92853b4 | 2505 | |
1956b7be | 2506 | Version 2.01.12 - 14th June 2005 |
3a373791 | 2507 | ================================ |
5e947dac | 2508 | Various allocation-related pvmove fixes. |
1956b7be AK |
2509 | Log an error if clvmd can't resolve a host name got from CCS. |
2510 | Fix potential spin loop in clvmd. | |
3a373791 | 2511 | |
5e2a6b8f AK |
2512 | Version 2.01.11 - 13th June 2005 |
2513 | ================================ | |
5e947dac | 2514 | Added lvmconf.sh. |
56c3d1f7 AK |
2515 | Use matchpathcon mode parameter. |
2516 | Don't defer closing dead FDs in clvmd. | |
5748cb17 | 2517 | Remove hard-coded 64k text metadata writing restriction. |
8b80d2a5 | 2518 | Make VG name restrictions consistent. |
1a1f3d3e | 2519 | Introduce lvconvert. So far only removes mirror images. |
ffb0e538 | 2520 | Allow mirror images to be resized. |
c77de777 | 2521 | Allow mirror images to have more than one segment. |
8211a13c AK |
2522 | Centralise restrictions on LV names. |
2523 | Always insert an intermediate layer for mirrors. | |
2524 | Suppress hidden LVs from reports unless --all is given. | |
2525 | Use square brackets for hidden LVs in reports. | |
60f13f01 AK |
2526 | Allow the creation of mirrors with contiguous extents. |
2527 | Always perform sanity checks against metadata before committing it to disk. | |
2528 | Split lv_extend into two steps: choosing extents + allocation to LV(s). | |
2529 | Add mirror log region size to metadata. | |
2530 | Use list_iterate_items throughout and add list*back macros. | |
2531 | Introduce seg_ macros to access areas. | |
2532 | Add segtype_is_ macros. | |
2533 | Support tiny metadata areas for pool conversions. | |
2534 | Mirror activation handles disk log as well as core. | |
2535 | Activation code recognises mirror log dependency. | |
2536 | Add mirror_log and regionsize fields to report. | |
bd236f65 | 2537 | Fix non-orphan pvchange -u. |
21ca3b12 | 2538 | Fix vgmerge to handle duplicate LVIDs. |
7ac8c238 | 2539 | Move archiver code from tools into library. |
24e65464 | 2540 | vgscan/change/display/vgs automatically create metadata backups if needed. |
e7c47a5d | 2541 | Merge cloned allocation functions. |
0888dc43 | 2542 | Fix contiguous allocation policy with linear. |
17ae61cc | 2543 | Cope with missing format1 PVs again. |
7f2def9e AK |
2544 | Remove lists of free PV segments. |
2545 | Simplify pv_maps code and remove slow bitset algorithm. | |
2546 | Red-Hat-ify the clvmd rhel4 initscript. | |
c44c04a6 | 2547 | %Zu->%zu |
c708ec79 | 2548 | Fix loopfiles alias alloc & mem debugging. |
4d122676 | 2549 | Un-inline dbg_strdup. |
32469fb2 AK |
2550 | lv_reduce tidying. |
2551 | Remove some unnecessary parameters. | |
2552 | Introduce seg_is macros. | |
b8e2ad3d | 2553 | |
f81656fd AK |
2554 | Version 2.01.10 - 3rd May 2005 |
2555 | ============================== | |
abe198c0 | 2556 | Don't create backup and archive dirs till needed. |
15db9fcf AK |
2557 | Reinstate full PV size when removing from VG. |
2558 | Support loopfiles for testing. | |
e40d124e | 2559 | Tidy lv_segment interface. |
15db9fcf | 2560 | pv_segment support. |
66278a80 | 2561 | vgchange --physicalextentsize |
90395b8d | 2562 | Internal snapshot restructuring. |
69b2cc0e | 2563 | Remove unused internal non-persistent snapshot option. |
864de9ce | 2564 | Allow offline extension of snapshot volumes. |
367b9cb1 | 2565 | Move from 2-step to 3-step on-disk metadata commit. |
864de9ce | 2566 | Scan ramdisks too and allow non-O_DIRECT fallback. |
1128f56b | 2567 | Annotate, tidy and extend list.h. |
1165258c | 2568 | Alignment tidying. |
2b7e4013 | 2569 | Make clvmd work around some "bugs" in gulm's node state notifications. |
30bda776 | 2570 | Tidy clvmd's SIGHUP handler |
4a0623f9 | 2571 | |
37baa586 AK |
2572 | Version 2.01.09 - 4th April 2005 |
2573 | ================================ | |
0a0f13e6 | 2574 | Add --ignorelockingfailure to vgmknodes. |
11270d07 | 2575 | clvmd: Don't allow user operations to start until the lvm thread is fully up. |
a478de3d | 2576 | clvmd-gulm: set KEEPALIVE on sockets. |
11270d07 | 2577 | |
c8f9c82d AK |
2578 | Version 2.01.08 - 22nd March 2005 |
2579 | ================================= | |
343a8c92 | 2580 | Add clustered attribute so vgchange can identify clustered VGs w/o locking. |
e5b836d2 | 2581 | Improve detection of external changes affecting internal cache. |
162d85b9 | 2582 | Add 'already in device cache' debug message. |
200ef4db | 2583 | Add -a to pvdisplay -C. |
0aa8e5be | 2584 | Avoid rmdir opendir error messsages when dir was already removed. |
779b7713 | 2585 | Tighten signal handlers. |
7e0b7fd0 | 2586 | Avoid some compiler warnings. |
e5def0ba | 2587 | Additional rename failure error message. |
1cbfe699 | 2588 | read/write may be macros. |
02c6d3f2 | 2589 | clvmd: don't take out lvm thread lock at startup, it only protects jobs list. |
47de3990 | 2590 | |
b9565b40 | 2591 | Version 2.01.07 - 8th March 2005 |
4c908521 | 2592 | ================================ |
b9565b40 | 2593 | Cope with new devices appearing by rescanning /dev if a uuid can't be found. |
8f5d81cb | 2594 | Remove DESTDIR from LVM_SHARED_PATH. |
3329bbfd PC |
2595 | clvmd fixes: make FDs close-on-exec |
2596 | gulm unlocks VG & orphan locks at startup in case they are stale | |
2597 | gulm now unlocks VG & orphan locks if client dies. | |
4c908521 | 2598 | |
9a56fc81 AK |
2599 | Version 2.01.06 - 1st March 2005 |
2600 | ================================ | |
aa70fe8b | 2601 | Suppress 'open failed' error messages during scanning. |
432cd1e4 | 2602 | Option to suppress warnings of file descriptors left open. |
f3b0ea28 | 2603 | Fix default value of metadatacopies in documentation (2->1). |
ce1aa2c3 | 2604 | Fix clvmd-gulm locking. |
eb3037dd PC |
2605 | ./configure --enable-debug now enables debugging code in clvmd. |
2606 | Fix clvmd-gulm node up/down code so it actually works. | |
2607 | clvmd-gulm now releases locks when shut down. | |
8b307a08 | 2608 | |
8e3a97ba AK |
2609 | Version 2.01.05 - 18th February 2005 |
2610 | ==================================== | |
2611 | Static binary invokes dynamic binary if appropriate. | |
a3dfa1c7 | 2612 | Make clvmd config check a little more tolerant. |
c9808c32 | 2613 | gulm clvmd can now cope with >1 message arriving in a TCP message. |
50e3a3f3 | 2614 | |
f1b2dad4 | 2615 | Version 2.01.04 - 9th February 2005 |
939a307d | 2616 | =================================== |
f1b2dad4 AK |
2617 | Add fixed offset to imported pool minor numbers. |
2618 | Update binary pathnames in clvmd_init_rhel4. | |
3ef1acee | 2619 | lvm2cmd.so should skip the check for open fds. |
421c2a6a | 2620 | Remove unused -f from pvmove. |
28b4320c | 2621 | Gulm clvmd doesn't report "connection refused" errors. |
d9656543 | 2622 | clvmd does a basic config file sanity check at startup. |
ceda2b14 | 2623 | Fix potential thread shutdown race in clvmd. |
939a307d | 2624 | |
07a2b9f8 | 2625 | Version 2.01.03 - 1st February 2005 |
2efec8b2 | 2626 | =================================== |
274c88be | 2627 | More 64-bit display/report fixes. |
51c2a813 | 2628 | More informative startup mesg if can't create /etc/lvm. |
7851b13b | 2629 | Fix snapshot device size bug (since 2.01.01). |
c9f9a8b2 | 2630 | clvmd announces startup and cluster connection in syslog. |
4e224cf0 | 2631 | Gulm clvmd doesn't hang trying to talk to a rebooted node. |
9549da27 | 2632 | Gulm clvmd doesn't print cman error on startup. |
2efec8b2 | 2633 | |
a918e733 | 2634 | Version 2.01.02 - 21st January 2005 |
c44c015a | 2635 | =================================== |
eaafeaaa | 2636 | Update clvmd_init_rhel4: use lvm.static and don't load dlm. |
ed2799e7 | 2637 | Fix some size_t printing. |
894a05ff | 2638 | Fix 64 bit xlate consts. |
da73b38d | 2639 | Split out pool sptype_names to avoid unused const. |
52f9afec | 2640 | Always fail if random id generation fails. |
c44c015a | 2641 | Recognise gnbd devices. |
6f4d25ec PC |
2642 | Fix clvmd startup bug introduced in cman/gulm amalgamation. |
2643 | Improve reporting of node-specific locking errors. | |
c44c015a | 2644 | |
5d0b9f47 | 2645 | Version 2.01.01 - 19th January 2005 |
34d9b431 | 2646 | =================================== |
5d0b9f47 | 2647 | Fix clvmd lv_info_by_lvid open_count. |
c45a8a2c | 2648 | Store snapshot and origin sizes separately. |
73a9487f | 2649 | Update vgcreate man page. |
34d9b431 | 2650 | |
3833b9cc AK |
2651 | Version 2.01.00 - 17th January 2005 |
2652 | =================================== | |
73543ee7 | 2653 | Fix vgscan metadata auto-correction. |
e9c761b8 | 2654 | Only ask libdevmapper for open_count when we need it. |
bfe848e1 | 2655 | Adjust RHEL4 clvmd init script priority. |
5c7fc7c4 | 2656 | Enable building of CMAN & GULM versions of clvmd into a single binary |
968b11a9 | 2657 | |
b7b17625 AK |
2658 | Version 2.00.33 - 7th January 2005 |
2659 | ================================== | |
2245e1c4 | 2660 | pvcreate wipes first 4 sectors unless given --zero n. |
a057a834 | 2661 | gulm clvmd now uses new ccsd key names. |
67443fad | 2662 | gulm clvmd now doesn't ignore the first node in cluster.conf |
0d194755 PC |
2663 | Improve clvmd failure message if it's already running. |
2664 | Allow user to kill clvmd during initialisation. | |
b9fb9b20 | 2665 | Fix off-by-one error in cluster_locking that could cause read hangs. |
a057a834 | 2666 | |
01a0beed | 2667 | Version 2.00.32 - 22nd December 2004 |
158fe3d3 | 2668 | ==================================== |
7e9e9502 | 2669 | Drop static/dl restriction for now. |
01a0beed | 2670 | Fix an error fprintf. |
bc0d0ce0 | 2671 | Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. |
165f49ba | 2672 | Fix device reference counting on re-opens. |
f6ab00eb | 2673 | Ignore sysfs symlinks when DT_UNKNOWN. |
57b08371 | 2674 | Add clvmd init script for RHEL4. |
d46fd67f | 2675 | Skip devices that are too small to be PVs. |
8c9a1d6a | 2676 | Fix pvchange -x segfault with lvm2-format orphan. |
9ec48461 | 2677 | Cope with empty msdos partition tables. |
db1cd377 | 2678 | Add CONTRIBUTORS file. |
158fe3d3 | 2679 | |
9a2abb82 | 2680 | Version 2.00.31 - 12th December 2004 |
6aad6545 | 2681 | ==================================== |
9a2abb82 | 2682 | Reopen RO file descriptors RW if necessary. |
6aad6545 | 2683 | |
c4bb9aa6 | 2684 | Version 2.00.30 - 10th December 2004 |
0ef6cc3f | 2685 | ==================================== |
09a7dce6 AK |
2686 | Additional device-handling debug messages. |
2687 | Additional verbosity level -vvvv includes line numbers and backtraces. | |
2688 | Verbose messages now go to stderr not stdout. | |
2689 | Close any stray file descriptors before starting. | |
2690 | Refine partitionable checks for certain device types. | |
2691 | Allow devices/types to override built-ins. | |
21c42c7f | 2692 | Fix lvreduce man page .i->.I |
80b04895 | 2693 | Fix vgsplit man page title. |
db7e9905 | 2694 | Fix clvmd man makefile. |
39de4a2a AK |
2695 | Extend dev_open logging. |
2696 | Make clvmd_fix_conf.sh UNDOable. | |
0ef6cc3f | 2697 | |
66f04084 AK |
2698 | Version 2.00.29 - 27th November 2004 |
2699 | ==================================== | |
2700 | xlate compilation fix. | |
2701 | ||
bbdab3fc | 2702 | Version 2.00.28 - 27th November 2004 |
a266258f | 2703 | ==================================== |
bbdab3fc | 2704 | Fix partition table & md signature detection. |
a266258f AK |
2705 | Minor configure/makefile tidy. |
2706 | Export version.h from tools for clvmd. | |
2707 | ||
2e605167 | 2708 | Version 2.00.27 - 24th November 2004 |
a614641a | 2709 | ==================================== |
c3a4c63c | 2710 | Trap large memory allocation requests. |
2e605167 | 2711 | Fix to partition table detection code. |
7f1e8db7 | 2712 | Improve filter debug mesgs. |
838ebb83 | 2713 | Make clvmd_fix_conf.sh UNDOable |
a614641a | 2714 | |
d528aaa6 AK |
2715 | Version 2.00.26 - 23rd November 2004 |
2716 | ==================================== | |
bd46a496 | 2717 | Improve pool debugging stats. |
985ef461 | 2718 | Detect partition table signature. |
5ab925de | 2719 | pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) |
b2dd0bb1 | 2720 | Separate out md superblock detection code. |
0ec78e98 AK |
2721 | Prevent snapshot origin resizing. |
2722 | Improve a vgremove error message. | |
fcac0642 AK |
2723 | Update some man pages. |
2724 | Allow y/n with -ae args (exclusive activation). | |
cb8920e6 | 2725 | Fixes to lvcreate vgname parsing. |
56f5c04d | 2726 | Fix dm_name string size calculation. |
bfd4b014 | 2727 | Improve clvmd error reporting during startup. |
cf541774 | 2728 | Make clvmd cope with large gaps in node numbers IDs. |
bfd4b014 | 2729 | Make clvmd initialisation cope better with debugging output. |
63bea03e | 2730 | Tidy clvmd socket callbacks so all work happens outside main loop. |
3d4159b6 | 2731 | clvmd -V now displays lvm version too. |
b1098701 | 2732 | Add optional gulm build for clvmd |
b44dc25e | 2733 | |
c3c9d9b0 | 2734 | Version 2.00.25 - 29th September 2004 |
f2b2f485 | 2735 | ===================================== |
be495a46 AK |
2736 | Fix return code from rm_link for vgmknodes. |
2737 | Make clvmd LV hash table thread-safe. | |
c3c9d9b0 AK |
2738 | Fix clvmd locking so it will lock out multiple users on the same node. |
2739 | Fix clvmd VG locking to it can cope with multiple VG locks. | |
2740 | Remove spurious trailing dot in lvreduce man page. | |
2741 | Fix vgremove locking. | |
f2b2f485 | 2742 | |
f663e437 | 2743 | Version 2.00.24 - 16th September 2004 |
5b3d93c8 | 2744 | ===================================== |
2b176f90 | 2745 | Fix pool_empty so it really does empty the memory pool. |
c4ddb31a | 2746 | Rename old segtypes files to segtype. |
e26c4fd2 AK |
2747 | Some fixes to memory debugging code. |
2748 | Exclude internal commands formats & segtypes from install. | |
5b3d93c8 | 2749 | |
47ded66e AK |
2750 | Version 2.00.23 - 15th September 2004 |
2751 | ===================================== | |
7f64c8e5 | 2752 | Export dm name build & split functions. |
60bd7179 | 2753 | Use O_NOATIME on devices if available. |
19d1e710 | 2754 | Write log message when each segtype/format gets initialised. |
156dd4f1 | 2755 | New commands 'segtypes' and 'formats'. |
17d1ae7e | 2756 | Suppress pvmove abort message in test mode. |
b9ade4bc | 2757 | Improve pvcreate/remove device not found error message. |
00b47204 | 2758 | Allow pvmove to move data within the same PV. |
05503c5e | 2759 | Describe how pvmove works on man page. |
68eb9e3b | 2760 | Test for incompatible format/segtype combinations in lv_extend. |
075ab744 PC |
2761 | Fix lvchange example on man page. |
2762 | ||
6e047bb5 AK |
2763 | Version 2.00.22 - 3rd September 2004 |
2764 | ==================================== | |
b588726e | 2765 | Fix /dev/vgname perms. |
f15c75cb AK |
2766 | Restructure xlate.h. |
2767 | Add clvmd man page. | |
9c2f42bd | 2768 | |
311cea83 AK |
2769 | Version 2.00.21 - 19th August 2004 |
2770 | ================================== | |
2771 | Update cnxman-socket.h from cman. | |
acac21c4 | 2772 | Recognise iseries/vd devices. |
cab8ea7c | 2773 | Use 'make install_cluster' to install cluster extensions only. |
cf076dd3 | 2774 | Cope with DT_UNKNOWN in sysfs. |
392b28ec AK |
2775 | Fix extents_moved metadata size comment. |
2776 | Remove duplicate line in pvremove help text. | |
2777 | Support variable mirror region size. | |
2778 | Support PE ranges in pvmove source PV. | |
2779 | Fixes to as-yet-unused LV segment splitting code. | |
eabaa339 | 2780 | Change alloc_areas to pe_ranges and allow suppression of availability checks. |
a303dcde | 2781 | Add dev_size column to pvs. |
5fd24a89 | 2782 | Add report columns for in-kernel device number. |
3b55d300 | 2783 | |
ad6254c5 AK |
2784 | Version 2.00.20 - 3 July 2004 |
2785 | ============================= | |
2786 | More autoconf fixes. | |
8bad0339 | 2787 | Fix device number handling for 2.6 kernels. |
8630c7fb | 2788 | |
8ce0cbda | 2789 | Version 2.00.19 - 29 June 2004 |
2e15e5e4 | 2790 | ============================== |
8ce0cbda AK |
2791 | Reduce severity of setlocale failure message. |
2792 | Recognise argv[0] "initrd-lvm" (pld-linux). | |
2793 | Make -O2 configurable. | |
80992638 AK |
2794 | Added --disable-selinux to configure script. |
2795 | LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. | |
2796 | Add init_debug to clvmd. | |
2e15e5e4 | 2797 | |
d3c8211f AK |
2798 | Version 2.00.18 - 24 June 2004 |
2799 | ============================== | |
88be836f | 2800 | Fix vgchange activation. |
d3c8211f AK |
2801 | Add cluster support. |
2802 | ||
809fae91 AK |
2803 | Version 2.00.17 - 20 June 2004 |
2804 | ============================== | |
2805 | configure --enable-fsadm to try out fsadm. fsadm is not tested yet. | |
c29d2465 | 2806 | Display all filtered devices, not just PVs, with pvs -a. |
01c263e9 | 2807 | Fix sync_dir() when no / in filename |
8d267798 | 2808 | vgcfgbackup -f accepts template with %s for VG name. |
374df1cf | 2809 | Extend hash functions to handle non-null-terminated data. |
b86ef8e2 | 2810 | Add local activation support. |
b7d0982a | 2811 | Tidy relative paths in makefile includes. |
1a9ea74d | 2812 | fsadm support for fsck and resizing - needs testing. |
d8ac0fbc | 2813 | Add read-only GFS pool support. |
8c670f83 | 2814 | Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ |
30bab85b | 2815 | Fix rounding of large diplayed sizes. |
7d36b514 | 2816 | Suppress decimal point when using units of sectors/bytes. |
abaf083d | 2817 | Additional kernel target checks before pvmove & snapshot creation. |
2ea0f30f | 2818 | Add i2o_block. |
abaf083d | 2819 | |
ea556d1f | 2820 | Version 2.00.16 - 24 May 2004 |
25579907 | 2821 | ============================= |
bfa258b3 | 2822 | Set area_count within alloc_lv_segment. |
7f0dc9c4 | 2823 | Remove error labels from lvresize. |
199fa12a | 2824 | Fix a pvs error path. |
36cfd887 | 2825 | xxchange -ae for exclusive activation. |
29e94d95 | 2826 | Don't return non-zero status if there aren't any volume groups. |
a0a23eff AK |
2827 | Add --alloc argument to tools. |
2828 | Rename allocation policies to contiguous, normal, anywhere, inherit. | |
2829 | nextfree becomes normal; anywhere isn't implemented yet. | |
2830 | LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal | |
2831 | Additional status character added to vgs to indicate allocation policy. | |
b61702ce | 2832 | Add reset_fn to external_locking. |
e0a86d8c AK |
2833 | Ensure presence of virtual targets before attempting activating. |
2834 | Attempt to fix resizing of snapshot origins. | |
241913fe | 2835 | Restructure lvresize, bringing it closer to lvcreate. |
6925cbe6 | 2836 | A quick sanity check on vg_disk struct when read in. More checks needed. |
ff4b8b64 | 2837 | Only include visible LVs in active/open counts. |
1832f310 AK |
2838 | Add virtual segment types, zero and error. A large sparse device can be |
2839 | constructed as a writeable snapshot of a large zero segment. | |
2840 | Add --type to lvcreate/resize. | |
1d2ebf62 AK |
2841 | Push lv_create & alloc policy up to tool level. |
2842 | Fix pvdisplay return code. | |
e3adcd79 | 2843 | Detect invalid LV names in arg lists. |
0e3d9452 AK |
2844 | Reporting uses line-at-a-time output. |
2845 | lvm2 format sets unlimited_vols format flag. | |
ea601b75 AK |
2846 | Internal-only metadata flag support. |
2847 | Basic checking for presence of device-mapper targets. | |
cb919290 | 2848 | Separate out polldaemon. |
23289e6d AK |
2849 | Revise internal locking semantics. |
2850 | Move find_pv_by_name to library. | |
0b2b87b7 AK |
2851 | Rename move->copy. |
2852 | Add devices to segments report. | |
4922197a AK |
2853 | Begin separating out segment code. There's a lot of change here. |
2854 | Compress any (obsolete) long LVM1 pvids encountered. | |
25579907 AK |
2855 | Support for tagged config files. |
2856 | Don't abort operations if selinux present but disabled. | |
2857 | Fix typo in configure which left HAVE_LIBDL unset. | |
2858 | ||
a38df97f AK |
2859 | Version 2.00.15 - 19 Apr 2004 |
2860 | ============================= | |
2861 | configure --with-owner= --with-group= to avoid -o and -g args to 'install' | |
2862 | ||
96185e9c AK |
2863 | Version 2.00.14 - 16 Apr 2004 |
2864 | ============================= | |
2865 | Use 64-bit file functions by default. | |
2866 | ||
01c6121b | 2867 | Version 2.00.13 - 16 Apr 2004 |
121c5c06 | 2868 | ============================= |
01c6121b AK |
2869 | Set devices/md_component_detection = 1 to ignore devices containing md |
2870 | superblocks. [Luca Berra] | |
121c5c06 AK |
2871 | Ignore error setting selinux file context if fs doesn't support it. |
2872 | ||
a218a29c AK |
2873 | Version 2.00.12 - 14 Apr 2004 |
2874 | ============================= | |
4563e036 AK |
2875 | Install a default lvm.conf into /etc/lvm if there isn't one already. |
2876 | Allow different installation dir for lvm.static (configure --staticdir=) | |
2877 | Fix inverted selinux error check. | |
2878 | Recognise power2 in /proc/devices. | |
2879 | Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.] | |
2880 | ||
e5b28125 AK |
2881 | Version 2.00.11 - 8 Apr 2004 |
2882 | ============================ | |
2883 | Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback) | |
2884 | to run lvm1 binaries if running a 2.4 kernel without device-mapper. | |
2885 | ||
0d0b3357 | 2886 | Version 2.00.10 - 7 Apr 2004 |
35030bb0 AK |
2887 | ============================ |
2888 | More fixes for static build. | |
0d0b3357 AK |
2889 | Add basic selinux support. |
2890 | Fix sysfs detection. | |
35030bb0 | 2891 | |
6b493d07 AK |
2892 | Version 2.00.09 - 31 Mar 2004 |
2893 | ============================= | |
cd242223 AK |
2894 | Update copyright notices for Red Hat. |
2895 | Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd). | |
2896 | Add LVM1-style colon output to vgdisplay. | |
2897 | lvchange --refresh to reload active LVs. | |
2898 | Add string display to memory leak dump. | |
2899 | Add locking flags & memlock option. | |
2900 | Add list_versions to library. | |
2901 | Ignore open hidden LVs when checking if deactivation is OK. | |
2902 | Suppress move percentage when device inactive. | |
2903 | Add lv_info_by_lvid. | |
2904 | Various tidy-ups to the build process. | |
2905 | Rebaseline internal verbose level. | |
2906 | Add --nolocking option for read operations if locking is failing. | |
2907 | Add option to compile into a library. | |
2908 | When compiled without libdevmapper, only print warning message once. | |
2909 | Fix lvreduce PV extent calculations. | |
2910 | Fix DESTDIR to work with configure path overrides. | |
2911 | Always use / as config file separator & rename internal config file variables. | |
2912 | Add support for tagging PV/VG/LVs and hosts. | |
2913 | Fix rare bug in recognition of long cmdline argument forms. | |
2914 | Add basic internationalisation infrastructure. | |
2915 | Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels. | |
2916 | Update autoconf files. | |
2917 | Add sysfs block device filtering for 2.6 kernels. | |
2918 | Update refs for move to sources.redhat.com. | |
2919 | ||
f74d51d9 AK |
2920 | Friday 14th November 2003 |
2921 | ========================= | |
2922 | Some bug fixes & minor enhancements, including: | |
2923 | Backwards compatibility with LVM1 metadata improved. | |
2924 | Missing man pages written. | |
2925 | Tool error codes made more consistent. | |
2926 | vgmknodes written. | |
2927 | O_DIRECT can be turned off if it doesn't work in your kernel. | |
b2bb7264 | 2928 | dumpconfig to display the active configuration file |
f74d51d9 AK |
2929 | |
2930 | You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'. | |
2931 | If your root filesystem is on an LV, you should run one of those two | |
57015b12 | 2932 | commands to fix up the special files in /dev in your real root filesystem |
f74d51d9 AK |
2933 | after finishing with your initrd. Also, remember you can use |
2934 | 'vgchange --ignorelockingfailure' on your initrd if the tool fails because | |
2935 | it can't write a lock file to a read-only filesystem. | |
2936 | ||
541f8753 AK |
2937 | Wednesday 30th April 2003 |
2938 | ========================= | |
2939 | A pvmove implementation is now available for the new metadata format. | |
2940 | ||
2941 | When running a command that allocates space (e.g. lvcreate), you can now | |
57015b12 | 2942 | restrict not only which disk(s) may be used but also the Physical Extents |
541f8753 AK |
2943 | on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 |
2944 | ||
2945 | ||
2946 | Monday 18th November 2002 | |
5a52dca9 AK |
2947 | ======================== |
2948 | ||
2949 | The new format of LVM metadata is ready for you to test! | |
2950 | We expect it to be more efficient and more robust than the original format. | |
2951 | It's more compact and supports transactional changes and replication. | |
2952 | Should things go wrong on a system, it's human-readable (and editable). | |
2953 | ||
57015b12 | 2954 | Please report any problems you find to the mailing list, |
5a52dca9 AK |
2955 | linux-lvm@sistina.com. The software has NOT yet been thoroughly |
2956 | tested and so quite possibly there'll still be some bugs in it. | |
2957 | Be aware of the disclaimer in the COPYING file. | |
2958 | ||
57015b12 | 2959 | While testing, we recommend turning logging on in the configuration file |
5a52dca9 AK |
2960 | to provide us with diagnostic information: |
2961 | log { | |
2962 | file="/tmp/lvm2.log" | |
541f8753 | 2963 | level=7 |
5518374b | 2964 | activation=1 |
5a52dca9 AK |
2965 | } |
2966 | ||
2967 | You should schedule regular backups of your configuration file and | |
2968 | metadata backups and archives (normally kept under /etc/lvm). | |
2969 | ||
57015b12 | 2970 | Please read docs/example.conf and "man lvm.conf" to find out more about |
5a52dca9 AK |
2971 | the configuration file. |
2972 | ||
2973 | To convert an existing volume group called vg1 to the new format using | |
2974 | the default settings, use "vgconvert -M2 vg1". See "man vgconvert". | |
2975 | ||
2976 | -M (or --metadatatype in its long form) is a new flag to indicate which | |
2977 | format of metadata the command should use for anything it creates. | |
2978 | Currently, the valid types are "lvm1" and "lvm2" and they can be | |
2979 | abbreviated to "1" and "2" respectively. The default value for this | |
2980 | flag can be changed in the global section in the config file. | |
2981 | ||
2982 | Backwards-compatible support for the original LVM1 metadata format is | |
2983 | maintained, but it can be moved into a shared library or removed | |
2984 | completely with configure's --with-lvm1 option. | |
2985 | ||
2986 | Under LVM2, the basic unit of metadata is the volume group. Different | |
2987 | volume groups can use different formats of metadata - vg1 could use | |
2988 | the original LVM1 format while vg2 used the new format - but you can't | |
2989 | mix formats within a volume group. So to add a PV to an LVM2-format | |
2990 | volume group you must run "pvcreate -M2" on it, followed by "vgextend". | |
2991 | ||
2992 | With LVM2-format metadata, lvextend will let you specify striping | |
2993 | parameters. So an LV could consist of two or more "segments" - the | |
2994 | first segment could have 3 stripes while the second segment has just 2. | |
2995 | ||
2996 | LVM2 maintains a backup of the current metadata for each volume group | |
2997 | in /etc/lvm/backup, and puts copies of previous versions in | |
2998 | /etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to | |
57015b12 | 2999 | create and restore from these files. If you fully understand what |
5a52dca9 AK |
3000 | you're doing, metadata can be changed by editing a copy of a current |
3001 | backup file and using vgcfgrestore to reload it. | |
3002 | ||
3003 | Please read the pvcreate man page for more information on the new | |
3004 | format for metadata. | |
3005 | ||
3006 | All tools that can change things have a --test flag which can be used | |
3007 | to check the effect of a set of cmdline args without really making the | |
3008 | changes. | |
3009 | ||
3010 | ||
3011 | What's not finished? | |
3012 | ==================== | |
3013 | The internal cache. If you turn on debugging output you'll see lots of | |
914c9723 | 3014 | repeated messages, many of which will eventually get optimised out. |
5a52dca9 | 3015 | |
57015b12 JM |
3016 | --test sometimes causes a command to fail (e.g. vgconvert --test) even |
3017 | though the real command would work: again, fixing this is waiting for | |
5a52dca9 AK |
3018 | the work on the cache. |
3019 | ||
3020 | Several of the tools do not yet contain the logic to handle full | |
3021 | recovery: combinations of pvcreate and vgcfgrestore may sometimes be | |
3022 | needed to restore metadata if a tool gets interrupted or crashes or | |
3023 | finds something unexpected. This applies particularly to tools that | |
3024 | work on more than one volume group at once (e.g. vgsplit). | |
3025 | ||
3026 | Display output. Some metadata information cannot yet be displayed. | |
5a52dca9 AK |
3027 | |
3028 | Recovery tools to salvage "lost" metadata directly from the disks: | |
3029 | but we hope the new format will mean such tools are hardly ever needed! |