]>
Commit | Line | Data |
---|---|---|
1 | Version 2.02.97 - | |
2 | =============================== | |
3 | Allow vgextend to add PVs to a VG that is missing PVs. | |
4 | Recognise Micron PCIe SSDs in filter and move array out to device-types.h. | |
5 | Fix segfault when attempting to replace RAID 4/5/6 device (2.02.97). | |
6 | Fix dumpconfig <node> to print only <node> without its siblings (2.02.89). | |
7 | Do not issue "Failed to handle a client connection" error if lvmetad killed. | |
8 | Support changing of discard and zeroing for thin pool. | |
9 | Report used discard for thin pool and volume. | |
10 | Add support for controlling discard behavior of thin pool. | |
11 | Detect features for new 1.1 thin pool target. | |
12 | Count percentage of completeness upwards when merging a snapshot volume. | |
13 | Skip activation when using vg/lvchange --sysinit -a ay and lvmetad is active. | |
14 | Fix extending RAID 4/5/6 logical volumes | |
15 | Fix test for PV with unknown VG in process_each_pv to ignore ignored mdas. | |
16 | Update man pages with --activate ay option and auto_activation_volume_list. | |
17 | Fix _alloc_parallel_area to avoid picking already-full areas for raid devices. | |
18 | Use vgchange -aay instead of vgchange -ay in clmvd init script. | |
19 | Add activation/auto_activation_volume_list to lvm.conf. | |
20 | Add --activate ay to lvcreate, lvchange, pvscan and vgchange. | |
21 | Add support for volume autoactivation using lvmetad. | |
22 | Add --activate synonym for --available arg and prefer --activate. | |
23 | Never issue discards when LV extents are being reconfigured, not deleted. | |
24 | Allow release_lv_segment_area to fail as functions it calls can fail. | |
25 | Open device read-only to obtain readahead value. | |
26 | Fix lvconvert error path NULL pointer dereference. | |
27 | Check for create_instance() fail in pvscan_lvmetad_single(). | |
28 | Use 64bit math for reserved memory and stack. | |
29 | Add tests for kernel_send() errors in cmirrod. | |
30 | Print clean_bits in pull_state, fix cut&paste typo in cmirrord. | |
31 | Add tests for errors from closedir(), close() in cmirrord. | |
32 | Fix missing sync of filesystem when creating thin volume snapshot. | |
33 | ||
34 | Version 2.02.96 - 8th June 2012 | |
35 | =============================== | |
36 | Upstream source repo now fedorahosted.org git not sources.redhat.com CVS. | |
37 | Fix error paths for regex filter initialization. | |
38 | Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90) | |
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. | |
42 | Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags. | |
43 | Add missing pkg init --with-systemdsystemunitdir in configure.in (2.02.92). | |
44 | Fix division by zero if PV with zero PE count is used during vgcfgrestore. | |
45 | Add initial support for thin pool lvconvert. | |
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. | |
48 | Warn of deadlock risk when using snapshots of mirror segment type. | |
49 | Fix bug in cmirror that caused incorrect status info to print on some nodes. | |
50 | Remove statement that snapshots cannot be tagged from lvm man page. | |
51 | Disallow changing cluster attribute of VG while RAID LVs are active. | |
52 | Fix lvconvert error message for non-mergeable volumes. | |
53 | Allow subset of failed devices to be replaced in RAID LVs. | |
54 | Prevent resume from creating error devices that already exist from suspend. | |
55 | Improve clmvd singlenode locking for better testing. | |
56 | Update and correct lvs man page with supported column names. | |
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. | |
59 | Add udev info and context to lvmdump. | |
60 | Add lvmetad man page. | |
61 | Fix RAID device replacement code so that it works under snapshot. | |
62 | Fix inability to split RAID1 image while specifying a particular PV. | |
63 | Update man pages to give them all the same look&feel. | |
64 | Fix lvresize of thin pool for striped devices. | |
65 | For lvresize round upward when specifying number of extents. | |
66 | For lvcreate with %FREE support rounding downward stripe alignment. | |
67 | Change message severity to log_very_verbose for missing dev info in udev db. | |
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) | |
70 | Fix unlocking volume group in vgreduce in error path. | |
71 | Cope when VG name is part of the supplied name in lvconvert --splitmirrors -n. | |
72 | Fix exclusive lvchange running from other node. (2.02.89) | |
73 | Add 'vgscan --cache' functionality for consistency with 'pvscan --cache'. | |
74 | Keep exclusive activation in pvmove if LV is already active. | |
75 | Disallow exclusive pvmove if some affected LVs are not exclusively activated. | |
76 | Remove unused and wrongly set cluster VG flag from clvmd lock query command. | |
77 | Fix pvmove for exclusively activated LV pvmove in clustered VG. (2.02.86) | |
78 | Always free hash table on update_pvid_to_vgid() in lvmetad. | |
79 | Update and fix monitoring of thin pool devices. | |
80 | Check hash insert success in lock_vg in clvmd. | |
81 | Check for buffer overwrite in get_cluster_type() in clvmd. | |
82 | Fix global/detect_internal_vg_cache_corruption config check. | |
83 | Update lcov Makefile target to support all dmeventd plugins. | |
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. | |
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. | |
91 | Fix arg_int_value alongside ARG_GROUPABLE --major/--minor for lvcreate/change. | |
92 | Fix name conflicts that prevent down-converting RAID1 when specifying a device | |
93 | Improve thin_check option passing and use configured path. | |
94 | Add --with-thin-check configure option for path to thin_check. | |
95 | Fix error message when pvmove LV activation fails with name already in use. | |
96 | Better structure layout for device_info in dev_subsystem_name(). | |
97 | Change message severity for creation of VG over uninitialised devices. | |
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) | |
103 | ||
104 | Version 2.02.95 - 6th March 2012 | |
105 | ================================ | |
106 | If unspecified, adjust thin pool metadata and chunk size to fit into 128MB. | |
107 | Print just warning on thin pool check callback path for failing check. | |
108 | Always use 64bit arithmetic with VG extent_size expression. | |
109 | Validate udev structures in _insert_udev_dir(). | |
110 | Take repeatable --major --minor with pvscan --cache instead of major:minor. | |
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) | |
114 | ||
115 | Version 2.02.94 - 3rd March 2012 | |
116 | ================================ | |
117 | Add support to execute thin_check with each de/active of thin pool. | |
118 | Fix automatic estimation of metadata device size for thin pool. | |
119 | Test for alloc fail from _alloc_pv_segment() in _extend_pv(). | |
120 | Check for alloc fail from get_segtype_from_string() in _lvcreate_params(). | |
121 | Add _rimage as reserved suffix to lvm.8 man page. | |
122 | Improve error logging from mpath filter. | |
123 | Check for allocation failure in hold_lock() in clvmd. | |
124 | Use set_lv() (wipe initial 4KiB) for non zeroed thin volume. | |
125 | Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt). | |
126 | Revert free of allocated segtype in init segment error path (2.02.89). | |
127 | Test dm_hash_insert() failures in filter-persistent.c and fid_add_mda(). | |
128 | Ensure clvmd message is always NUL-terminated after read. | |
129 | Add some close() and dev_close() error path backtraces. | |
130 | Set stdin/stdout/stderr to /dev/null for polldaemon. | |
131 | Limit the max size of processed clvmd message to ~8KB. | |
132 | Do not send uninitialised bytes in cluster error reply messages. | |
133 | Use unsigned type for bitmask instead of enum type for lvm properties. | |
134 | Add missing cleanup of excl_uuid hash on some exit paths of clvmd. | |
135 | Check for existence of vg_name in _format1/_pool_vg_read(). | |
136 | Fix missing break in _format_pvsegs (2.02.92). | |
137 | Test seg pointer for non-null it in raid_target_percent error path. | |
138 | Check for errors in _init_tags() during config loading. | |
139 | Always check result of _set_vg_name() in lvcreate. | |
140 | Drop unused call to uname() during clvmd initialization. | |
141 | Test allocation result in sysfs filter creation. | |
142 | Limit sscanf parameters with buffer size in clvmd get_initial_state(). | |
143 | Use const lv pointer for lv_is_active...() functions. | |
144 | Use same signed numbers in _mirrored_transient_status(). | |
145 | Support 'pvscan --cache' to update lvmetad state from specific PVs. | |
146 | Provide new metadata daemon for testing with configure --enable-lvmetad . | |
147 | Integrate client-side lvmetad into build. | |
148 | ||
149 | Version 2.02.93 - 23rd February 2012 | |
150 | ==================================== | |
151 | Require number of stripes to be greater than parity devices in higher RAID. | |
152 | Fix allocation code to allow replacement of single RAID 4/5/6 device. | |
153 | Check all tags and LV names are in a valid form in vg_validate. | |
154 | Add tmpfiles.d style configuration for lvm2 lock and run directory. | |
155 | Add configure --with-tmpfilesdir for dir holding volatile-file configuration. | |
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. | |
159 | ||
160 | Version 2.02.92 - 20th February 2012 | |
161 | ==================================== | |
162 | Read dmeventd monitoring config settings for every lvm command. | |
163 | For thin devices, initialize monitoring only for thin pools not thin volumes. | |
164 | Make conversion from a synced 'mirror' to 'raid1' not cause a full resync. | |
165 | Properly test buffer for unit check in units_to_bytes(). | |
166 | Add configure --with-systemdsystemunitdir. | |
167 | Add check for allocation failure in _build_matcher(). | |
168 | Add check for rimage name allocation failure in _raid_add_images(). | |
169 | Add check for mda_copy failure in _text_pv_setup(). | |
170 | Add check for _mirrored_init_target failure. | |
171 | Add free_orphan_vg. | |
172 | Skip pv/vg_set_fid processing if the fid is same. | |
173 | Check for foreach loop errors in _vg_read_orphans() (2.02.91). | |
174 | Clean error paths for format instance creation (2.02.91). | |
175 | Release vg in error path of _format1_vg_read() instead of just free(). | |
176 | Report allocation failure for allocation of PV structure. | |
177 | Add clvmd init dependency on dlm service when running with new corosync. | |
178 | ||
179 | Version 2.02.91 - 12th February 2012 | |
180 | ==================================== | |
181 | Remove PV-based format instances (which are no longer needed). | |
182 | Link all orphan PVs directly to a per-format global orphan VG. | |
183 | Refactor lvmcache around an internal API. | |
184 | Stop processing lvextend if trying to extend a mirror that is being recovered. | |
185 | Add pool_below_threshold() function to check thin pool percent status. | |
186 | Fix test for snap percent for failing merge when removing LV. | |
187 | Switch int to void return for str_list_del(). | |
188 | Fix error path handling in _build_desc(). | |
189 | Add range test for device number in _scan_proc_dev(). | |
190 | Use signed long for sysconf() call in cmirrord. | |
191 | Do not write in front of log buffer in print_log(). | |
192 | Add boundary test for number of mirror devs and logs. | |
193 | Check that whole locking_dir fits _lock_dir buffer in init_file_locking(). | |
194 | Use list functions for label_exit(). | |
195 | Ensure strncpy() function always ends with '\0'. | |
196 | Set status in _fsadm_cmd() for error path. | |
197 | Add missing deps for lvm2api for rebuild when lvm-internal is changed. | |
198 | Fix resource leaks for failing allocation of formats (lvm1/2,pool). | |
199 | Release allocated resources in error path for composite_filter_create(). | |
200 | Do not use lstat() results when failed in _rm_link(). | |
201 | Remove a "waiting for another thread" log message from dmeventd plugins. | |
202 | ||
203 | Version 2.02.90 - 1st February 2012 | |
204 | =================================== | |
205 | sync_local_dev_names before (re)activating mirror log for initialisation. | |
206 | Disable partial activation for thin LVs and LVs with all missing segments. | |
207 | Do not print warning for pv_min_size between 512KB and 2MB. | |
208 | Clean up systemd unit ordering and requirements. | |
209 | Fix lcov reports when srcdir != builddir. | |
210 | Allow ALLOC_NORMAL to track reserved extents for log and data on same PV. | |
211 | Automatically detect whether corosync clvmd needs to use confdb or cmap. | |
212 | Fix data% report for thin volume used as origin for non-thin snapshot. | |
213 | ||
214 | Version 2.02.89 - 26th January 2012 | |
215 | =================================== | |
216 | Add missing check for uname result in clvmd TEST processing. | |
217 | Fix memleak in target_version() error path (unsupported LIST_VERSIONS). | |
218 | Limit data_alignment and data_alignment_offset to 32bit values. | |
219 | Check for correctness of uint64 dev_size value in format_text. | |
220 | Thin pools have segment fields thin_count, zero, transaction_id. | |
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. | |
225 | Add lv_thin_pool_transaction_id to read the transaction_id value. | |
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). | |
228 | Change exclusive LV activation logic to try local node before remote nodes. | |
229 | Add CLVMD_FLAG_REMOTE to skip processing on local node. | |
230 | Prompt if request is made to remove a snapshot whose "Merge failed". | |
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. | |
233 | Use m and M lv_attr to indicate that a snapshot merge failed in lvs. | |
234 | Differentiate between snapshot status of "Invalid" and "Merge failed". | |
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. | |
237 | Do not report linear segtype for non-striped targets. | |
238 | Record creation host & time for each LV and report as lv_time & lv_host. | |
239 | Make error message hit when preallocated memlock memory exceeded clearer. | |
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. | |
242 | Add activation/read_only_volume_list to override LV permission in metadata. | |
243 | Give priority to emcpower devices with duplicate PVIDs. | |
244 | Add check for error in _adjust_policy_params() (lvextend --use-policies). | |
245 | Round specified percentages upwards (%LV, %VG...) when resizing LVs. | |
246 | Use dmeventd_lvm2_command in dmeventd plugins snapshot, raid, mirror. | |
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. | |
250 | Reduce number of lstat calls when selecting device alias. | |
251 | Add _dev_init to initialize common struct device members. | |
252 | Always zalloc struct device during initialization. | |
253 | Fix missing thread list manipulation protection in dmeventd. | |
254 | Do not derefence lv pointer in _percent_run() function before NULL check. | |
255 | Allow empty strings for description and creation_host config fields. | |
256 | Issue deprecation warning when removing last lvm1-format snapshot. | |
257 | Reinstate support for snapshot removal with lvm1 format. (2.02.86) | |
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. | |
266 | Add activation/use_linear_target enabled by default. | |
267 | Use gcc warning options only with .c to .o compilation. | |
268 | Move y/n prompts to stderr and repeat if response has both 'n' and 'y'. | |
269 | Replace the unit testing framework with CUnit (--enable-testing). | |
270 | Fix dmeventd snapshot monitoring when multiple extensions were involved. | |
271 | Don't ignore configure --mandir and --infodir. | |
272 | Drop pool memory allocated within lv_has_target_type(). | |
273 | Reduce stack allocation of some PATH_MAX sized char buffers. | |
274 | Unlock memory before writing metadata. | |
275 | Add query before removing snapshots when inactive snapshot origin is removed. | |
276 | Allow changing availability state of snapshots. | |
277 | Skip non-virtual snapshots for availability change for lvchange with vg name. | |
278 | Skip adjusting mirror region size unless mirror or raid. | |
279 | Reorder prompt conditions for removal of active volumes. | |
280 | Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag.(2.02.86) | |
281 | Fix --enable-static_link unless using --enable-dmeventd / --enable-udev_sync. | |
282 | Move gentoo MAKEDEV to /sbin in lvm2create_initrd. | |
283 | Add filter to avoid scan of device if it is part of active multipath. | |
284 | Add missing default $LVM_VG_NAME usage for snapshots. | |
285 | Avoid extent_count overflow with lvextend. | |
286 | Add missing lvrename mirrored log recursion in for_each_sub_lv. | |
287 | Improve lv_extend stack reporting. | |
288 | Increase virtual segment size instead of creating multiple segment list. | |
289 | Add last_seg(lv) internal function. | |
290 | Support empty string for log/prefix. | |
291 | Disallow mirrored logs for cluster mirrors. (2.02.72) | |
292 | Don't print char type[8] as a plain string in pvck PV type. | |
293 | Use vg memory pool implicitly for vg read. | |
294 | Always use vg memory pool for allocated lv segment. | |
295 | Remove extra 4kB buffer allocated on stack in print_log(). | |
296 | Make move_lv_segment non-static function and use dm_list function. | |
297 | Pass exclusive LV locks to all nodes in the cluster. | |
298 | Improve lvcreate chunksize man page description. | |
299 | Improve man page style for lvcreate & lvs. | |
300 | Avoid recursive calls to dmeventd in its LVM plugins. | |
301 | Log dev name now returned to kernel for registering during cmirror CTR. | |
302 | Fix lv_info open_count test for disabled verify_udev_operations. (2.02.86) | |
303 | Simplify code for lvm worker thread in clvmd. | |
304 | Use pthread_barrier to synchronize clvmd threads at startup. | |
305 | Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack. | |
306 | Reduce default preallocated stack size to 64KiB. | |
307 | Add check for access through NULL pointer when refresh_filter() fails. | |
308 | Use pthread condition for SINGLENODE lock implementation. | |
309 | Improve backtrace reporting for some dev_manager_ functions. | |
310 | Change message severity to log_warn when symlink creation fails. | |
311 | Add ability to convert mirror segtype to RAID1 segtype. | |
312 | Add ability to convert from linear to RAID1. | |
313 | Add ability to extend mirrors with '--nosync' option. | |
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. | |
317 | Clarify multi-name device filter pattern matching explanation in lvm.conf. | |
318 | Introduce revert_lv for better pvmove cleanup. | |
319 | Replace incomplete pvmove activation failure recovery code with a message. | |
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. | |
323 | Use execvp for CLVMD restart to preserve environment settings. | |
324 | Restart CLVMD with same cluster manager. | |
325 | Fix log_error() usage in raid and unknown segtype initialisation. | |
326 | Improve testing Makefile. | |
327 | Fix install_ocf make target when srcdir != builddir. (2.02.80) | |
328 | Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd. | |
329 | Fix restart of clvmd (preserve exlusive locks). (2.02.64) | |
330 | Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE. | |
331 | Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. | |
332 | Replace open_count check with holders/mounted_fs check on lvremove path. | |
333 | Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg. | |
334 | Cleanup restart clvmd code (no memory allocation, debug print passed args). | |
335 | Add all exclusive locks to clvmd restart option args. | |
336 | Always send the whole clvmd packet header in refresh commands. | |
337 | Add missing error checks for some system calls in cmirrord. | |
338 | Add missing log_error() to lvresize command when fsadm tool fails. | |
339 | Add support for DM_DEV_DIR device path into fsadm script. | |
340 | Support different PATH setting for fsadm script testing. | |
341 | Surround all executed commands with quotes in fsadm script. | |
342 | Fix missing '$' in test for content of "$LVM" in fsadm script. | |
343 | Move debug message in exec_cmd after sync_local_dev_names. | |
344 | Fix clvmd processing of invalid request on local socket. | |
345 | Fix command line option decoding. | |
346 | Reset LV status when unlinking LV from VG. | |
347 | Fix overly-strict extent-count divisibility requirements for striped mirrors. | |
348 | Fix rounding direction in lvresize when reducing volume size. | |
349 | Fix possible overflow of size if %FREE or %VG is used. | |
350 | Fix vgchange activation of snapshot with virtual origin. | |
351 | Activate virtual snapshot origin exclusively (only on local node in cluster). | |
352 | Fix lv_mirror_count to handle mirrored stripes properly. | |
353 | Fix failure to down-convert a mirror to linear due to udev "dev open" conflict | |
354 | Fix mirrored log creation when PE size is small: use log_size >= region_size. | |
355 | Fix log size calculation when only a log is being added to a mirror. | |
356 | Add 7th lv_attr char to show the related kernel target. | |
357 | Terminate pv_attr field correctly. (2.02.86) | |
358 | Fix 'not not' typo in pvcreate man page. | |
359 | Improve man page style for fsadm, lvreduce, lvremove, lvrename & lvresize. | |
360 | Support break for vgchange and vgrefresh operation. | |
361 | Switch int to unsigned type for pvmetadatacopies for pv_create(). | |
362 | Replace :space: with [\t ] for awk in vgimportclone (not widely supported). | |
363 | Begin using 64-bit status field flags. | |
364 | Detect sscanf recovering_region input error in cmirrord pull_state(). | |
365 | Fix error path bitmap leak in cmirrord import_checkpoint(). | |
366 | Log unlink() error in cmirrord remove_lockfile(). | |
367 | Remove incorrect requirement for -j or -m from lvchange error message. | |
368 | Fix unsafe table load when splitting off smaller mirror from a larger one. | |
369 | Use size_t return type for text_vg_export_raw() and export_vg_to_buffer(). | |
370 | Add configure --enable-lvmetad for building the (experimental) LVMetaD. | |
371 | Fix resource leak when strdup fails in _get_device_status() (2.02.85). | |
372 | Directly allocate buffer memory in a pvck scan instead of using a mempool. | |
373 | Add configure --with-thin for segtypes "thin" and "thin_pool". | |
374 | Fix raid shared lib segtype registration (2.02.87). | |
375 | ||
376 | Version 2.02.88 - 19th August 2011 | |
377 | ================================== | |
378 | Remove incorrect 'Breaking' error message from allocation code. (2.02.87) | |
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. | |
384 | Add -V as short form of --virtualsize in lvcreate. | |
385 | Fix make clean not to remove Makefile. (2.02.87) | |
386 | ||
387 | Version 2.02.87 - 12th August 2011 | |
388 | ================================== | |
389 | Fix make distclean to remove stray dmeventd and exported symbols files. | |
390 | Add global/detect_internal_vg_cache_corruption to lvm.conf. | |
391 | Use memory pool locking to check for corruption of internal VG structs. | |
392 | Cache and share generated VG structs. | |
393 | Fix possible format instance memory leaks and premature releases in _vg_read. | |
394 | Suppress locking error messages in monitoring init scripts. | |
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. | |
398 | Replace free_vg with release_vg and move it to vg.c. | |
399 | Remove INCONSISTENT_VG flag from the code. | |
400 | Remove lock from cache in _lock_vol even if unlock fails. | |
401 | Initialise clvmd locks before lvm context to avoid open descriptor leaks. | |
402 | Remove obsolete gulm clvmd cluster locking support. | |
403 | Suppress low-level locking errors and warnings while using --sysinit. | |
404 | Remove unused inconsistent_seqno variable in _vg_read(). | |
405 | Remove meaningless const type qualifiers on cast type. | |
406 | Add test for fcntl error in singlenode client code. | |
407 | Remove --force option from lvrename manpage. | |
408 | Add global/mirror_segtype_default to pick md raid or dm mirror as default. | |
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. | |
411 | Add systemd unit file to provide lvm2 monitoring. | |
412 | Compare file size (as well as timestamp) to detect changed config file. | |
413 | ||
414 | Version 2.02.86 - 8th July 2011 | |
415 | =============================== | |
416 | Remove unnecessary warning in pvcreate for MD linear devices. | |
417 | Move snapshot removal activation logic into lib/activate. | |
418 | Cope with a PV only discovered missing when creating deptree. | |
419 | Abort operation if dm_tree_node_add_target_area fails. | |
420 | Add activation/checks to lvm.conf to perform additional ioctl validation. | |
421 | Always preload on suspend, even if no metadata changed (lvchange --refresh). | |
422 | When suspending, automatically preload newly-visible existing LVs. | |
423 | Teardown any stray devices with $COMMON_PREFIX during test runs. | |
424 | Reinstate correct permissions when creating mirrors. [2.02.85] | |
425 | Append 'm' attribute to pv_attr for missing PVs. | |
426 | Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd. | |
427 | Remove enforcement of udev verification when using non-standard /dev location. | |
428 | Keep an exclusive mirror non-clustered if reloaded e.g. during conversion. | |
429 | Reject allocation if number of extents is not divisible by area count. | |
430 | Fix cluster mirror creation to work with new mirror allocation algorithm. | |
431 | Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18. | |
432 | Add activation/verify_udev_operations to lvm.conf, disabled by default. | |
433 | Call vg_mark_partial_lvs() before VG structure is returned from the cache. | |
434 | Remove unused internal flag ACTIVATE_EXCL from the code. | |
435 | Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path. | |
436 | Add lv_activate_opts structure for activation (replacing activation flags). | |
437 | Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating. | |
438 | Add proper udev library context initialization and finalization to liblvm. | |
439 | Fix last snapshot removal to avoid table reload while a device is suspended. | |
440 | Use dm_get_suspended_counter in replacement critical_section logic. | |
441 | Downgrade critical_section errors to debug level until it is moved to libdm. | |
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. | |
445 | Fix reduction of mirrors with striped segments to always align to stripe size. | |
446 | Validate mirror segments size. | |
447 | Include lvmetad development code in tree. | |
448 | Fix extent rounding for striped volumes never to reduce more than requested. | |
449 | Fix create_temp_name to replace any '/' found in the hostname with '?'. | |
450 | Always use append to file in lvmdump. selinux policy may ban file truncation. | |
451 | Propagate test mode to clvmd to skip activation and changes to held locks. | |
452 | Defer writing PV labels until vg_write. | |
453 | Store label_sector only in struct physical_volume. | |
454 | Permit --available with lvcreate so non-snapshot LVs need not be activated. | |
455 | Report sector containing label in verbose message. | |
456 | Clarify error message when unable to convert an LV into a snapshot of an LV. | |
457 | Add and use dev_open_readonly and variations. | |
458 | Do not log a superfluous stack message when the lv is properly processed. | |
459 | Do not issue an error message when unable to remove .cache on read-only fs. | |
460 | Avoid memlock size mismatch by preallocating stdio line buffers. | |
461 | Rewrite vgreduce --removemissing --force to share lvconvert code. | |
462 | Reorganize lvconvert --repair code to allow reuse. | |
463 | ||
464 | Version 2.02.85 - 29th April 2011 | |
465 | ================================= | |
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. | |
468 | Add test for vgimportclone and querying of vgnames with duplicate pvs. | |
469 | Avoid use of released memory when duplicate PV is found. | |
470 | Add "devices/issue_discards" to lvm.conf. | |
471 | Issue discards on lvremove and lvreduce etc. if enabled and supported. | |
472 | Add seg_pe_ranges and devices fields to liblvm. | |
473 | Fix incorrect tests for dm_snprintf() failure. | |
474 | Fix some unmatching sign comparation gcc warnings in the code. | |
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. | |
480 | Fix reading of unallocated memory in lvm1 format import function. | |
481 | Replace several strncmp() calls with id_equal(). | |
482 | Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname(). | |
483 | Fix -Wold-style-definition gcc warnings. | |
484 | Rename MIRROR_NOTSYNCED to LV_NOTSYNCED. | |
485 | Fix _move_lv_segments to handle empty LVs. | |
486 | Fixes for lvconvert (including --repair) of temporary mirror stacks. | |
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. | |
490 | Remove error messages issued by device_is_usable when run as non-root. | |
491 | Add missing \0 for grown debug object in _bitset_with_random_bits(). | |
492 | Fix allocation of system_id buffer in volume_group structure. | |
493 | Fix readlink usage inside get_primary_dev(). | |
494 | Use format instance mempool where possible and adequate. | |
495 | Call destroy_instance for any PVs found in VG structure during vg_free call. | |
496 | Add new free_pv_fid fn and use it throughout to free all attached fids. | |
497 | Use only vg_set_fid and new pv_set_fid fn to assign the format instance. | |
498 | Make create_text_context fn static and move it inside create_instance fn. | |
499 | Add mem and ref_count fields to struct format_instance for own mempool use. | |
500 | Use new alloc_fid fn for common format instance initialisation. | |
501 | Optimise _get_token() and _eat_space(). | |
502 | Add _lv_postorder_vg() to improve efficiency for all LVs in VG. | |
503 | Add gdbinit script for debugging. | |
504 | Use hash tables to speedup string search in vg_validate(). | |
505 | Refactor allocation of VG structure adding alloc_vg(). | |
506 | Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name. | |
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. | |
509 | Do not send uninitialised bytes in local clvmd messages. | |
510 | Support --help option for clvmd and return error for unknown option. | |
511 | Avoid reading freed memory when printing LV segment type. | |
512 | Fix syslog initialisation in clvmd to respect lvm.conf setting. | |
513 | Fix possible overflow in maximum stripe size and physical extent size. | |
514 | Improve pvremove error message when PV belongs to a VG. | |
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. | |
517 | Improve normal allocation algorithm to include clinging to existing areas. | |
518 | Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf. | |
519 | Adapt metadata balancing code to work with metadata handling changes. | |
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. | |
522 | Change pvcreate to use new metadata handling interface. | |
523 | Restructure existing pv_setup and pv_write and add pv_initialise. | |
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. | |
527 | Handle decimal digits with --units instead of ignoring them silently. | |
528 | Fix remaining warnings and compile with -Wpointer-arith. | |
529 | Fix gcc warnings for unused variables and const casts. | |
530 | Add stack backtraces for error paths in process_each_lv(). | |
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. | |
534 | Remove fs_unlock() from lv_suspend error path. | |
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. | |
544 | ||
545 | Version 2.02.84 - 9th February 2011 | |
546 | =================================== | |
547 | Fix CRC32 calculation on big endian CPU (2.02.75). | |
548 | ||
549 | Version 2.02.83 - 4th February 2011 | |
550 | =================================== | |
551 | Allow exclusive activation of snapshots in a cluster. | |
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. | |
555 | Increase hash table size to 1024 lv names and 64 pv uuids. | |
556 | Remove fs_unlock() from lv_resume path. | |
557 | Fix wipe size when setting up mda. | |
558 | Remove unneeded checks for open_count in lv_info(). | |
559 | Synchronize with udev before checking open_count in lv_info(). | |
560 | Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested. | |
561 | Add "dmsetup ls --tree" output to lvmdump. | |
562 | Fix udev synchronization with no-locking --sysinit (2.02.80). | |
563 | Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan. | |
564 | Avoid rebuilding of uuid validation table. | |
565 | Improve lvcreate error text from insufficient "extents" to "free space". | |
566 | Always use O_DIRECT when opening block devices to check for partitioning. | |
567 | ||
568 | Version 2.02.82 - 24th January 2011 | |
569 | =================================== | |
570 | Bring lvscan man page up-to-date. | |
571 | Fix lvchange --test to exit cleanly. | |
572 | Add change_tag to toollib. | |
573 | Allow multiple pvchange command line options to be specified together. | |
574 | Do not fail pvmove polling if another process cleaned up first. | |
575 | Avoid clvmd incrementing dlm lockspace reference count more than once. | |
576 | Add -f (don't fork) option to clvmd and fix clvmd -d<num> description. | |
577 | ||
578 | Version 2.02.81 - 17th January 2011 | |
579 | =================================== | |
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. | |
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. | |
586 | Accept fusion fio in device type filter. | |
587 | Add ability to convert mirror log type from disk to mirrored. | |
588 | ||
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. | |
593 | Pass config_tree to renamed function import_vg_from_config_tree(). | |
594 | Detect NULL handle in get_property(). | |
595 | Fix superfluous /usr in ocf_scriptdir instalation path. | |
596 | Add --with-ocfdir configurable option. | |
597 | Add aclocal.m4 (for pkgconfig). | |
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) | |
606 | Add backtraces for backup and backup_remove fail paths. | |
607 | Detect errors from dm_task_set calls in _get_device_info (dmeventd). | |
608 | Add backtraces for archive and backup_locally in check_current_backup(). | |
609 | Fix memory leak in debug mode of restart_clvmd() error path. | |
610 | Log error message for pthread_join() failure in clvmd. | |
611 | ||
612 | Version 2.02.79 - 20th December 2010 | |
613 | ==================================== | |
614 | Remove some unused variables. | |
615 | Add missing test for reallocation error in _find_parallel_space(). | |
616 | Add checks for allocation errors in config node cloning. | |
617 | Fix error path if regex engine cannot be created in _build_matcher(). | |
618 | Use char* arithmetic in target_version(), _process_all() & _targets(). | |
619 | Fixing const cast gcc warnings in the code. | |
620 | Check read() and close() results in _get_cmdline(). | |
621 | Add const for struct config_node usage. | |
622 | Fix NULL pointer check in error path in clvmd do_command(). (2.02.78) | |
623 | Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51) | |
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. | |
627 | Create /var/run/lvm directory during clvmd initialisation if missing. | |
628 | Use new dm_prepare_selinux_context instead of dm_set_selinux_context. | |
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. | |
633 | Cope better with an undefined target_percent operation in _percent_run. | |
634 | Avoid writing to freed memory in vg_release and rename to free_vg. (2.02.78) | |
635 | ||
636 | Version 2.02.78 - 6th December 2010 | |
637 | =================================== | |
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. | |
640 | Add backtraces for dev_set() and dev_close_immediate() errors in set_lv(). | |
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. | |
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. | |
655 | Fix debug logging of derived flag LCK_CACHE in clvmd. | |
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. | |
667 | Suppress 'No PV label' message when removing several PVs without mdas. | |
668 | Fix default /etc/lvm permissions to be 0755. (2.02.66) | |
669 | ||
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. | |
675 | Remove tag length restriction and allow / = ! : # & characters. | |
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. | |
679 | Fix fsadm no longer to require '-f' to resize an unmounted filesystem. | |
680 | Fix fsadm to detect mounted filesystems on older systems. (2.0.75) | |
681 | Extend cling allocation policy to recognise PV tags (cling_by_tags). | |
682 | Add allocation/cling_tag_list to lvm.conf. | |
683 | Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76) | |
684 | ||
685 | Version 2.02.76 - 8th November 2010 | |
686 | =================================== | |
687 | Clarify error messages when activation fails due to activation filter use. | |
688 | Add pacemaker script VolumeGroup.ocf with configure --enable-ocf. | |
689 | Import make.tmpl into include/ Makefile. | |
690 | Fix handling of online filesystem resize (using new fsadm return code). | |
691 | Add DIAGNOSTICS section to fsadm man page. | |
692 | Modify fsadm to return different status code for check of mounted filesystem. | |
693 | Update VG metadata only once in vgchange when making multiple changes. | |
694 | Allow independent vgchange arguments to be used together. | |
695 | Automatically unmount invalidated snapshots in dmeventd. | |
696 | Suppress some superfluous messages from clang static analysis. | |
697 | Fix a deadlock caused by double close in clvmd. | |
698 | Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area. | |
699 | Use static for internal _align_chunk() and _new_chunk() from pool-fast.c. | |
700 | Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange. | |
701 | Add lvm2app functions to query any pv, vg, or lv property / report field. | |
702 | ||
703 | Version 2.02.75 - 25th October 2010 | |
704 | =================================== | |
705 | Annotate more variables and parameters as const. | |
706 | Fix missing variable initialization in cluster_send() function from cmirrord. | |
707 | Fix pointer for VG name in _pv_resize_single error code path. | |
708 | Fix warning for changed alignment requirements for dmeventd read/write func. | |
709 | Add global/metadata_read_only to use unrepaired metadata in read-only cmds. | |
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. | |
712 | Fix strict-aliasing compile warning in partition table scanning. | |
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. | |
718 | Fix hang when repairing a mirrored-log that had both devs fail. | |
719 | Convey need for snapshot-merge target in lvconvert error message and man page. | |
720 | Add devices/disable_after_error_count config to limit access to failing devs. | |
721 | Give correct error message when creating a too-small snapshot. | |
722 | Implement vgextend --restoremissing to reinstate missing devs that return. | |
723 | Make lvconvert respect --yes and --force when converting an inactive log. | |
724 | Refactor and add 'get' functions for lv properties/fields. | |
725 | Update script for fsadm testing. | |
726 | Better support of noninteractive shell execution of fsadm. | |
727 | Fix usage of --yes flag for ReiserFS resize in fsadm. | |
728 | Fix detection of mounted filesystems for fsadm when udev is used. | |
729 | Fix assignment of default value to LVM variable in fsadm. | |
730 | Fix support for --yes flag for fsadm. | |
731 | Do not execute lvresize from fsadm --dry-run. | |
732 | Fix fsadm return error code from user's break action. | |
733 | Allow CC to be overridden at build time (for 'scan-build make'). | |
734 | Rename 'flags' to 'status' in struct metadata_area. | |
735 | Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74) | |
736 | Use dm_zalloc and dm_pool_zalloc throughout. | |
737 | Add pv_get_property and create generic internal _get_property function. | |
738 | Add 'get' functions for pv and vg properties/fields. | |
739 | Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv. | |
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. | |
742 | Refactor report.c '*_disp' functions to call supporting functions. | |
743 | Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files. | |
744 | Fix vg_read memory leak with directory-based metadata. | |
745 | Fix memory leak of config_tree in reinitialization code path. | |
746 | Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg. | |
747 | Read whole /proc/self/maps file before working with maps entries. | |
748 | Speed up unquoting of quoted double quotes and backslashes. | |
749 | Speed up CRC32 calculations by using a larger lookup table. | |
750 | ||
751 | Version 2.02.74 - 24th September 2010 | |
752 | ===================================== | |
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. | |
755 | Fix partial mode operations for lvm1 metadata format. | |
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. | |
759 | Add random suffix to archive file names to prevent races when being created. | |
760 | Reinitialize archive and backup handling on toolcontext refresh. | |
761 | Make poll_mirror_progress report PROGRESS_CHECK_FAILED if LV is not a mirror. | |
762 | Like mirrors, don't scan origins if ignore_suspended_devices() is set. | |
763 | Fix return type qualifier to avoid compiler warning. (2.02.69) | |
764 | Automatically generate LSB Requires-Start for clvmd init script. | |
765 | Fix return code of pvmove --abort PV. | |
766 | Fix pvmove --abort to remove even for empty pvmove LV. | |
767 | Add configure --with-default-data-alignment. | |
768 | Update heuristic used for default and detected data alignment. | |
769 | Add "devices/default_data_alignment" to lvm.conf. | |
770 | Add implementation for simple numeric 'get' property functions. | |
771 | Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get' function | |
772 | Add properties.[ch] to lib/report using columns.h. | |
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. | |
777 | Simplify MD/swap signature detection in pvcreate and allow aborting. | |
778 | Allow --yes to be used without --force mode. | |
779 | Fix file descriptor leak in swap signature detection error path. | |
780 | Detect and allow abort in pvcreate if LUKS signature is detected. | |
781 | Always mask lock flags correctly when checking for LCK_WRITE. | |
782 | ||
783 | Version 2.02.73 - 18th August 2010 | |
784 | ================================== | |
785 | Fix potential for corruption during cluster mirror device failure. | |
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. | |
790 | Allow internal suspend and resume of origin without its snapshots. | |
791 | Fix dev_manager_transient to access -real device not snapshot-origin. | |
792 | Monitor origin -real device below snapshot instead of overlay device. | |
793 | Don't really change monitoring status when in test mode. | |
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. | |
797 | Fix 'lvconvert --splitmirrors' in cluster operation. | |
798 | Fix clvmd init script exit code to return 4 when executed as non-root user. | |
799 | Change default alignment of pe_start to 1MB. | |
800 | Add --norestorefile option to pvcreate. | |
801 | Require --restorefile when using pvcreate --uuid. | |
802 | Recognise and give preference to md device partitions (blkext major). | |
803 | Never scan internal LVM devices. | |
804 | Don't ignore user-specified PVs in split-mirror operations. (2.02.71) | |
805 | Fix data corruption bug in cluster mirrors. | |
806 | Require logical volume(s) to be explicitly named for lvconvert --merge. | |
807 | Avoid changing aligned pe_start as a side-effect of very verbose logging. | |
808 | Use built-in rule for device aliases: block/ < dm- < disk/ < mapper/ < other. | |
809 | Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes(). | |
810 | Fix const warning in archive_file structure from archive.c. | |
811 | Clean generated files .exported_symbols_generated, example.conf for distclean. | |
812 | Handle failure of all mirrored log devices and all but one mirror leg. | |
813 | Disallow 'mirrored' log type for cluster mirrors. | |
814 | Do not use VPATH in include/Makefile. | |
815 | Fix exported_symbols generation to use standard compiler arguments. | |
816 | Use #include <> not "" in lvm2app.h which gets installed on the system. | |
817 | Make lib and liblvm.device-mapper wait for include file generation. | |
818 | Fix configure to supply DEFAULT_RUN_DIR to Makefiles. | |
819 | Fix allocation of wrong number of mirror logs with 'remove' fault policy. | |
820 | ||
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. | |
826 | Never use clvmd singlenode unless explicitly requested with -Isinglenode. | |
827 | ||
828 | Version 2.02.71 - 28th July 2010 | |
829 | ================================ | |
830 | Document LVM fault handling in doc/lvm_fault_handling.txt. | |
831 | Make vgck warn about missing PVs. | |
832 | Clarify help text for vg_mda_count. | |
833 | Check if cluster log daemon is running before allowing cmirror create. | |
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. | |
837 | Check if LV with specified name already exists when splitting a mirror. | |
838 | Fix suspend/resume logic for LVs resulting from splitting a mirror. | |
839 | Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. | |
840 | Switch cmirrord and clvmd to use dm_create_lockfile. | |
841 | Allow clvmd pidfile to be configurable. | |
842 | Update comments about memory handling in lvm2app.h. | |
843 | Add more verbose messages while checking volume_list and hosttags settings. | |
844 | Add log_error when strdup fails in {vg|lv}_change_tag(). | |
845 | Remove unnecessary includes in liblvm files. | |
846 | Use __attribute__ consistently throughout. | |
847 | Fix redundant declarations and always compile with -Wredundant-decls. | |
848 | Fix possible hang when all mirror images of a mirrored log fail. | |
849 | Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. | |
850 | Init mda->list in mda_copy. | |
851 | Do not log backtrace in valid _lv_resume() code path. | |
852 | Cleanup help strings in configure.in. | |
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. | |
855 | Adjust auto-metadata repair and caching logic to try to cope with empty mdas. | |
856 | ||
857 | Version 2.02.70 - 6th July 2010 | |
858 | =============================== | |
859 | Remove log directly if all mirror images of a mirrored log fail. | |
860 | Randomly select which mdas to use or ignore. | |
861 | Add some missing standard configure.in checks. | |
862 | Add printf format attributes to yes_no_prompt and fix a caller. | |
863 | Always pass unsuspended dm devices through persistent filter to other filters. | |
864 | Move test for suspended dm devices ahead of other filters. | |
865 | Fix another segfault in clvmd -R if no response from daemon. (2.02.68) | |
866 | Remove superfluous suspended device counter from clvmd. | |
867 | Fix lvm shell crash when input is entirely whitespace. | |
868 | Update partial mode warning message. | |
869 | Preserve memlock balance in clvmd when activation triggers a resume. | |
870 | Restore the removemissing behaviour of lvconvert --repair --use-policies. | |
871 | ||
872 | Version 2.02.69 - 30th June 2010 | |
873 | ================================ | |
874 | Fix vgremove to allow removal of VG with missing PVs. (2.02.52) | |
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. | |
878 | Describe --vgmetadatacopies in lvm.conf and other man pages. | |
879 | Add --[vg]metadatacopies to select number of mdas to use in a VG. | |
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. | |
883 | Ensure region_size of mirrored log does not exceed its full size. | |
884 | Generate liblvm2app exported symbols from header file. | |
885 | Preload libc locale messages to prevent reading it in memory locked state. | |
886 | Fix handling of simultaneous mirror image and mirrored log image failure. | |
887 | ||
888 | Version 2.02.68 - 23rd June 2010 | |
889 | ================================ | |
890 | Fix clvmd initscript status to print only active clustered LVs. | |
891 | Add lv_path to reports to offer full /dev pathname. | |
892 | Fix typo in warning message about missing device with allocated data areas. | |
893 | Add device name and offset to raw_read_mda_header error messages. | |
894 | Honour log argument when down-converting stacked mirror. | |
895 | Sleep to workaround clvmd -S race: socket closed early and server drops cmd. | |
896 | Use early udev synchronisation and update of dev nodes for clustered mirrors. | |
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. | |
900 | Do not use internal DLM lock definitions in generic LVM2 clvmd code. | |
901 | Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. | |
902 | Fix lvm2cmd example in documentation. | |
903 | Allow use of lvm2app and lvm2cmd headers in C++ code. | |
904 | Remove unused #includes from clvmd files and introduce clvmd-common.h. | |
905 | Move common inclusions to clvmd-common.h. | |
906 | Use #include "" for libdevmapper.h and configure.h throughout tree. | |
907 | Fix LVM_PATH expansion when exec_prefix=NONE. (2.02.67) | |
908 | Fix segfault in clvmd -R if no response from daemon received. | |
909 | ||
910 | Version 2.02.67 - 4th June 2010 | |
911 | =============================== | |
912 | Handle failed restart of clvmd using -S switch properly. | |
913 | Fix clvmd initscript restart command to start clvmd if not yet running. | |
914 | Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries). | |
915 | Require partial option in lvchange --refresh for partial LVs. | |
916 | Do not fail lvm_init() if init_logging() or _init_rand() generates an errno. | |
917 | Don't merge unchanged persistent cache file before dumping if tool scanned. | |
918 | Fix incorrect memory pool deallocation while using vg_read for files. | |
919 | Add --type parameter description to the lvcreate man page. | |
920 | Replace strncmp kernel version number checks with proper ones. | |
921 | Avoid selecting names under /dev/block if there is an alternative. | |
922 | Update clustered log kernel module name to log-userspace for 2.6.31 onwards. | |
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. | |
934 | ||
935 | Version 2.02.66 - 20th May 2010 | |
936 | =============================== | |
937 | If unable to obtain snapshot percentage leave value blank on reports. | |
938 | Add install_system_dirs and install_initscripts makefile targets. | |
939 | Add configure options for system and locking directories. | |
940 | Generate example.conf so default lvm.conf contents can be configured. | |
941 | Install lvmconf script by default. | |
942 | Remove unnecessary versioned dmeventd plugin symlinks. | |
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. | |
946 | Add find_vgname_from_{pvname|pvid} functions. | |
947 | Add pvid_from_devname and lvmcache_vgname_from_pvid lvmcache functions. | |
948 | Validate orphan and VG_GLOBAL lock order too. | |
949 | Accept orphan VG names as parameters to lock_vol() and related functions. | |
950 | Use is_orphan_vg in place of hard-coded prefix tests and add is_global_vg. | |
951 | ||
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. | |
957 | Use /bin/bash for scripts with bashisms. | |
958 | Skip internal lvm devices in scan if ignore_suspended_devices is set. | |
959 | Do not merge old device cache after we run full scan. (2.02.56) | |
960 | Add pkgconfigdir Makefile variable for make install override. | |
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. | |
966 | Fix truncated total size displayed by pvscan. | |
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. | |
971 | Add dm_list_splice() function to join two lists together. | |
972 | ||
973 | Version 2.02.64 - 30th April 2010 | |
974 | ================================= | |
975 | Avoid pointless initialisation when the 'version' command is run directly. | |
976 | Fix memory leak for invalid regex pattern input. | |
977 | Display invalid regex pattern for filter configuration in case of error. | |
978 | Remove no-longer-used arg_ptr_value. | |
979 | Fix -M and --type to use strings, not pointers that change on config refresh. | |
980 | Fix lvconvert error message when existing mirrored LV is not found. | |
981 | Set appropriate udev flags for reserved LVs. | |
982 | Disallow the direct removal of a merging snapshot. | |
983 | Don't preload the origin when removing a snapshot whose merge is pending. | |
984 | Disallow the addition of mirror images while a conversion is happening. | |
985 | Disallow primary mirror image removal when mirror is not in-sync. | |
986 | Remove obsolete --name parameter from vgcfgrestore. | |
987 | Add -S command to clvmd to restart the daemon preserving exclusive locks. | |
988 | Increment lvm2app version from 1 to 2 (memory allocation changes). | |
989 | Change lvm2app memory alloc/free for pv/vg/lv properties. | |
990 | Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency. | |
991 | Install symbolic .so links with relative paths between usrlibdir and libdir. | |
992 | Add awk script relpath.awk to calculate paths for relative symlinks. | |
993 | Use @AWK@ in makefiles. | |
994 | Fix double DESTDIR usage for infodir and mandir. | |
995 | ||
996 | Version 2.02.63 - 14th April 2010 | |
997 | ================================= | |
998 | Rename lvm_dump.sh to lvmdump.sh. | |
999 | Allow incomplete mirror restore in lvconvert --repair upon insufficient space. | |
1000 | Do not reset position in metadata ring buffer on vgrename and vgcfgrestore. | |
1001 | Allow VGs with active LVs to be renamed. | |
1002 | Use UUIDs instead of names while processing event handlers. | |
1003 | Only pass visible LVs to tools in cmdline VG name/tag expansions without -a. | |
1004 | Use typedefs for toollib process_each functions. | |
1005 | Use C locales and use_mlockall for clvmd. | |
1006 | Refactor code related to vg->pvs list and add pv->vg link. | |
1007 | Mask LCK_HOLD flag in cluster VG locks for backwards compatibility. | |
1008 | Add activation/polling_interval to lvm.conf as --interval default. | |
1009 | Don't ignore error if resuming any LV fails in resume_lvs. | |
1010 | Skip closing persistent filter cache file if open failed. | |
1011 | Install .a and .so links into $(usrlibdir). | |
1012 | Add --enable-write_install options to install user-writable files. | |
1013 | Use INSTALL_PROGRAM/DATA/WDATA target. | |
1014 | Switch from using VPATH to vpath in Makefiles. | |
1015 | Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert. | |
1016 | Fix pvmove allocation to take existing parallel stripes into account. | |
1017 | Add pvmove_source_seg to struct lv_segment. | |
1018 | Fix incorrect removal of symlinks after LV deactivation fails. | |
1019 | Fix is_partitioned_dev not to attempt to reopen device. | |
1020 | Fix another thread race in clvmd. | |
1021 | Refactor management of vg->pvs list. | |
1022 | Fix lcov rules and generate better coverage report. | |
1023 | Improve vg_validate to detect some loops in lists. | |
1024 | Change most remaining log_error WARNING messages to log_warn. | |
1025 | Always use blocking lock for VGs and orphan locks. | |
1026 | Allocate all memory for segments from private VG mempool. | |
1027 | Return newly allocated PV segment after segment split. | |
1028 | Optimise searching PV segments for seeking the most recently-added. | |
1029 | Remove vg_validate call when parsing cached metadata. | |
1030 | Use hash table of LVs to speed up parsing of text metadata with many LVs. | |
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. | |
1033 | Fix 'make install' when $(builddir) is different from $(srcdir). | |
1034 | Fix dso resource leak in error path of dmeventd. | |
1035 | Use C locales and use_mlockall for dmeventd. | |
1036 | Fix --alloc contiguous policy only to allocate one set of parallel areas. | |
1037 | Do not allow {vg|lv}change --ignoremonitoring if on clustered VG. | |
1038 | Improved dependency tracking for dmeventd and liblvm2cmd sources. | |
1039 | Improved Makefile rules for distclean and cflow targets. | |
1040 | Add ability to create mirrored logs for mirror LVs. | |
1041 | Fix clvmd cluster propagation of dmeventd monitoring mode. | |
1042 | Allow ALLOC_ANYWHERE to split contiguous areas. | |
1043 | Use INTERNAL_ERROR for internal errors throughout tree. | |
1044 | Add some assertions to allocation code. | |
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. | |
1048 | Allow dynamic extension of array of areas selected as allocation candidates. | |
1049 | Export and use only valid cookie value in test suite. | |
1050 | Remove const modifier for struct volume_group* from process_each_lv_in_vg(). | |
1051 | Don't allow resizing of internal logical volumes. | |
1052 | Fix libdevmapper-event pkgconfig version string to match libdevmapper. | |
1053 | Avoid scanning all pvs in the system if operating on a device with mdas. | |
1054 | Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure. | |
1055 | Get stacktrace if testsuite test drops core and lvm was built with debugging. | |
1056 | Disable long living process flag in lvm2app. | |
1057 | Fix pvcreate device md filter check. | |
1058 | Suppress repeated errors about the same missing PV uuids. | |
1059 | Bypass full device scans when using internally-cached VG metadata. | |
1060 | Only do one full device scan during each read of text format metadata. | |
1061 | Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls. | |
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. | |
1064 | Introduce is_missing_pv(). | |
1065 | Fix clvmd Makefile to not overwrite LIBS from template definition. | |
1066 | ||
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. | |
1071 | Remove -rdynamic from static builds. | |
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. | |
1075 | Toggle configure help to print --disable-fsadm. | |
1076 | Use $() instead of ${} consistently for all Makefile variables. | |
1077 | Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere. | |
1078 | Use $(top_builddir) for inclusion of make.tmpl in Makefiles. | |
1079 | Fix autoconf warning about ignored datarootdir. | |
1080 | Increase AC_PREREQ version to 2.61 (for AC_PROC_SED, AC_PROG_MKDIR_P). | |
1081 | Handle misaligned devices that report alignment_offset of -1. | |
1082 | Extend core allocation code in preparation for mirrored log areas. | |
1083 | Rewrite clvmd init script. | |
1084 | Remove lvs_in_vg_activated_by_uuid_only call. | |
1085 | No longer fall back to looking up active devices by name if uuid not found. | |
1086 | Don't touch /dev in vgmknodes if activation is disabled. | |
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. | |
1092 | Refactor snapshot-merge deptree and device removal to support info-by-uuid. | |
1093 | ||
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. | |
1110 | Exclude internal VG names and uuids from lists returned through lvm2app. | |
1111 | Add %ORIGIN support to lv{create,extend,reduce,resize} --extents. | |
1112 | Add _mda_copy to clone a struct metadata_area. | |
1113 | Remove pointless versioned symlinks to dmeventd plugin libraries. | |
1114 | Fix dmeventd snapshot plugin build dependency. | |
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. | |
1123 | ||
1124 | Version 2.02.60 - 23rd January 2010 | |
1125 | =================================== | |
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.) | |
1132 | Fix first log message prefix in syslog for dmeventd plugins. | |
1133 | Fix exported symbols names for dmeventd lvm2 wrapper plugin. | |
1134 | Make failed locking initialisation messages more descriptive. | |
1135 | ||
1136 | Version 2.02.59 - 21st January 2010 | |
1137 | =================================== | |
1138 | Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. | |
1139 | Cleanup memory initialization and freeing in pv_read() and pv_create(). | |
1140 | Clear pointer and counters after their release in _fin_commands(). | |
1141 | Stop dmeventd trying to access already-removed snapshots. | |
1142 | Remove (fallback) /dev mknod from cmirrord. | |
1143 | Add t-topology-support.sh and t-snapshot-merge.sh tests. | |
1144 | Fix clvmd to never scan suspended devices. | |
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). | |
1150 | Make cluster log communication structures architecture independant. | |
1151 | Fix cluster log in-memory bitmap handling. | |
1152 | Improve snapshot merge metadata import validation. | |
1153 | Improve target type compatibility checking in _percent_run(). | |
1154 | Add 'target_status_compatible' method to 'struct segtype_handler'. | |
1155 | Change underscore to hyphen in table line for clustered log type. | |
1156 | ||
1157 | Version 2.02.58 - 14th January 2010 | |
1158 | =================================== | |
1159 | Cleanup some minor gcc warnings. | |
1160 | Add --merge to lvconvert to merge a snapshot into its origin. | |
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. | |
1163 | ||
1164 | Version 2.02.57 - 12th January 2010 | |
1165 | =================================== | |
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. | |
1171 | Add --splitmirrors to lvconvert to split off part of a mirror. | |
1172 | Change background polldaemon's process name to "(lvm2)". | |
1173 | Allow vgremove to remove a VG with PVs missing after a prompt. | |
1174 | Return success in lvconvert --repair --use-policies on failed allocation. | |
1175 | Keep log type consistent when changing mirror image count. | |
1176 | Always set environment variables for an LVM2 device in 11-dm-lvm.rules. | |
1177 | Add activation/udev_rules config option in lvm.conf. | |
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). | |
1182 | Rename mirror_device_fault_policy to mirror_image_fault policy. | |
1183 | Remove empty PV devices if lvconvert --repair is using defined policies. | |
1184 | Use fixed buffer to prevent stack overflow in persistent filter dump. | |
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. | |
1189 | Use proper mask for VG lock mode in clvmd. | |
1190 | Allow precommitted metadata to be dropped from lvmcache. | |
1191 | Move processing of VG locks to separate function in clvmd. | |
1192 | Properly decode all flags in clvmd messages including VG locks. | |
1193 | Properly handle precommitted cache flag when only committed metadata present. | |
1194 | Resume renamed volumes in reverse order to preserve memlock pairing. | |
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. | |
1201 | Destroy allocated mempool in _vg_read_orphans() error path. | |
1202 | Fix some pvresize and toollib error paths with missing VG releases/unlocks. | |
1203 | Explicitly call suspend for temporary mirror layer. | |
1204 | Allow use of precommitted metadata when a PV is missing. | |
1205 | Add memlock information to do_lock_lv debug output. | |
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. | |
1210 | Replace magic masks in cluster locking code by defined masks. | |
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. | |
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. | |
1228 | ||
1229 | Version 2.02.56 - 24th November 2009 | |
1230 | ==================================== | |
1231 | Add missing vg_release to pvs and pvdisplay to fix memory leak. | |
1232 | Do not try to unlock VG which is not locked in _process_one_vg. | |
1233 | Move is_long_lived persistent_filter_dump to happen after every full scan. | |
1234 | Refresh device filters before full device rescan in lvmcache. | |
1235 | Return error status if vgchange fails to activate some volume. | |
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) | |
1238 | ||
1239 | Version 2.02.55 - 19th November 2009 | |
1240 | ==================================== | |
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. | |
1246 | Tidy some uses of arg_count and introduce arg_is_set. | |
1247 | Export outnl and indent functions for modules. | |
1248 | Flush stdout after yes/no prompt. | |
1249 | Update vgsplit and vgcreate to use vg_set_clustered. | |
1250 | Add vg_mda_count and vg_set_clustered library functions. | |
1251 | Add more vgcreate and vgsplit nightly tests. | |
1252 | Insert some missing stack macros into activation code. | |
1253 | Recognise DRBD devices and handle them like md devices. | |
1254 | ||
1255 | Version 2.02.54 - 26th October 2009 | |
1256 | =================================== | |
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. | |
1259 | Permit snapshots of mirrors. | |
1260 | Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. | |
1261 | Fix clvmd segfault when refresh_toolcontext fails. | |
1262 | Remember to clear 'global lock held during cache refresh' state after use. | |
1263 | Use udev flags support in LVM and apply various fixes to udev rules. | |
1264 | Delay announcing mirror monitoring to syslog until initialisation succeeded. | |
1265 | Handle metadata with unknown segment types more gracefully. | |
1266 | Set default owner and group to null. | |
1267 | Add dmeventd.static to the build. | |
1268 | Disable realtime support code by default. | |
1269 | Make clvmd return 0 on success rather than 1. | |
1270 | Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. | |
1271 | Add implict pvcreate support to vgcreate and vgextend. | |
1272 | Correct example.conf to indicate that lvm2 not lvm1 is the default format. | |
1273 | Remove an unused stray LVM1_SUPPORT ifdef. | |
1274 | Only include selinux libs in libdevmapper.pc when selinux build enabled. | |
1275 | Allow for a build directory separate from the source. | |
1276 | Update distclean target for rename clogd to cmirrord. (2.02.52) | |
1277 | Only do lock conversions in clvmd if we are explicitly asked for one. | |
1278 | Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. | |
1279 | Factor out poll_mirror_progress and introduce progress_t. | |
1280 | Distinguish between powers of 1000 and powers of 1024 in unit suffixes. | |
1281 | Restart lvconverts in vgchange by sharing lv_spawn_background_polling. | |
1282 | Generalise polldaemon code by changing mirror-specific variable names. | |
1283 | Don't attempt to deactivate an LV if any of its snapshots are in use. | |
1284 | Return error if lv_deactivate fails to remove device from kernel. | |
1285 | Provide alternative implementation of obsolete siginterrupt(). | |
1286 | Consolidate LV allocation into alloc_lv(). | |
1287 | Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) | |
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. | |
1291 | ||
1292 | Version 2.02.53 - 25th September 2009 | |
1293 | ===================================== | |
1294 | Create any directories in /dev with DM_DEV_DIR_UMASK (022). | |
1295 | Enable dmeventd monitoring section of config file by default. | |
1296 | Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. | |
1297 | Fix lvm2app test to run under test/api subdirectory only when configured. | |
1298 | Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. | |
1299 | ||
1300 | Version 2.02.52 - 15th September 2009 | |
1301 | ===================================== | |
1302 | Update _process_one_vg to cleanup properly after vg_read_error. | |
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) | |
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. | |
1312 | Fix global locking in PV reporting commands (2.02.49). | |
1313 | Fix pvcreate string termination in duplicate uuid warning message. | |
1314 | Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). | |
1315 | Fix vgcfgrestore error paths when locking fails (2.02.49). | |
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. | |
1321 | Added configure --enable-cmirrord to build the cluster mirror log daemon. | |
1322 | Rename clogd to cmirrord. | |
1323 | Make lvchange --refresh only take a read lock on volume group. | |
1324 | Fix race where non-blocking file locks could be granted in error. | |
1325 | Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). | |
1326 | Fix compile warning in clvmd. | |
1327 | Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. | |
1328 | Remove useless _pv_write wrapper. | |
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. | |
1332 | Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. | |
1333 | ||
1334 | Version 2.02.51 - 6th August 2009 | |
1335 | ================================= | |
1336 | Fix locking in clvmd (2.02.50). | |
1337 | Add --noudevsync option for relevant LVM tools. | |
1338 | Add activation/udev_sync to lvm.conf. | |
1339 | Only change LV symlinks on ACTIVATE not PRELOAD. | |
1340 | Make lvconvert honour log mirror options combined with downconversion. | |
1341 | Allow LV suspend while --ignorelockingfailure is in force. | |
1342 | Update synopsis in lvconvert manpage to mention --repair. | |
1343 | Set cookies in activation code and wait for udev to complete processing. | |
1344 | Added configure --enable-udev_rules --enable-udev_sync. | |
1345 | Added configure --with-udev-prefix --with-udevdir. | |
1346 | Added udev dir to hold udev rules. | |
1347 | Add devices/data_alignment_detection to lvm.conf. | |
1348 | Add devices/data_alignment_offset_detection to lvm.conf. | |
1349 | Add --dataalignmentoffset to pvcreate to shift start of aligned data area. | |
1350 | Fix _mda_setup() to not check first mda's size before pe_align rounding. | |
1351 | Document -I option of clvmd in the man page. | |
1352 | Fix configure script to handle multiple clvmd selections. | |
1353 | Fix lvm2app.pc installation filename. | |
1354 | Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. | |
1355 | Rename lvm.h to lvm2app.h for now. | |
1356 | ||
1357 | Version 2.02.50 - 28th July 2009 | |
1358 | ================================ | |
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. | |
1374 | Rename lvm_reload_config to lvm_config_reload. | |
1375 | Refactor _override_settings to use new override_config_tree_from_string. | |
1376 | Add vg_reduce to metadata.c and metadata-exported.h. | |
1377 | Update lvm.h to clarify API behavior and return codes. | |
1378 | Update lvm_vg_extend to do an implicit pvcreate on the device. | |
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. | |
1381 | Refactor pvcreate and lvcreate for liblvm. | |
1382 | Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. | |
1383 | All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. | |
1384 | Fix race condition with vgcreate and vgextend on same device (2.02.49). | |
1385 | Remove redundant validate_name call from vgreduce. | |
1386 | Remove unused handles lvseg, pvseg inside liblvm/lvm.h. | |
1387 | Add liblvm2app Makefile installation targets. | |
1388 | Add liblvm pkgconfig file. | |
1389 | Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. | |
1390 | Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. | |
1391 | Pass a pointer to struct cmd_context to init_multiple_segtypes | |
1392 | Return EINVALID_CMD_LINE not success when invalid VG name format is used. | |
1393 | Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). | |
1394 | Add log_errno to set a specific errno and replace log_error in due course. | |
1395 | Change create_toolcontext to still return an object if it fails part-way. | |
1396 | Add EUNCLASSIFIED (-1) as the default LVM errno code. | |
1397 | Store any errno and error messages issued while processing each command. | |
1398 | Use log_error macro consistently throughout in place of log_err. | |
1399 | ||
1400 | Version 2.02.49 - 15th July 2009 | |
1401 | ================================ | |
1402 | Add readonly locking type to replace implementation of --ignorelockingfailure. | |
1403 | Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. | |
1404 | Add unit test case for liblvm VG create/delete APIs. | |
1405 | Add liblvm APIs to implement creation and deletion of VGs. | |
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. | |
1408 | Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. | |
1409 | Use _exit() not exit() after forking to avoid flushing libc buffers twice. | |
1410 | Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. | |
1411 | Make cmd->cmd_line const. | |
1412 | Fix dev name mismatch in vgcreate man page example. | |
1413 | Refactor vg_remove_single for use in liblvm. | |
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. | |
1420 | Add parent node to config_node structure. | |
1421 | Update vgsplit and vgcreate to call new vg_create and 'set' functions. | |
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. | |
1426 | Make various exit/cleanup paths more robust after lvm init failures. | |
1427 | Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. | |
1428 | Remove unnecessary locking and existence tests from new vg_read() interface. | |
1429 | Permit several segment types to be registered by a single shared object. | |
1430 | Update the man pages to document size units uniformly. | |
1431 | Allow commandline sizes to be specified in terms of bytes and sectors. | |
1432 | Update 'md_chunk_alignment' to use stripe-width to align PV data area. | |
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. | |
1437 | ||
1438 | Version 2.02.48 - 30th June 2009 | |
1439 | ================================ | |
1440 | Abort if automatic metadata correction fails when reading VG to update it. | |
1441 | Explicitly request fallback to default major number in device mapper. | |
1442 | Ignore suspended devices during repair. | |
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. | |
1447 | Fix memory leaks in toolcontext error path. | |
1448 | Reinstate partial activation support in clustered mode. (2.02.40) | |
1449 | Allow metadata correction even when PVs are missing. | |
1450 | Use 'lvm lvresize' instead of 'lvresize' in fsadm. | |
1451 | Do not use '-n' realine option in fsadm for busybox compatiblity. | |
1452 | Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. | |
1453 | Round up requested readahead to at least one page and print warning. | |
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. | |
1457 | Unify error messages when processing inconsistent volume group. | |
1458 | Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. | |
1459 | Introduce lvconvert --use_policies (repair policy according to lvm.conf). | |
1460 | Update clvmd-corosync to match new corosync API. | |
1461 | Fix lib Makefile to include any shared libraries in default target. | |
1462 | Fix rename of active snapshot with virtual origin. | |
1463 | Fix convert polling to ignore LV with different UUID. | |
1464 | Cache underlying device readahead only before activation calls. | |
1465 | Fix segfault when calculating readahead on missing device in vgreduce. | |
1466 | Remove verbose 'visited' messages. | |
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. | |
1469 | When creating new LV, double-check that name is not already in use. | |
1470 | Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. | |
1471 | Rename internal vorigin LV to match visible LV. | |
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. | |
1475 | Make --snapshot optional with lvcreate --virtualsize. | |
1476 | Generalise --virtualoriginsize to --virtualsize. | |
1477 | Skip virtual origins in process_each_lv_in_vg() without --all. | |
1478 | Fix counting of virtual origin LVs in vg_validate. | |
1479 | Attempt to load dm-zero module if zero target needed but not present. | |
1480 | ||
1481 | Version 2.02.47 - 22nd May 2009 | |
1482 | =============================== | |
1483 | Rename liblvm.so to liblvm2app.so and use configure --enable-applib. | |
1484 | Reinstate version in liblvm2cmd.so soname. (2.02.44) | |
1485 | ||
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. | |
1490 | Enable online resizing of mirrors. | |
1491 | Use suspend with flush when device size was changed during table preload. | |
1492 | Implement query_resource_fn for cluster_locking. | |
1493 | Support query_resource_fn in locking modules. | |
1494 | Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. | |
1495 | Fix pvmove to revert operation if temporary mirror creation fails. | |
1496 | Fix metadata export for VG with missing PVs. | |
1497 | Add vgimportclone and install it and the man page by default. | |
1498 | Force max_lv restriction only for newly created LV. | |
1499 | Remove unneeded import parameter from lv_create_empty. | |
1500 | Merge lv_is_displayable and lv_is_visible functions. | |
1501 | Introduce lv_set_visible & lv_set_hidden functions. | |
1502 | Fix lv_is_visible to handle virtual origin. | |
1503 | Introduce link_lv_to_vg and unlink_lv_from_vg functions. | |
1504 | Remove lv_count from VG and use counter function instead. | |
1505 | Fix snapshot segment import to not use duplicate segments & replace. | |
1506 | Do not query nonexistent devices for readahead. | |
1507 | Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. | |
1508 | Remove snapshot_count from VG and use function instead. | |
1509 | Fix first_seg() call for empty segment list. | |
1510 | Add install_lvm2 makefile target to install only the LVM2 components. | |
1511 | Reject missing PVs from allocation in toollib. | |
1512 | Fix PV datalignment for values starting prior to MDA area. (2.02.45) | |
1513 | Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). | |
1514 | Fix minimum width of devices column in reports. | |
1515 | Add lvs origin_size field. | |
1516 | Fix linux configure --enable-debug to exclude -O2. | |
1517 | Implement lvconvert --repair for repairing partially-failed mirrors. | |
1518 | Fix vgreduce --removemissing failure exit code. | |
1519 | Fix remote metadata backup for clvmd. | |
1520 | Introduce unlock_and_release_vg macro. | |
1521 | Introduce vg_release() to be called to free every struct volume_group. | |
1522 | Alloc PV internal structure from VG mempool if possible. | |
1523 | Fix metadata backup to run after vg_commit always. | |
1524 | Tidy clvmd volume lock cache functions. | |
1525 | Fix pvs report for orphan PVs when segment attributes are requested. | |
1526 | Fix pvs -a output to not read volume groups from non-PV devices. | |
1527 | Add MMC (mmcblk) device type to filters. | |
1528 | Introduce memory pools per volume group (to reduce memory for large VGs). | |
1529 | Use copy of PV structure when manipulating global PV lists. | |
1530 | Always return exit error status when locking of volume group fails. | |
1531 | Fix mirror log convert validation question. | |
1532 | Avoid referencing files from DESTDIR during build process. | |
1533 | Avoid creating some static libraries unless configured --enable-static_link. | |
1534 | Enable use of cached metadata for pvs and pvdisplay commands. | |
1535 | Add missing 'device-mapper' internal subdir build dependency. | |
1536 | Fix memory leak in mirror allocation code. | |
1537 | Save and restore the previous logging level when log level is changed. | |
1538 | Fix error message when archive initialization fails. | |
1539 | Make sure clvmd-corosync releases the lockspace when it exits. | |
1540 | Fix segfault for vgcfgrestore on VG with missing PVs. | |
1541 | Block SIGTERM & SIGINT in clvmd subthreads. | |
1542 | Detect and conditionally wipe swapspace signatures in pvcreate. | |
1543 | Fix maximal volume count check for snapshots if max_lv set for volume group. | |
1544 | Fix lvcreate to remove unused cow volume if the snapshot creation fails. | |
1545 | Fix error messages when PV uuid or pe_start reading fails. | |
1546 | Build new liblvm application-level library. | |
1547 | Rename liblvm.a to liblvm-internal.a. | |
1548 | Flush memory pool and fix locking in clvmd refresh and backup command. | |
1549 | Fix unlocks in clvmd-corosync. (2.02.45) | |
1550 | Fix error message when adding metadata directory to internal list fails. | |
1551 | Fix size and error message of memory allocation at backup initialization. | |
1552 | Remove old metadata backup file after renaming VG. | |
1553 | Restore log_suppress state when metadata backup file is up-to-date. | |
1554 | ||
1555 | Version 2.02.45 - 3rd March 2009 | |
1556 | ================================ | |
1557 | Avoid scanning empty metadata areas for VG names. | |
1558 | Attempt proper clean up in child before executing new binary in exec_cmd(). | |
1559 | Do not scan devices if reporting only attributes from PV label. | |
1560 | Use pkgconfig to obtain corosync library details during configuration. | |
1561 | Fix error returns in clvmd-corosync interface to DLM. | |
1562 | Add --refresh to vgchange and vgmknodes man pages. | |
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. | |
1568 | Add lib/lvm.h and lib/lvm_base.c for the new library interface. | |
1569 | Move tools/version.h to lib/misc/lvm-version.h. | |
1570 | Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. | |
1571 | Add system_dir parameter to create_toolcontext(). | |
1572 | Add --dataalignment to pvcreate to specify alignment of data area. | |
1573 | Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. | |
1574 | Provide da and mda locations in debug message when writing text format label. | |
1575 | Mention the restriction on file descriptors at invocation on the lvm man page. | |
1576 | Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. | |
1577 | No longer require kernel and metadata major numbers to match. | |
1578 | Add a fully-functional get_cluster_name() to clvmd corosync interface. | |
1579 | Remove duplicate cpg_initialize from clvmd startup. | |
1580 | Add option to /etc/sysconfig/cluster to select cluster type for clvmd. | |
1581 | Allow clvmd to start up if its lockspace already exists. | |
1582 | Separate PV label attributes which do not need parse metadata when reporting. | |
1583 | Remove external dependency on the 'cut' command from fsadm. | |
1584 | Fix pvs segfault when pv mda attributes requested for not available PV. | |
1585 | Add fsadm support for reszing ext4 filesysystems. | |
1586 | Move locking_type reading inside init_locking(). | |
1587 | Rename get_vgs() to get_vgnames() and clarify related error messages. | |
1588 | Allow clvmd to be built with all cluster managers & select one on cmdline. | |
1589 | Mention --with-clvmd=corosync in ./configure. | |
1590 | Replace internal vg_check_status() implementation. | |
1591 | Rename vg_read() to vg_read_internal(). | |
1592 | ||
1593 | Version 2.02.44 - 26th January 2009 | |
1594 | =================================== | |
1595 | Fix --enable-static_link after the recent repository changes. | |
1596 | Add corosync/DLM cluster interface to clvmd. | |
1597 | Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. | |
1598 | Fix lvresize size conversion for fsadm when block size is not 1K. | |
1599 | Fix pvs segfault when run with orphan PV and some VG fields. | |
1600 | Display a 'dev_size' of zero for missing devices in reports. | |
1601 | Add pv_mda_size to pvs and vg_mda_size to vgs. | |
1602 | Fix lvmdump /sys listing to include virtual devices directory. | |
1603 | Add "--refresh" functionality to vgchange and vgmknodes. | |
1604 | Avoid exceeding LV size when wiping device. | |
1605 | Calculate mirror log size instead of using 1 extent. | |
1606 | Ensure requested device number is available before activating with it. | |
1607 | Fix incorrect exit status from 'help <command>'. | |
1608 | Fix vgrename using UUID if there are VGs with identical names. | |
1609 | Fix segfault when invalid field given in reporting commands. | |
1610 | Move is_static from cmd to global is_static(). | |
1611 | Refactor init_lvm() for lvmcmdline and clvmd. | |
1612 | Add liblvm interactive test infrastructure to build. | |
1613 | Add skeleton lvm2.h file in preparation for a shared library interface. | |
1614 | Use better random seed value in temp file creation. | |
1615 | Add read_urandom to read /dev/urandom. Use in uuid calculation. | |
1616 | Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. | |
1617 | Fix race in vgcreate that would result in second caller overwriting first. | |
1618 | Fix uninitialised lv_count in vgdisplay -c. | |
1619 | Don't skip updating pvid hash when lvmcache_info struct got swapped. | |
1620 | Add tinfo to termcap search path for pld-linux. | |
1621 | Fix startup race in clvmd. | |
1622 | Generate Red Hat clvmd startup script at config time with correct paths. | |
1623 | Fix clvmd & dmeventd builds after tree restructuring. | |
1624 | Cope with snapshot dependencies when removing a whole VG with lvremove. | |
1625 | Make man pages and tool help text consistent using | for alternative options. | |
1626 | ||
1627 | Version 2.02.43 - 10th November 2008 | |
1628 | ==================================== | |
1629 | Merge device-mapper into the lvm2 tree. | |
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. | |
1632 | Move list.c into libdevmapper and rename functions. | |
1633 | Rename a couple of variables that matched function names. | |
1634 | Use simplified x.y.z version number in libdevmapper.pc. | |
1635 | Remove ancient debian directory. | |
1636 | Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. | |
1637 | ||
1638 | Version 2.02.42 - 26th October 2008 | |
1639 | =================================== | |
1640 | Accept locking fallback_to_* options in the global section as documented. | |
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. | |
1643 | ||
1644 | Version 2.02.41 - 17th October 2008 | |
1645 | =================================== | |
1646 | Use temp table to set device size when converting mirrors. | |
1647 | In resume_mirror_images replace activate_lv with resume_lv as workaround. | |
1648 | Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. | |
1649 | Fix snapshot monitoring library to not cancel monitoring invalid snapshot. | |
1650 | Generate man pages from templates and include version. | |
1651 | Add usrlibdir and usrsbindir to configure. | |
1652 | Fix conversion of md chunk size into sectors. | |
1653 | Free text metadata buffer after a failure writing it. | |
1654 | Fix misleading error message when there are no allocatable extents in VG. | |
1655 | Fix handling of PVs which reappeared with old metadata version. | |
1656 | Fix mirror DSO to call vgreduce with proper parameters. | |
1657 | Fix validation of --minor and --major in lvcreate to require -My always. | |
1658 | Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. | |
1659 | ||
1660 | Version 2.02.40 - 19th September 2008 | |
1661 | ===================================== | |
1662 | Allow lvremove to remove LVs from VGs with missing PVs. | |
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. | |
1669 | Add devices/md_chunk_alignment to lvm.conf. | |
1670 | Pass struct physical_volume to pe_align and adjust for md chunk size. | |
1671 | Store sysfs location in struct cmd_context. | |
1672 | Avoid shuffling remaining mirror images when removing one, retaining primary. | |
1673 | Add missing LV error target activation in _remove_mirror_images. | |
1674 | Prevent resizing an LV while lvconvert is using it. | |
1675 | Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. | |
1676 | Fix pvresize to not allow resize if PV has two metadata areas. | |
1677 | Fix setting of volume limit count if converting to lvm1 format. | |
1678 | Fix vgconvert logical volume id metadata validation. | |
1679 | Fix lvmdump metadata gather option (-m) to work correctly. | |
1680 | Fix allocation bug in text metadata format write error path. | |
1681 | Fix vgcfgbackup to properly check filename if template is used. | |
1682 | configure aborts if lcov or genhtml are missing with --enable-profiling | |
1683 | vgremove tries to remove lv snapshot first. | |
1684 | Added function lv_remove_with_dependencies(). | |
1685 | Improve file descriptor leak detection to display likely culprit and filename. | |
1686 | Change clustered mirror kernel module name from cmirror to dm-log-clustered. | |
1687 | Avoid looping forever in _pv_analyze_mda_raw used by pvck. | |
1688 | Change lvchange exit status to indicate if any part of the operation failed. | |
1689 | Fix pvchange and pvremove to handle PVs without mdas. | |
1690 | Refactor _text_pv_read and always return mda list if requested. | |
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. | |
1694 | Check for label_write() failure in _text_pv_write(). | |
1695 | Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. | |
1696 | Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. | |
1697 | Cease recognising snapshot-in-use percentages returned by early devt kernels. | |
1698 | Add backward-compatible flags field to on-disk format_text metadata. | |
1699 | Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) | |
1700 | ||
1701 | Version 2.02.39 - 27th June 2008 | |
1702 | ================================ | |
1703 | Enable readline by default if available. | |
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. | |
1707 | Fix up cache for PVs without mdas after consistent VG metadata is processed. | |
1708 | Update validation of safe mirror log type conversions in lvconvert. | |
1709 | Fix lvconvert to disallow snapshot and mirror combinations. | |
1710 | Fix reporting of LV fields alongside unallocated PV segments. | |
1711 | Add --unquoted and --rows to reporting tools. | |
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. | |
1720 | Avoid ambiguous use of identifier error_message_produced. | |
1721 | Begin syncing configure.in for merge/unification with device-mapper. | |
1722 | Fix add_mirror_images not to dereference uninitialized log_lv upon failure. | |
1723 | Don't call openlog for every debug line output by clvmd. | |
1724 | Add --force to lvextend and lvresize. | |
1725 | Fix vgchange not to activate component mirror volumes directly. | |
1726 | Fix test directory clean up in make distclean. | |
1727 | ||
1728 | Version 2.02.38 - 11th June 2008 | |
1729 | ================================ | |
1730 | Fix tracking of validity of PVs with no mdas in lvmcache. | |
1731 | Fix return values for reporting commands when run with no PVs, LVs, or VGs. | |
1732 | Add omitted unlock_vg() call when sigint_caught() during vg processing. | |
1733 | Fix free_count when reading pool metadata. | |
1734 | Fix segfault when using pvcreate on a device containing pool metadata. | |
1735 | Fix segfault after _free_vginfo by remembering to remove vginfo from list. | |
1736 | Tweak detection of invalid fid after changes to PVs in VG in _vg_read. | |
1737 | Revert assuming precommitted metadata is live when activating (unnecessary). | |
1738 | Drop cached metadata for disappearing VG in vgmerge. | |
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 | ||
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. | |
1748 | Drop cached metadata when renaming a VG. | |
1749 | Allow for vginfo changing during _vg_read. | |
1750 | Decode numbers in clvmd debugging output. | |
1751 | Add missing deactivation after activation failure in lvcreate -Zy. | |
1752 | When activating, if precommitted metadata is still cached, assume it's live. | |
1753 | When removing LV symlinks, skip any where the VG name is not determined. | |
1754 | Drop metadata cache if update fails in vg_revert or vg_commit. | |
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. | |
1758 | Temporarily disable dmeventd mirror monitoring during lvchange --resync. | |
1759 | Refactor some vginfo manipulation code. | |
1760 | Add assertions to trap deprecated P_ and V_ lock usage. | |
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. | |
1764 | When asked to drop cached committed VG metadata, invalidate cached PV labels. | |
1765 | Drop metadata cache before writing precommitted metadata instead of after. | |
1766 | Don't touch /dev in vgrename if activation is disabled. | |
1767 | ||
1768 | Version 2.02.36 - 29th April 2008 | |
1769 | ================================= | |
1770 | Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. | |
1771 | Fix lvresize to pass new size to fsadm when extending device. | |
1772 | Remove unused struct in clvmd-openais, and use correct node count. | |
1773 | Fix nodes list in clvmd-openais, and allow for broadcast messages. | |
1774 | Exclude VG_GLOBAL from internal concurrent VG lock counter. | |
1775 | Fix vgsplit internal counting of snapshot LVs. | |
1776 | Fix vgmerge snapshot_count when source VG contains snapshots. | |
1777 | Simplify clvmd-openais by using non-async saLckResourceLock. | |
1778 | Fix internal LV counter when a snapshot is removed. | |
1779 | Fix metadata corruption writing lvm1-formatted metadata with snapshots. | |
1780 | Fix lvconvert -m0 allocatable space check. | |
1781 | ||
1782 | Version 2.02.35 - 15th April 2008 | |
1783 | ================================= | |
1784 | Drop cached VG metadata before and after committing changes to it. | |
1785 | Rename P_global to P_#global. | |
1786 | Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) | |
1787 | Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) | |
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. | |
1791 | ||
1792 | Version 2.02.34 - 10th April 2008 | |
1793 | ================================= | |
1794 | Improve preferred_names lvm.conf example. | |
1795 | Fix vgdisplay 'Cur LV' field to match lvdisplay output. | |
1796 | Fix lv_count report field to exclude hidden LVs. | |
1797 | Add vg_is_clustered() helper function. | |
1798 | Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. | |
1799 | Update vgsplit tests for lvnames on the cmdline. | |
1800 | Update vgsplit man page to reflect lvnames on the cmdline. | |
1801 | Update vgsplit to take "-n LogicalVolumeName" on the cmdline. | |
1802 | Use clustered mirror log with pvmove in clustered VGs, if available. | |
1803 | Fix some pvmove error status codes. | |
1804 | Fix vgsplit error paths to release vg_to lock. | |
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. | |
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. | |
1811 | Create a fid for internal orphan VGs. | |
1812 | Update lvmcache VG lock state for all locking types now. | |
1813 | Fix output if overriding command_names on cmdline. | |
1814 | Add detection of clustered mirror log capability. | |
1815 | Add check to vg_commit() ensuring VG lock held before writing new VG metadata. | |
1816 | Add validation of LV name to pvmove -n. | |
1817 | Make clvmd refresh the context correctly when lvm.conf is updated. | |
1818 | Add some basic internal VG lock validation. | |
1819 | Add per-command flags to control which commands use the VG metadata cache. | |
1820 | Fix vgsplit locking of new VG (2.02.30). | |
1821 | Avoid erroneous vgsplit error message for new VG. (2.02.29) | |
1822 | Suppress duplicate message when lvresize fails because of invalid vgname. | |
1823 | Cache VG metadata internally while VG lock is held. | |
1824 | Fix redundant lvresize message if vg doesn't exist. | |
1825 | Fix another allocation bug with clvmd and large node IDs. | |
1826 | Add find_lv_in_lv_list() and find_pv_in_pv_list(). | |
1827 | Fix uninitialised variable in clvmd that could cause odd hangs. | |
1828 | Add vgmerge tests. | |
1829 | Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. | |
1830 | Add list_move() for moving elements from one list to another. | |
1831 | Add 'is_reserved_lvname()' for identifying hidden LVs. | |
1832 | Correct command name in lvmdiskscan man page. | |
1833 | clvmd no longer crashes if it sees nodeids over 50. | |
1834 | Fix potential deadlock in clvmd thread handling. | |
1835 | Refactor text format initialisation into _init_text_import. | |
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. | |
1839 | Use return_0 in a couple more places. | |
1840 | Correct a function name typo in _line_append error message. | |
1841 | Include limits.h in clvmd so it compiles with newer headers. | |
1842 | Add VirtIO disks (virtblk) to filters. | |
1843 | Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) | |
1844 | Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) | |
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. | |
1848 | Fix lvconvert detection of mirror conversion in progress. (2.02.30) | |
1849 | Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) | |
1850 | Fix 'pvs -a' to detect VGs of PVs without metadata areas. | |
1851 | Divide up internal orphan volume group by format type. | |
1852 | Update usage message for clvmd. | |
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. | |
1858 | ||
1859 | Version 2.02.33 - 31st January 2008 | |
1860 | =================================== | |
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. | |
1864 | Some whitespace tidy-ups. | |
1865 | Use stack return macros throughout. | |
1866 | Rely upon internally-cached PV labels while corresponding VG lock is held. | |
1867 | ||
1868 | Version 2.02.32 - 29th January 2008 | |
1869 | =================================== | |
1870 | Fix two check_lv_segments error messages to show whole segment. | |
1871 | Refactor mirror log attachment code. | |
1872 | Fix internal metadata corruption in lvchange --resync. (2.02.30) | |
1873 | Fix new parameter validation in vgsplit and test mode. (2.02.30) | |
1874 | Remove redundant cnxman-socket.h file from clvmd directory. | |
1875 | Fix pvs, vgs, lvs error exit status on some error paths. | |
1876 | ||
1877 | Version 2.02.31 - 19th January 2008 | |
1878 | =================================== | |
1879 | Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) | |
1880 | Add very_verbose lvconvert messages. | |
1881 | Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) | |
1882 | ||
1883 | Version 2.02.30 - 17th January 2008 | |
1884 | =================================== | |
1885 | Set default readahead to twice maximium stripe size. | |
1886 | Reinstate VG extent size and stripe size defaults (halved). (2.02.29) | |
1887 | Add lists of stacked LV segments using each LV to the internal metadata. | |
1888 | Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. | |
1889 | Fix process_all_pvs to detect non-orphans with no MDAs correctly. | |
1890 | Don't use block_on_error with mirror targets version 1.12 and above. | |
1891 | Update vgsplit to accept vgcreate options when new VG is destination. | |
1892 | Update vgsplit to accept existing VG as destination. | |
1893 | lvconvert waits for completion of initial sync by default. | |
1894 | Refactor vgcreate for parameter validation and add tests. | |
1895 | Add new convert_lv field to lvs output. | |
1896 | Print warning when lvm tools are running as non-root. | |
1897 | Add snapshot dmeventd library (enables dmeventd snapshot monitoring). | |
1898 | Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. | |
1899 | Fix a segfault if using pvs with --all argument. (2.02.29) | |
1900 | Update --uuid argument description in man pages. | |
1901 | Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) | |
1902 | Extend lvconvert to use polldaemon. | |
1903 | Add support for stacked mirrors. | |
1904 | Major restructuring of pvmove and lvconvert layer manipulation code. | |
1905 | Replace tools/fsadm with scripts/fsadm.sh. | |
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. | |
1909 | ||
1910 | Version 2.02.29 - 5th December 2007 | |
1911 | =================================== | |
1912 | Make clvmd backup vg metadata on remote nodes. | |
1913 | Refactor pvmove allocation code. | |
1914 | Decode cluster locking state in log message. | |
1915 | Change file locking state messages from debug to very verbose. | |
1916 | Fix --addtag to drop @ prefix from name. | |
1917 | Stop clvmd going haywire if a pre_function fails. | |
1918 | Convert some vg_reads into vg_lock_and_reads. | |
1919 | Avoid nested vg_reads when processing PVs in VGs and fix associated locking. | |
1920 | Accept sizes with --readahead argument. | |
1921 | Store size arguments as sectors internally. | |
1922 | Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. | |
1923 | Add read_ahead activation code. | |
1924 | Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. | |
1925 | Extend readahead arg to accept "auto" and "none". | |
1926 | Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. | |
1927 | Prevent lvconvert -s from using same LV as origin and snapshot. | |
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. | |
1930 | Add LVM2 version to 'Generated by' comment in metadata. | |
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. | |
1933 | Fix error message when fixing up PV size in lvm2 metadata (2.02.11). | |
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. | |
1940 | Convert pvchange, pvdisplay, pvscan to use is_orphan() | |
1941 | Add is_orphan_vg() and change all hard-coded checks to use it. | |
1942 | Detect md superblocks version 1.0, 1.1 and 1.2. | |
1943 | Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. | |
1944 | Add pv_dev_name() to access PV device name. | |
1945 | Add const attributes to pv accessor functions. | |
1946 | Refactor vg_add_snapshot() and lv_create_empty(). | |
1947 | Handle new sysfs subsystem/block/devices directory structure. | |
1948 | Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. | |
1949 | Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. | |
1950 | Fix underquotations in lvm_dump.sh. | |
1951 | Refactor lvcreate stripe and mirror parameter validation. | |
1952 | Print --help output to stdout, not stderr. | |
1953 | After a cmdline processing error, don't print help text but suggest --help. | |
1954 | Add %PVS extents option to lvresize, lvextend, and lvcreate. | |
1955 | Add 'make check' to run tests in new subdirectory 'test'. | |
1956 | Moved the obsolete test subdirectory to old-tests. | |
1957 | Cope with relative paths in configure --with-dmdir. | |
1958 | Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. | |
1959 | Fix strdup memory leak in str_list_dup(). | |
1960 | Link with -lpthread when static SELinux libraries require that. | |
1961 | Detect command line PE values that exceed their 32-bit range. | |
1962 | Include strerror string in dev_open_flags' stat failure message. | |
1963 | Move guts of pvresize into library. | |
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. | |
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. | |
1969 | ||
1970 | Version 2.02.28 - 24th August 2007 | |
1971 | ================================== | |
1972 | Fix clvmd logging so you can get lvm-level debugging out of it. | |
1973 | Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. | |
1974 | Change locking_flags from int to uint32_t. | |
1975 | Fix clvmd -R, so it fully refreshes the caches. | |
1976 | Change lvconvert_mirrors to use mirror segtype not striped. | |
1977 | Fix lvconvert_mirrors detection of number of existing mirrors. | |
1978 | Clean up numerous compiler warnings that appeared in recent releases. | |
1979 | Remove several unused parameters from _allocate(). | |
1980 | Only permit --force, --verbose and --debug arguments to be repeated. | |
1981 | Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. | |
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]. | |
1984 | Update to use autoconf 2.61, while still supporting 2.57. | |
1985 | Add more cluster info to lvmdump. | |
1986 | Add further const attributes throughout. | |
1987 | Add support for renaming mirrored LVs. | |
1988 | Factor out core of lvrename() to library function. | |
1989 | Add --mirrorlog argument to specify log type for mirrors. | |
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. | |
1992 | Replace create_dir with dm_create_dir. | |
1993 | Detect stream write failure reliably with lvm_fclose using dm_fclose. | |
1994 | Fix clvmd if compiled with gulm support. (2.02.26) | |
1995 | Fix lvdisplay man page to say LV size is reported in sectors, not KB. | |
1996 | Add vg_lock_and_read() external library function. | |
1997 | Fix loading of persistent cache if cache_dir is used. (2.02.23) | |
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. | |
2000 | Use gcc's printf attribute wherever possible. | |
2001 | In _line_append, use "sizeof buf - 1" rather than equivalent "4095". | |
2002 | Introduce is_same_inode macro, now including a comparison of st_dev. | |
2003 | Don't leak a file descriptor in _lock_file() when flock fails. | |
2004 | Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. | |
2005 | Split metadata-external.h out from metadata.h for the tools to use. | |
2006 | ||
2007 | Version 2.02.27 - 17th July 2007 | |
2008 | ================================ | |
2009 | Fix snapshot cow area deactivation if origin is not active. (2.02.13) | |
2010 | Fix configure libdevmapper.h check when --with-dmdir is used. | |
2011 | Turn _add_pv_to_vg() into external library function add_pv_to_vg(). | |
2012 | Add pv_by_path() external library function. | |
2013 | Tidy clvmd-openais of redundant bits, and improve an error report. | |
2014 | Cope with find_seg_by_le() failure in check_lv_segments(). | |
2015 | Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. | |
2016 | Add vg_mda_count and pv_mda_count columns to reports. | |
2017 | Fix dumpconfig to use log_print instead of stdout directly. | |
2018 | Remove unused parameter 'fid' from _add_pv_to_vg. | |
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. | |
2023 | Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) | |
2024 | Add vg_status function and clean up vg->status in tools directory. | |
2025 | Add --ignoremonitoring to disable all dmeventd interaction. | |
2026 | Remove get_ prefix from get_pv_* functions. | |
2027 | clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. | |
2028 | Print warnings to stderr instead of stdout. | |
2029 | ||
2030 | Version 2.02.26 - 15th June 2007 | |
2031 | ================================ | |
2032 | Update vgcfgrestore man page. | |
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. | |
2037 | Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. | |
2038 | Add wrappers to some functions in preparation for external LVM library. | |
2039 | Add -f to vgcfgrestore to list metadata backup files. | |
2040 | Add vg_check_status to consolidate vg status checks and error messages. | |
2041 | Add pvdisplay --maps implementation. | |
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. | |
2045 | Add (experimental) OpenAIS support to clvmd. | |
2046 | Fix deactivation code to follow dependencies and remove symlinks. | |
2047 | Fix and clarify vgsplit error messages. | |
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. | |
2051 | ||
2052 | Version 2.02.25 - 27th April 2007 | |
2053 | ================================= | |
2054 | Fix get_config_uint64() to read a 64-bit value not a 32-bit one. | |
2055 | Add -Wformat-security and change one fprintf() to fputs(). | |
2056 | Move regex functions into libdevmapper. | |
2057 | Change some #include lines to search only standard system directories. | |
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. | |
2069 | Fix thread race in clvmd. | |
2070 | Add scan_sector param to label_read and _find_labeller. | |
2071 | Make clvmd cope with quorum devices. | |
2072 | Add extra internal error checking to clvmd. | |
2073 | Add dev_read_circular. | |
2074 | Add pvck command stub. | |
2075 | Update lists of attribute characters in man pages. | |
2076 | Change cling alloc policy attribute character from 'C' to l'. | |
2077 | Fix creation and conversion of mirrors with tags. | |
2078 | Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). | |
2079 | Split metadata areas in vgsplit properly. | |
2080 | ||
2081 | Version 2.02.24 - 19th March 2007 | |
2082 | ================================= | |
2083 | Fix processing of exit status in init scripts | |
2084 | Fix vgremove to require at least one vg argument. | |
2085 | Fix reading of striped LVs in LVM1 format. | |
2086 | Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) | |
2087 | Add a few missing pieces of vgname command line validation. | |
2088 | Support the /dev/mapper prefix on most command lines. | |
2089 | ||
2090 | Version 2.02.23 - 8th March 2007 | |
2091 | ================================ | |
2092 | Fix vgrename active LV check to ignore differing vgids. | |
2093 | Remove no-longer-used uuid_out parameter from activation info functions. | |
2094 | Fix two more segfaults if an empty config file section encountered. | |
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. | |
2098 | Exclude readline support from lvm.static. | |
2099 | Fix a leak in a reporting error path (2.02.19). | |
2100 | ||
2101 | Version 2.02.22 - 13th February 2007 | |
2102 | ==================================== | |
2103 | Correct -b and -P on a couple of man pages. | |
2104 | Add global/units to example.conf. | |
2105 | Fix loading of segment_libraries. | |
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. | |
2108 | Fix some vgreduce --removemissing command line validation. | |
2109 | ||
2110 | Version 2.02.21 - 30th January 2007 | |
2111 | =================================== | |
2112 | Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. | |
2113 | Fix vgsplit to handle mirrors. | |
2114 | Reorder fields in reporting field definitions. | |
2115 | Fix vgs to treat args as VGs even when PV fields are displayed. | |
2116 | Fix md signature check to handle both endiannesses. | |
2117 | ||
2118 | Version 2.02.20 - 25th January 2007 | |
2119 | =================================== | |
2120 | dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. | |
2121 | Add devices/ignore_suspended_devices to ignore suspended dm devices. | |
2122 | Add some missing close() and fclose() return code checks. | |
2123 | Fix exit statuses of reporting tools (2.02.19). | |
2124 | Add init script for dmeventd monitoring. | |
2125 | lvm.static no longer interacts with dmeventd unless explicitly asked to. | |
2126 | Add field definitions to report help text. | |
2127 | Remove unnecessary cmd arg from target_*monitor_events(). | |
2128 | Add private variable to dmeventd shared library interface. | |
2129 | Long-lived processes write out persistent dev cache in refresh_toolcontext(). | |
2130 | Fix refresh_toolcontext() always to wipe persistent device filter cache. | |
2131 | Add is_long_lived to toolcontext. | |
2132 | Add --clustered to man pages. | |
2133 | Streamline dm_report_field_* interface. | |
2134 | Change remaining dmeventd terminology 'register' to 'monitor'. | |
2135 | Update reporting man pages. | |
2136 | No longer necessary to specify alignment type for report fields. | |
2137 | ||
2138 | Version 2.02.19 - 17th January 2007 | |
2139 | =================================== | |
2140 | Fix a segfault if an empty config file section encountered. | |
2141 | Move basic reporting functions into libdevmapper. | |
2142 | Fix partition table processing after sparc changes (2.02.16). | |
2143 | Fix cmdline PE range processing segfault (2.02.13). | |
2144 | Some libdevmapper-event interface changes. | |
2145 | Report dmeventd mirror monitoring status. | |
2146 | Fix dmeventd mirror status line processing. | |
2147 | ||
2148 | Version 2.02.18 - 11th January 2007 | |
2149 | =================================== | |
2150 | Revised libdevmapper-event interface for dmeventd. | |
2151 | Remove dmeventd mirror status line word limit. | |
2152 | Use CFLAGS when linking so mixed sparc builds can supply -m64. | |
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. | |
2156 | dumpconfig accepts a list of configuration variables to display. | |
2157 | Change dumpconfig to use --file to redirect output to a file. | |
2158 | Avoid vgreduce error when mirror code removes the log LV. | |
2159 | Remove 3 redundant AC_MSG_RESULTs from configure.in. | |
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. | |
2163 | Add configure --with-dmdir to compile against a device-mapper source tree. | |
2164 | Use no flush suspending for mirrors. | |
2165 | Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. | |
2166 | Fix create mirror with name longer than 22 chars. | |
2167 | Fix some activate.c prototypes when compiled without devmapper. | |
2168 | Fix dmeventd mirror to cope if monitored device disappears. | |
2169 | ||
2170 | Version 2.02.17 - 14th December 2006 | |
2171 | ==================================== | |
2172 | Add missing pvremove error message when device doesn't exist. | |
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. | |
2178 | Fix detection of smallest area in _alloc_parallel_area() for cling policy. | |
2179 | Add manpage entry for clvmd -T | |
2180 | Fix gulm operation of clvmd, including a hang when doing lvchange -aey | |
2181 | Fix hang in clvmd if a pre-command failed. | |
2182 | ||
2183 | Version 2.02.16 - 1st December 2006 | |
2184 | =================================== | |
2185 | Fix VG clustered read locks to use PR not CR. | |
2186 | Adjust some alignments for ia64/sparc. | |
2187 | Fix mirror segment removal to use temporary error segment. | |
2188 | Always compile debug logging into clvmd. | |
2189 | Add startup timeout to RHEL4 clvmd startup script. | |
2190 | Add -T (startup timeout) switch to clvmd. | |
2191 | Improve lvm_dump.sh robustness. | |
2192 | Update lvm2create_initrd to support gentoo. | |
2193 | ||
2194 | Version 2.02.15 - 21st November 2006 | |
2195 | ==================================== | |
2196 | Fix clvmd_init_rhel4 line truncation (2.02.14). | |
2197 | Install lvmdump by default. | |
2198 | Fix check for snapshot module when activating snapshot. | |
2199 | Fix pvremove error path for case when PV is in use. | |
2200 | Warn if certain duplicate config file entries are seen. | |
2201 | Enhance lvm_dump.sh for sysreport integration and add man page. | |
2202 | Fix --autobackup argument which could never disable backups. | |
2203 | Fix a label_verify error path. | |
2204 | ||
2205 | Version 2.02.14 - 10th November 2006 | |
2206 | ==================================== | |
2207 | Fix adjusted_mirror_region_size() to handle 64-bit size. | |
2208 | Add some missing bounds checks on 32-bit extent counters. | |
2209 | Add Petabyte and Exabyte support. | |
2210 | Fix lvcreate error message when 0 extents requested. | |
2211 | lvremove man page: volumes must be cluster inactive before being removed. | |
2212 | Protect .cache manipulations with fcntl locking. | |
2213 | Change .cache timestamp comparisons to use ctime. | |
2214 | Fix mirror log LV writing to set all bits in whole LV. | |
2215 | Fix clustered VG detection and default runlevels in clvmd_init_rhel4. | |
2216 | Fix high-level free space check for partial allocations. | |
2217 | ||
2218 | Version 2.02.13 - 27th October 2006 | |
2219 | =================================== | |
2220 | Add couple of missing files to tools/Makefile CLEAN_TARGETS. | |
2221 | When adding snapshot leave cow LV mapped device active after zeroing. | |
2222 | Fix a clvmd debug message. | |
2223 | Add dev_flush() to set_lv(). | |
2224 | Add lvchange --resync. | |
2225 | Perform high-level free space check before each allocation attempt. | |
2226 | Don't allow a node to remove an LV that's exclusively active on anther node. | |
2227 | Cope if same PV is included more than once in cmdline PE range list. | |
2228 | Set PV size to current device size if it is found to be zero. | |
2229 | Add segment parameter to target_present functions. | |
2230 | ||
2231 | Version 2.02.12 - 16th October 2006 | |
2232 | =================================== | |
2233 | Fix pvdisplay to use vg_read() for non-orphans. | |
2234 | Fall back to internal locking if external locking lib is missing or fails. | |
2235 | Retain activation state after changing LV minor number with --force. | |
2236 | Propagate clustered flag in vgsplit and require resizeable flag. | |
2237 | ||
2238 | Version 2.02.11 - 12th October 2006 | |
2239 | =================================== | |
2240 | Add clvmd function to return the cluster name. not used by LVM yet. | |
2241 | Add cling allocation policy. | |
2242 | Change _check_contiguous() to use _for_each_pv(). | |
2243 | Extend _for_each_pv() to allow termination without error. | |
2244 | Abstract _is_contiguous(). | |
2245 | Remove duplicated pv arg from _check_contiguous(). | |
2246 | Accept regionsize with lvconvert. | |
2247 | Add report columns with underscore before field names ending 'size'. | |
2248 | Correct regionsize default on lvcreate man page (MB). | |
2249 | Fix clvmd bug that could cause it to die when a node with a long name crashed. | |
2250 | Add device size to text metadata. | |
2251 | Fix format_text mda_setup pv->size and pv_setup pe_count calculations. | |
2252 | Fix _for_each_pv() for mirror with core log. | |
2253 | Add lvm_dump.sh script to create a tarball of debugging info from a system. | |
2254 | Capture error messages in clvmd and pass them back to the user. | |
2255 | Remove unused #defines from filter-md.c. | |
2256 | Make clvmd restart init script wait until clvmd has died before starting it. | |
2257 | Add -R to clvmd which tells running clvmds to reload their device cache. | |
2258 | Add LV column to reports listing kernel modules needed for activation. | |
2259 | Show available fields if report given invalid field. (e.g. lvs -o list) | |
2260 | Add timestamp functions with --disable-realtime configure option. | |
2261 | Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. | |
2262 | Fix two potential NULL pointer derefs in error cases in vg_read(). | |
2263 | Separate --enable-cluster from locking lib options in lvmconf.sh. | |
2264 | Add a missing comma in lvcreate man page. | |
2265 | ||
2266 | Version 2.02.10 - 19th September 2006 | |
2267 | ===================================== | |
2268 | Fix lvconvert mirror change case detection logic. | |
2269 | Fix mirror log detachment so it correctly becomes a standalone LV. | |
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. | |
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. | |
2279 | Don't attempt automatic recovery without proper locking. | |
2280 | When using local file locking, skip clustered VGs. | |
2281 | Add fallback_to_clustered_locking and fallback_to_local_locking parameters. | |
2282 | lvm.static uses built-in cluster locking instead of external locking. | |
2283 | Don't attempt to load shared libraries if built statically. | |
2284 | Change default locking_lib to liblvm2clusterlock.so. | |
2285 | Add skip_dev_dir() to process command line VGs. | |
2286 | Stop clvmd complaining about nodes that have left the cluster. | |
2287 | Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. | |
2288 | Add lvconvert man page. | |
2289 | Add mirror options to man pages. | |
2290 | Prevent mirror renames. | |
2291 | Move CMDLIB code into separate file and record whether static build. | |
2292 | ||
2293 | Version 2.02.09 - 17th August 2006 | |
2294 | ================================== | |
2295 | Fix PE_ALIGN for pagesize over 32KB. | |
2296 | Separate out LVM1_PE_ALIGN and pe_align(). | |
2297 | Add lvm_getpagesize wrapper. | |
2298 | Add --maxphysicalvolumes to vgchange. | |
2299 | ||
2300 | Version 2.02.08 - 15th August 2006 | |
2301 | ================================== | |
2302 | Add checks for duplicate LV name, lvid and PV id before writing metadata. | |
2303 | Report all sanity check failures, not just the first. | |
2304 | Fix missing lockfs on first snapshot creation. | |
2305 | Add unreliable --trustcache option to reporting commands. | |
2306 | Fix locking for mimage removal. | |
2307 | Fix clvmd_init_rhel4 'status' exit code. | |
2308 | ||
2309 | Version 2.02.07 - 17th July 2006 | |
2310 | ================================ | |
2311 | Fix activation logic in lvchange --persistent. | |
2312 | Don't ignore persistent minor numbers when activating. | |
2313 | Use RTLD_GLOBAL when loading shared libraries. | |
2314 | Add some forgotten memlock checks to _vg_read to protect against full scans. | |
2315 | Add mutex to dmeventd_mirror to avoid concurrent execution. | |
2316 | Fix vgreduce --removemissing to return success if VG is already consistent. | |
2317 | Fix return code if VG specified on command line is not found. | |
2318 | Fix PV tools to include orphaned PVs in default output again. | |
2319 | Fixed unaligned access when using clvm. | |
2320 | Fix an extra dev_close in a label_read error path. | |
2321 | Append patches to commit emails. | |
2322 | Fix target_register_events args. | |
2323 | Prevent snapshots of mirrors. | |
2324 | Add DISTCLEAN_TARGETS to make template for configure.h. | |
2325 | More fixes to error paths. | |
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. | |
2333 | ||
2334 | Version 2.02.06 - 12th May 2006 | |
2335 | =============================== | |
2336 | Propagate --monitor around cluster. | |
2337 | Add --monitor to vgcreate and lvcreate to control dmeventd registration. | |
2338 | Filter LCK_NONBLOCK in clvmd lock_vg. | |
2339 | Add --nosync to lvcreate with LV flag NOTSYNCED. | |
2340 | Use mirror's uuid for a core log. | |
2341 | Add mirror log fault-handling policy. | |
2342 | Improve mirror warning messages and tidy dmeventd syslog output. | |
2343 | Propagate nosync flag around cluster. | |
2344 | Allow vgreduce to handle mirror log failures. | |
2345 | Add --corelog to lvcreate and lvconvert. | |
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. | |
2349 | Add mirror_library description to example.conf. | |
2350 | Fix uuid_from_num() buffer overrun. | |
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. | |
2356 | Improve stripe size validation. | |
2357 | Increase maximum stripe size limit to physical extent size for lvm2 metadata. | |
2358 | Fix activation code to check for pre-existing mirror logs. | |
2359 | Tighten region size validation. | |
2360 | Ignore empty strings in config files. | |
2361 | Require non-zero regionsize and document parameter on lvcreate man page. | |
2362 | Invalidate cache if composition of VG changed externally. | |
2363 | ||
2364 | Version 2.02.05 - 21st April 2006 | |
2365 | ================================= | |
2366 | Fix vgid string termination in recent cache code. | |
2367 | ||
2368 | Version 2.02.04 - 19th April 2006 | |
2369 | ================================= | |
2370 | Check for libsepol. | |
2371 | Add some cflow & scope support. | |
2372 | Separate out DEFS from CFLAGS. | |
2373 | Remove inlines and use unique function names. | |
2374 | ||
2375 | Version 2.02.03 - 14th April 2006 | |
2376 | ================================= | |
2377 | vgrename accepts vgid and exported VG. | |
2378 | Add --partial to pvs. | |
2379 | When choosing between identically-named VGs, also consider creation_host. | |
2380 | Provide total log suppression with 2. | |
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. | |
2383 | If two or more VGs are found with the same name, use one that is not exported. | |
2384 | Whenever vgname is captured, also capture vgid and whether exported. | |
2385 | Remove an incorrect unlock_vg() from process_each_lv(). | |
2386 | Update extent size information in vgchange and vgcreate man pages. | |
2387 | Introduce origin_from_cow() and lv_is_visible(). | |
2388 | pvremove without -f now fails if there's no PV label. | |
2389 | Support lvconvert -s. | |
2390 | Suppress locking library load failure message if --ignorelockingfailure. | |
2391 | Propagate partial mode around cluster. | |
2392 | Fix archive file expiration. | |
2393 | Fix dmeventd build. | |
2394 | clvmd now uses libcman rather than cman ioctls. | |
2395 | clvmd will allow new cman to shutdown on request. | |
2396 | ||
2397 | Version 2.02.02 - 7th February 2006 | |
2398 | =================================== | |
2399 | Add %.so: %.a make template rule. | |
2400 | Switchover library building to use LIB_SUFFIX. | |
2401 | Only do lockfs filesystem sync when suspending snapshots. | |
2402 | Always print warning if activation is disabled. | |
2403 | vgreduce removes mirror images. | |
2404 | Add --mirrorsonly to vgreduce. | |
2405 | vgreduce replaces active LVs with error segment before removing them. | |
2406 | Set block_on_error parameter if available. | |
2407 | Add target_version. | |
2408 | Add details to format1 'Invalid LV in extent map' error message. | |
2409 | Fix lvscan snapshot full display. | |
2410 | Bring lvdisplay man page example into line. | |
2411 | Add mirror dmeventd library. | |
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. | |
2417 | Determine parallel PVs to avoid with ALLOC_NORMAL allocation. | |
2418 | Fix lv_empty. | |
2419 | ||
2420 | Version 2.02.01 - 23rd November 2005 | |
2421 | ==================================== | |
2422 | Fix lvdisplay cmdline to accept snapshots. | |
2423 | Fix open RO->RW promotion. | |
2424 | Fix missing vg_revert in lvcreate error path. | |
2425 | ||
2426 | Version 2.02.00 - 10th November 2005 | |
2427 | ==================================== | |
2428 | Extend allocation areas to avoid overflow with contiguous with other PVs. | |
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. | |
2435 | Added xen xvd devices. | |
2436 | Clear up precommitted metadata better. | |
2437 | A pvresize implementation. | |
2438 | Fix contiguous allocation when there are no preceding segments. | |
2439 | Add mirror_seg pointer to lv_segment struct. | |
2440 | Only keep a device open if it's known to belong to a locked VG. | |
2441 | Fix lvdisplay to show all mirror destinations. | |
2442 | Replacement suspend code using libdevmapper dependency tree. | |
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. | |
2446 | Move set_selinux_context into libdevmapper. | |
2447 | Fix automatic text metadata buffer expansion (using macro). | |
2448 | Cache formatted text metadata buffer between metadata area writes. | |
2449 | Add pe_start field to pvs. | |
2450 | Add 'LVM-' prefix to uuids. | |
2451 | Split lv_segment_area from lv_segment to permit extension. | |
2452 | Replacement deactivation code using libdevmapper dependency tree. | |
2453 | Simplify dev_manager_info(). | |
2454 | Attempt to load missing targets using modprobe. | |
2455 | Add -a to lvscan. | |
2456 | Move mknodes into libdevmapper. | |
2457 | Move bitset, hash, pool and dbg_malloc into libdevmapper. | |
2458 | ||
2459 | Version 2.01.15 - 16th October 2005 | |
2460 | =================================== | |
2461 | Refuse to run pvcreate/pvremove on devices we can't open exclusively. | |
2462 | Use ORPHAN lock definition throughout. | |
2463 | Validate chunksize in lvcreate. | |
2464 | Reduce chunksize limit to 512k. | |
2465 | Fix chunksize field in reports. | |
2466 | Don't hide snapshots from default 'lvs' output. | |
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. | |
2470 | Don't assume exactly two mirrors when parsing mirror status. | |
2471 | Suppress fsync() error message on filesystems that don't support it. | |
2472 | Fix yes_no_prompt() error handling. | |
2473 | Add lvm.conf comment warning against multiple filter lines. | |
2474 | Tidy lvmconf.sh. | |
2475 | Add format1 dev_write debug messages. | |
2476 | Add clustered VG attribute to report. | |
2477 | Move lvconvert parameters into struct lvconvert_params. | |
2478 | Add clustered VG flag to LV lock requests. | |
2479 | Change LV locking macros to take lv instead of lvid. | |
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. | |
2483 | Factor out adjusted_mirror_region_size() and generate_log_name_format(). | |
2484 | Move compose_log_line() into mirror directory. | |
2485 | Factor out _get_library_path(). | |
2486 | Don't kill idling clvmd threads. | |
2487 | clvmd no longer takes out locks for non-clustered LVs. | |
2488 | Recognise ATA over Ethernet (aoe) devices. | |
2489 | ||
2490 | Version 2.01.14 - 4th August 2005 | |
2491 | ================================= | |
2492 | Fix lvconvert PV parameter in help string. | |
2493 | Prevent snapshots getting activated in a clustered VG. | |
2494 | Separate out _build_dev_string. | |
2495 | Move zero_lv to toollib. | |
2496 | Fix pool format handler to work with pv segment code. | |
2497 | ||
2498 | Version 2.01.13 - 13th July 2005 | |
2499 | ================================ | |
2500 | Fix pvmove segment splitting. | |
2501 | Abstract vg_validate. | |
2502 | Only make one attempt at contiguous allocation. | |
2503 | Fix lvm1 format metadata read. | |
2504 | Fix lvm1 format non-mirror lvcreate. | |
2505 | ||
2506 | Version 2.01.12 - 14th June 2005 | |
2507 | ================================ | |
2508 | Various allocation-related pvmove fixes. | |
2509 | Log an error if clvmd can't resolve a host name got from CCS. | |
2510 | Fix potential spin loop in clvmd. | |
2511 | ||
2512 | Version 2.01.11 - 13th June 2005 | |
2513 | ================================ | |
2514 | Added lvmconf.sh. | |
2515 | Use matchpathcon mode parameter. | |
2516 | Don't defer closing dead FDs in clvmd. | |
2517 | Remove hard-coded 64k text metadata writing restriction. | |
2518 | Make VG name restrictions consistent. | |
2519 | Introduce lvconvert. So far only removes mirror images. | |
2520 | Allow mirror images to be resized. | |
2521 | Allow mirror images to have more than one segment. | |
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. | |
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. | |
2537 | Fix non-orphan pvchange -u. | |
2538 | Fix vgmerge to handle duplicate LVIDs. | |
2539 | Move archiver code from tools into library. | |
2540 | vgscan/change/display/vgs automatically create metadata backups if needed. | |
2541 | Merge cloned allocation functions. | |
2542 | Fix contiguous allocation policy with linear. | |
2543 | Cope with missing format1 PVs again. | |
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. | |
2547 | %Zu->%zu | |
2548 | Fix loopfiles alias alloc & mem debugging. | |
2549 | Un-inline dbg_strdup. | |
2550 | lv_reduce tidying. | |
2551 | Remove some unnecessary parameters. | |
2552 | Introduce seg_is macros. | |
2553 | ||
2554 | Version 2.01.10 - 3rd May 2005 | |
2555 | ============================== | |
2556 | Don't create backup and archive dirs till needed. | |
2557 | Reinstate full PV size when removing from VG. | |
2558 | Support loopfiles for testing. | |
2559 | Tidy lv_segment interface. | |
2560 | pv_segment support. | |
2561 | vgchange --physicalextentsize | |
2562 | Internal snapshot restructuring. | |
2563 | Remove unused internal non-persistent snapshot option. | |
2564 | Allow offline extension of snapshot volumes. | |
2565 | Move from 2-step to 3-step on-disk metadata commit. | |
2566 | Scan ramdisks too and allow non-O_DIRECT fallback. | |
2567 | Annotate, tidy and extend list.h. | |
2568 | Alignment tidying. | |
2569 | Make clvmd work around some "bugs" in gulm's node state notifications. | |
2570 | Tidy clvmd's SIGHUP handler | |
2571 | ||
2572 | Version 2.01.09 - 4th April 2005 | |
2573 | ================================ | |
2574 | Add --ignorelockingfailure to vgmknodes. | |
2575 | clvmd: Don't allow user operations to start until the lvm thread is fully up. | |
2576 | clvmd-gulm: set KEEPALIVE on sockets. | |
2577 | ||
2578 | Version 2.01.08 - 22nd March 2005 | |
2579 | ================================= | |
2580 | Add clustered attribute so vgchange can identify clustered VGs w/o locking. | |
2581 | Improve detection of external changes affecting internal cache. | |
2582 | Add 'already in device cache' debug message. | |
2583 | Add -a to pvdisplay -C. | |
2584 | Avoid rmdir opendir error messsages when dir was already removed. | |
2585 | Tighten signal handlers. | |
2586 | Avoid some compiler warnings. | |
2587 | Additional rename failure error message. | |
2588 | read/write may be macros. | |
2589 | clvmd: don't take out lvm thread lock at startup, it only protects jobs list. | |
2590 | ||
2591 | Version 2.01.07 - 8th March 2005 | |
2592 | ================================ | |
2593 | Cope with new devices appearing by rescanning /dev if a uuid can't be found. | |
2594 | Remove DESTDIR from LVM_SHARED_PATH. | |
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. | |
2598 | ||
2599 | Version 2.01.06 - 1st March 2005 | |
2600 | ================================ | |
2601 | Suppress 'open failed' error messages during scanning. | |
2602 | Option to suppress warnings of file descriptors left open. | |
2603 | Fix default value of metadatacopies in documentation (2->1). | |
2604 | Fix clvmd-gulm locking. | |
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. | |
2608 | ||
2609 | Version 2.01.05 - 18th February 2005 | |
2610 | ==================================== | |
2611 | Static binary invokes dynamic binary if appropriate. | |
2612 | Make clvmd config check a little more tolerant. | |
2613 | gulm clvmd can now cope with >1 message arriving in a TCP message. | |
2614 | ||
2615 | Version 2.01.04 - 9th February 2005 | |
2616 | =================================== | |
2617 | Add fixed offset to imported pool minor numbers. | |
2618 | Update binary pathnames in clvmd_init_rhel4. | |
2619 | lvm2cmd.so should skip the check for open fds. | |
2620 | Remove unused -f from pvmove. | |
2621 | Gulm clvmd doesn't report "connection refused" errors. | |
2622 | clvmd does a basic config file sanity check at startup. | |
2623 | Fix potential thread shutdown race in clvmd. | |
2624 | ||
2625 | Version 2.01.03 - 1st February 2005 | |
2626 | =================================== | |
2627 | More 64-bit display/report fixes. | |
2628 | More informative startup mesg if can't create /etc/lvm. | |
2629 | Fix snapshot device size bug (since 2.01.01). | |
2630 | clvmd announces startup and cluster connection in syslog. | |
2631 | Gulm clvmd doesn't hang trying to talk to a rebooted node. | |
2632 | Gulm clvmd doesn't print cman error on startup. | |
2633 | ||
2634 | Version 2.01.02 - 21st January 2005 | |
2635 | =================================== | |
2636 | Update clvmd_init_rhel4: use lvm.static and don't load dlm. | |
2637 | Fix some size_t printing. | |
2638 | Fix 64 bit xlate consts. | |
2639 | Split out pool sptype_names to avoid unused const. | |
2640 | Always fail if random id generation fails. | |
2641 | Recognise gnbd devices. | |
2642 | Fix clvmd startup bug introduced in cman/gulm amalgamation. | |
2643 | Improve reporting of node-specific locking errors. | |
2644 | ||
2645 | Version 2.01.01 - 19th January 2005 | |
2646 | =================================== | |
2647 | Fix clvmd lv_info_by_lvid open_count. | |
2648 | Store snapshot and origin sizes separately. | |
2649 | Update vgcreate man page. | |
2650 | ||
2651 | Version 2.01.00 - 17th January 2005 | |
2652 | =================================== | |
2653 | Fix vgscan metadata auto-correction. | |
2654 | Only ask libdevmapper for open_count when we need it. | |
2655 | Adjust RHEL4 clvmd init script priority. | |
2656 | Enable building of CMAN & GULM versions of clvmd into a single binary | |
2657 | ||
2658 | Version 2.00.33 - 7th January 2005 | |
2659 | ================================== | |
2660 | pvcreate wipes first 4 sectors unless given --zero n. | |
2661 | gulm clvmd now uses new ccsd key names. | |
2662 | gulm clvmd now doesn't ignore the first node in cluster.conf | |
2663 | Improve clvmd failure message if it's already running. | |
2664 | Allow user to kill clvmd during initialisation. | |
2665 | Fix off-by-one error in cluster_locking that could cause read hangs. | |
2666 | ||
2667 | Version 2.00.32 - 22nd December 2004 | |
2668 | ==================================== | |
2669 | Drop static/dl restriction for now. | |
2670 | Fix an error fprintf. | |
2671 | Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. | |
2672 | Fix device reference counting on re-opens. | |
2673 | Ignore sysfs symlinks when DT_UNKNOWN. | |
2674 | Add clvmd init script for RHEL4. | |
2675 | Skip devices that are too small to be PVs. | |
2676 | Fix pvchange -x segfault with lvm2-format orphan. | |
2677 | Cope with empty msdos partition tables. | |
2678 | Add CONTRIBUTORS file. | |
2679 | ||
2680 | Version 2.00.31 - 12th December 2004 | |
2681 | ==================================== | |
2682 | Reopen RO file descriptors RW if necessary. | |
2683 | ||
2684 | Version 2.00.30 - 10th December 2004 | |
2685 | ==================================== | |
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. | |
2692 | Fix lvreduce man page .i->.I | |
2693 | Fix vgsplit man page title. | |
2694 | Fix clvmd man makefile. | |
2695 | Extend dev_open logging. | |
2696 | Make clvmd_fix_conf.sh UNDOable. | |
2697 | ||
2698 | Version 2.00.29 - 27th November 2004 | |
2699 | ==================================== | |
2700 | xlate compilation fix. | |
2701 | ||
2702 | Version 2.00.28 - 27th November 2004 | |
2703 | ==================================== | |
2704 | Fix partition table & md signature detection. | |
2705 | Minor configure/makefile tidy. | |
2706 | Export version.h from tools for clvmd. | |
2707 | ||
2708 | Version 2.00.27 - 24th November 2004 | |
2709 | ==================================== | |
2710 | Trap large memory allocation requests. | |
2711 | Fix to partition table detection code. | |
2712 | Improve filter debug mesgs. | |
2713 | Make clvmd_fix_conf.sh UNDOable | |
2714 | ||
2715 | Version 2.00.26 - 23rd November 2004 | |
2716 | ==================================== | |
2717 | Improve pool debugging stats. | |
2718 | Detect partition table signature. | |
2719 | pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) | |
2720 | Separate out md superblock detection code. | |
2721 | Prevent snapshot origin resizing. | |
2722 | Improve a vgremove error message. | |
2723 | Update some man pages. | |
2724 | Allow y/n with -ae args (exclusive activation). | |
2725 | Fixes to lvcreate vgname parsing. | |
2726 | Fix dm_name string size calculation. | |
2727 | Improve clvmd error reporting during startup. | |
2728 | Make clvmd cope with large gaps in node numbers IDs. | |
2729 | Make clvmd initialisation cope better with debugging output. | |
2730 | Tidy clvmd socket callbacks so all work happens outside main loop. | |
2731 | clvmd -V now displays lvm version too. | |
2732 | Add optional gulm build for clvmd | |
2733 | ||
2734 | Version 2.00.25 - 29th September 2004 | |
2735 | ===================================== | |
2736 | Fix return code from rm_link for vgmknodes. | |
2737 | Make clvmd LV hash table thread-safe. | |
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. | |
2742 | ||
2743 | Version 2.00.24 - 16th September 2004 | |
2744 | ===================================== | |
2745 | Fix pool_empty so it really does empty the memory pool. | |
2746 | Rename old segtypes files to segtype. | |
2747 | Some fixes to memory debugging code. | |
2748 | Exclude internal commands formats & segtypes from install. | |
2749 | ||
2750 | Version 2.00.23 - 15th September 2004 | |
2751 | ===================================== | |
2752 | Export dm name build & split functions. | |
2753 | Use O_NOATIME on devices if available. | |
2754 | Write log message when each segtype/format gets initialised. | |
2755 | New commands 'segtypes' and 'formats'. | |
2756 | Suppress pvmove abort message in test mode. | |
2757 | Improve pvcreate/remove device not found error message. | |
2758 | Allow pvmove to move data within the same PV. | |
2759 | Describe how pvmove works on man page. | |
2760 | Test for incompatible format/segtype combinations in lv_extend. | |
2761 | Fix lvchange example on man page. | |
2762 | ||
2763 | Version 2.00.22 - 3rd September 2004 | |
2764 | ==================================== | |
2765 | Fix /dev/vgname perms. | |
2766 | Restructure xlate.h. | |
2767 | Add clvmd man page. | |
2768 | ||
2769 | Version 2.00.21 - 19th August 2004 | |
2770 | ================================== | |
2771 | Update cnxman-socket.h from cman. | |
2772 | Recognise iseries/vd devices. | |
2773 | Use 'make install_cluster' to install cluster extensions only. | |
2774 | Cope with DT_UNKNOWN in sysfs. | |
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. | |
2780 | Change alloc_areas to pe_ranges and allow suppression of availability checks. | |
2781 | Add dev_size column to pvs. | |
2782 | Add report columns for in-kernel device number. | |
2783 | ||
2784 | Version 2.00.20 - 3 July 2004 | |
2785 | ============================= | |
2786 | More autoconf fixes. | |
2787 | Fix device number handling for 2.6 kernels. | |
2788 | ||
2789 | Version 2.00.19 - 29 June 2004 | |
2790 | ============================== | |
2791 | Reduce severity of setlocale failure message. | |
2792 | Recognise argv[0] "initrd-lvm" (pld-linux). | |
2793 | Make -O2 configurable. | |
2794 | Added --disable-selinux to configure script. | |
2795 | LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. | |
2796 | Add init_debug to clvmd. | |
2797 | ||
2798 | Version 2.00.18 - 24 June 2004 | |
2799 | ============================== | |
2800 | Fix vgchange activation. | |
2801 | Add cluster support. | |
2802 | ||
2803 | Version 2.00.17 - 20 June 2004 | |
2804 | ============================== | |
2805 | configure --enable-fsadm to try out fsadm. fsadm is not tested yet. | |
2806 | Display all filtered devices, not just PVs, with pvs -a. | |
2807 | Fix sync_dir() when no / in filename | |
2808 | vgcfgbackup -f accepts template with %s for VG name. | |
2809 | Extend hash functions to handle non-null-terminated data. | |
2810 | Add local activation support. | |
2811 | Tidy relative paths in makefile includes. | |
2812 | fsadm support for fsck and resizing - needs testing. | |
2813 | Add read-only GFS pool support. | |
2814 | Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ | |
2815 | Fix rounding of large diplayed sizes. | |
2816 | Suppress decimal point when using units of sectors/bytes. | |
2817 | Additional kernel target checks before pvmove & snapshot creation. | |
2818 | Add i2o_block. | |
2819 | ||
2820 | Version 2.00.16 - 24 May 2004 | |
2821 | ============================= | |
2822 | Set area_count within alloc_lv_segment. | |
2823 | Remove error labels from lvresize. | |
2824 | Fix a pvs error path. | |
2825 | xxchange -ae for exclusive activation. | |
2826 | Don't return non-zero status if there aren't any volume groups. | |
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. | |
2832 | Add reset_fn to external_locking. | |
2833 | Ensure presence of virtual targets before attempting activating. | |
2834 | Attempt to fix resizing of snapshot origins. | |
2835 | Restructure lvresize, bringing it closer to lvcreate. | |
2836 | A quick sanity check on vg_disk struct when read in. More checks needed. | |
2837 | Only include visible LVs in active/open counts. | |
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. | |
2841 | Push lv_create & alloc policy up to tool level. | |
2842 | Fix pvdisplay return code. | |
2843 | Detect invalid LV names in arg lists. | |
2844 | Reporting uses line-at-a-time output. | |
2845 | lvm2 format sets unlimited_vols format flag. | |
2846 | Internal-only metadata flag support. | |
2847 | Basic checking for presence of device-mapper targets. | |
2848 | Separate out polldaemon. | |
2849 | Revise internal locking semantics. | |
2850 | Move find_pv_by_name to library. | |
2851 | Rename move->copy. | |
2852 | Add devices to segments report. | |
2853 | Begin separating out segment code. There's a lot of change here. | |
2854 | Compress any (obsolete) long LVM1 pvids encountered. | |
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 | ||
2859 | Version 2.00.15 - 19 Apr 2004 | |
2860 | ============================= | |
2861 | configure --with-owner= --with-group= to avoid -o and -g args to 'install' | |
2862 | ||
2863 | Version 2.00.14 - 16 Apr 2004 | |
2864 | ============================= | |
2865 | Use 64-bit file functions by default. | |
2866 | ||
2867 | Version 2.00.13 - 16 Apr 2004 | |
2868 | ============================= | |
2869 | Set devices/md_component_detection = 1 to ignore devices containing md | |
2870 | superblocks. [Luca Berra] | |
2871 | Ignore error setting selinux file context if fs doesn't support it. | |
2872 | ||
2873 | Version 2.00.12 - 14 Apr 2004 | |
2874 | ============================= | |
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 | ||
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 | ||
2886 | Version 2.00.10 - 7 Apr 2004 | |
2887 | ============================ | |
2888 | More fixes for static build. | |
2889 | Add basic selinux support. | |
2890 | Fix sysfs detection. | |
2891 | ||
2892 | Version 2.00.09 - 31 Mar 2004 | |
2893 | ============================= | |
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 | ||
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. | |
2928 | dumpconfig to display the active configuration file | |
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 | |
2932 | commands to fix up the special files in /dev in your real root filesystem | |
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 | ||
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 | |
2942 | restrict not only which disk(s) may be used but also the Physical Extents | |
2943 | on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 | |
2944 | ||
2945 | ||
2946 | Monday 18th November 2002 | |
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 | ||
2954 | Please report any problems you find to the mailing list, | |
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 | ||
2959 | While testing, we recommend turning logging on in the configuration file | |
2960 | to provide us with diagnostic information: | |
2961 | log { | |
2962 | file="/tmp/lvm2.log" | |
2963 | level=7 | |
2964 | activation=1 | |
2965 | } | |
2966 | ||
2967 | You should schedule regular backups of your configuration file and | |
2968 | metadata backups and archives (normally kept under /etc/lvm). | |
2969 | ||
2970 | Please read docs/example.conf and "man lvm.conf" to find out more about | |
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 | |
2999 | create and restore from these files. If you fully understand what | |
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 | |
3014 | repeated messages, many of which will eventually get optimised out. | |
3015 | ||
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 | |
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. | |
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! |