]>
Commit | Line | Data |
---|---|---|
1 | Version 2.02.96 - | |
2 | ================================ | |
3 | Fix error message when pvmove LV activation fails with name already in use. | |
4 | Better structure layout for device_info in dev_subsystem_name(). | |
5 | Change message severity for creation of VG over uninitialised devices. | |
6 | Fix error path for failing toolcontext creation. | |
7 | Fix warn msg for thin pool chunk size and update man for chunksize (2.02.89). | |
8 | ||
9 | Version 2.02.95 - 6th March 2012 | |
10 | ================================ | |
11 | If unspecified, adjust thin pool metadata and chunk size to fit into 128MB. | |
12 | Print just warning on thin pool check callback path for failing check. | |
13 | Always use 64bit arithmetic with VG extent_size expression. | |
14 | Validate udev structures in _insert_udev_dir(). | |
15 | Take repeatable --major --minor with pvscan --cache instead of major:minor. | |
16 | Scan all devices for lvmetad if 'pvscan --cache' used without device list. | |
17 | Populate lvmcache from lvmetad before displaying PVs in pvscan. (2.02.94) | |
18 | Suppress incorrect -n pvscan warning now always displayed. (2.02.94) | |
19 | ||
20 | Version 2.02.94 - 3rd March 2012 | |
21 | ================================ | |
22 | Add support to execute thin_check with each de/active of thin pool. | |
23 | Fix automatic estimation of metadata device size for thin pool. | |
24 | Test for alloc fail from _alloc_pv_segment() in _extend_pv(). | |
25 | Check for alloc fail from get_segtype_from_string() in _lvcreate_params(). | |
26 | Add _rimage as reserved suffix to lvm.8 man page. | |
27 | Improve error logging from mpath filter. | |
28 | Check for allocation failure in hold_lock() in clvmd. | |
29 | Use set_lv() (wipe initial 4KiB) for non zeroed thin volume. | |
30 | Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt). | |
31 | Revert free of allocated segtype in init segment error path (2.02.89). | |
32 | Test dm_hash_insert() failures in filter-persistent.c and fid_add_mda(). | |
33 | Ensure clvmd message is always NUL-terminated after read. | |
34 | Add some close() and dev_close() error path backtraces. | |
35 | Set stdin/stdout/stderr to /dev/null for polldaemon. | |
36 | Limit the max size of processed clvmd message to ~8KB. | |
37 | Do not send uninitialised bytes in cluster error reply messages. | |
38 | Use unsigned type for bitmask instead of enum type for lvm properties. | |
39 | Add missing cleanup of excl_uuid hash on some exit paths of clvmd. | |
40 | Check for existence of vg_name in _format1/_pool_vg_read(). | |
41 | Fix missing break in _format_pvsegs (2.02.92). | |
42 | Test seg pointer for non-null it in raid_target_percent error path. | |
43 | Check for errors in _init_tags() during config loading. | |
44 | Always check result of _set_vg_name() in lvcreate. | |
45 | Drop unused call to uname() during clvmd initialization. | |
46 | Test allocation result in sysfs filter creation. | |
47 | Limit sscanf parameters with buffer size in clvmd get_initial_state(). | |
48 | Use const lv pointer for lv_is_active...() functions. | |
49 | Use same signed numbers in _mirrored_transient_status(). | |
50 | Support 'pvscan --cache' to update lvmetad state from specific PVs. | |
51 | Provide new metadata daemon for testing with configure --enable-lvmetad . | |
52 | Integrate client-side lvmetad into build. | |
53 | ||
54 | Version 2.02.93 - 23rd February 2012 | |
55 | ==================================== | |
56 | Require number of stripes to be greater than parity devices in higher RAID. | |
57 | Fix allocation code to allow replacement of single RAID 4/5/6 device. | |
58 | Check all tags and LV names are in a valid form in vg_validate. | |
59 | Add tmpfiles.d style configuration for lvm2 lock and run directory. | |
60 | Add configure --with-tmpfilesdir for dir holding volatile-file configuration. | |
61 | Allow 'lvconvert --repair' to operate on RAID 4/5/6. | |
62 | Fix build_parallel_areas_from_lv to account correctly for raid parity devices. | |
63 | Print message when faulty raid devices have been replaced. | |
64 | ||
65 | Version 2.02.92 - 20th February 2012 | |
66 | ==================================== | |
67 | Read dmeventd monitoring config settings for every lvm command. | |
68 | For thin devices, initialize monitoring only for thin pools not thin volumes. | |
69 | Make conversion from a synced 'mirror' to 'raid1' not cause a full resync. | |
70 | Properly test buffer for unit check in units_to_bytes(). | |
71 | Add configure --with-systemdsystemunitdir. | |
72 | Add check for allocation failure in _build_matcher(). | |
73 | Add check for rimage name allocation failure in _raid_add_images(). | |
74 | Add check for mda_copy failure in _text_pv_setup(). | |
75 | Add check for _mirrored_init_target failure. | |
76 | Add free_orphan_vg. | |
77 | Skip pv/vg_set_fid processing if the fid is same. | |
78 | Check for foreach loop errors in _vg_read_orphans() (2.02.91). | |
79 | Clean error paths for format instance creation (2.02.91). | |
80 | Release vg in error path of _format1_vg_read() instead of just free(). | |
81 | Report allocation failure for allocation of PV structure. | |
82 | Add clvmd init dependency on dlm service when running with new corosync. | |
83 | ||
84 | Version 2.02.91 - 12th February 2012 | |
85 | ==================================== | |
86 | Remove PV-based format instances (which are no longer needed). | |
87 | Link all orphan PVs directly to a per-format global orphan VG. | |
88 | Refactor lvmcache around an internal API. | |
89 | Stop processing lvextend if trying to extend a mirror that is being recovered. | |
90 | Add pool_below_threshold() function to check thin pool percent status. | |
91 | Fix test for snap percent for failing merge when removing LV. | |
92 | Switch int to void return for str_list_del(). | |
93 | Fix error path handling in _build_desc(). | |
94 | Add range test for device number in _scan_proc_dev(). | |
95 | Use signed long for sysconf() call in cmirrord. | |
96 | Do not write in front of log buffer in print_log(). | |
97 | Add boundary test for number of mirror devs and logs. | |
98 | Check that whole locking_dir fits _lock_dir buffer in init_file_locking(). | |
99 | Use list functions for label_exit(). | |
100 | Ensure strncpy() function always ends with '\0'. | |
101 | Set status in _fsadm_cmd() for error path. | |
102 | Add missing deps for lvm2api for rebuild when lvm-internal is changed. | |
103 | Fix resource leaks for failing allocation of formats (lvm1/2,pool). | |
104 | Release allocated resources in error path for composite_filter_create(). | |
105 | Do not use lstat() results when failed in _rm_link(). | |
106 | Remove a "waiting for another thread" log message from dmeventd plugins. | |
107 | ||
108 | Version 2.02.90 - 1st February 2012 | |
109 | =================================== | |
110 | sync_local_dev_names before (re)activating mirror log for initialisation. | |
111 | Disable partial activation for thin LVs and LVs with all missing segments. | |
112 | Do not print warning for pv_min_size between 512KB and 2MB. | |
113 | Clean up systemd unit ordering and requirements. | |
114 | Fix lcov reports when srcdir != builddir. | |
115 | Allow ALLOC_NORMAL to track reserved extents for log and data on same PV. | |
116 | Automatically detect whether corosync clvmd needs to use confdb or cmap. | |
117 | Fix data% report for thin volume used as origin for non-thin snapshot. | |
118 | ||
119 | Version 2.02.89 - 26th January 2012 | |
120 | =================================== | |
121 | Add missing check for uname result in clvmd TEST processing. | |
122 | Fix memleak in target_version() error path (unsupported LIST_VERSIONS). | |
123 | Limit data_alignment and data_alignment_offset to 32bit values. | |
124 | Check for correctness of uint64 dev_size value in format_text. | |
125 | Thin pools have segment fields thin_count, zero, transaction_id. | |
126 | Add data_percent and metadata_percent for thin pools to lvs -v. | |
127 | Add data_lv & metadata_lv fields to lvs for thin pools. | |
128 | Add data_percent & pool_lv fields to lvs for thin volumes. | |
129 | Rename origin_only parm to use_layer for lv_info and use with thin LVs. | |
130 | Add lv_thin_pool_transaction_id to read the transaction_id value. | |
131 | Use {suspend,resume}_origin_only when up-converting RAID, as mirrors do. | |
132 | Always add RAID metadata LVs to deptree (even when origin_only is set). | |
133 | Change exclusive LV activation logic to try local node before remote nodes. | |
134 | Add CLVMD_FLAG_REMOTE to skip processing on local node. | |
135 | Prompt if request is made to remove a snapshot whose "Merge failed". | |
136 | Allow removal of an invalid snapshot that was to be merged on next activation. | |
137 | Don't allow a user to merge an invalid snapshot. | |
138 | Use m and M lv_attr to indicate that a snapshot merge failed in lvs. | |
139 | Differentiate between snapshot status of "Invalid" and "Merge failed". | |
140 | Report snapshot usage percent of origin volume when a snapshot is merging. | |
141 | Require global/lvdisplay_shows_full_device_path for (bogus) lvm1-style paths. | |
142 | Do not report linear segtype for non-striped targets. | |
143 | Record creation host & time for each LV and report as lv_time & lv_host. | |
144 | Make error message hit when preallocated memlock memory exceeded clearer. | |
145 | Use R lv_attr to indicate read-only activation of non-read-only device in lvs. | |
146 | Show read-only activation override in lvdisplay & add 4 to perms in -c. | |
147 | Add activation/read_only_volume_list to override LV permission in metadata. | |
148 | Give priority to emcpower devices with duplicate PVIDs. | |
149 | Add check for error in _adjust_policy_params() (lvextend --use-policies). | |
150 | Round specified percentages upwards (%LV, %VG...) when resizing LVs. | |
151 | Use dmeventd_lvm2_command in dmeventd plugins snapshot, raid, mirror. | |
152 | Add helper dmeventd_lvm2_command() to libdevmapper-event-lvm2 library. | |
153 | Update documentation for dmeventd. | |
154 | Remove unnecessary stat before opening device in dev_open_flags. | |
155 | Reduce number of lstat calls when selecting device alias. | |
156 | Add _dev_init to initialize common struct device members. | |
157 | Always zalloc struct device during initialization. | |
158 | Fix missing thread list manipulation protection in dmeventd. | |
159 | Do not derefence lv pointer in _percent_run() function before NULL check. | |
160 | Allow empty strings for description and creation_host config fields. | |
161 | Issue deprecation warning when removing last lvm1-format snapshot. | |
162 | Reinstate support for snapshot removal with lvm1 format. (2.02.86) | |
163 | Add policy-based automated repair of RAID logical volumes. | |
164 | Don't allow two images to be split and tracked from a RAID LV at one time. | |
165 | Don't allow size change of RAID LV that is tracking changes for a split image. | |
166 | Don't allow size change of RAID sub-LVs independently. | |
167 | Don't allow name change of RAID LV that is tracking changes for a split image. | |
168 | Do not allow users to change the name of RAID sub-LVs independently. | |
169 | Do not allow users to change permissions on RAID sub-LVs. | |
170 | Allow lvconvert to replace specified devices in a RAID array. | |
171 | Add activation/use_linear_target enabled by default. | |
172 | Use gcc warning options only with .c to .o compilation. | |
173 | Move y/n prompts to stderr and repeat if response has both 'n' and 'y'. | |
174 | Replace the unit testing framework with CUnit (--enable-testing). | |
175 | Fix dmeventd snapshot monitoring when multiple extensions were involved. | |
176 | Don't ignore configure --mandir and --infodir. | |
177 | Drop pool memory allocated within lv_has_target_type(). | |
178 | Reduce stack allocation of some PATH_MAX sized char buffers. | |
179 | Unlock memory before writing metadata. | |
180 | Add query before removing snapshots when inactive snapshot origin is removed. | |
181 | Allow changing availability state of snapshots. | |
182 | Skip non-virtual snapshots for availability change for lvchange with vg name. | |
183 | Skip adjusting mirror region size unless mirror or raid. | |
184 | Reorder prompt conditions for removal of active volumes. | |
185 | Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag.(2.02.86) | |
186 | Fix --enable-static_link unless using --enable-dmeventd / --enable-udev_sync. | |
187 | Move gentoo MAKEDEV to /sbin in lvm2create_initrd. | |
188 | Add filter to avoid scan of device if it is part of active multipath. | |
189 | Add missing default $LVM_VG_NAME usage for snapshots. | |
190 | Avoid extent_count overflow with lvextend. | |
191 | Add missing lvrename mirrored log recursion in for_each_sub_lv. | |
192 | Improve lv_extend stack reporting. | |
193 | Increase virtual segment size instead of creating multiple segment list. | |
194 | Add last_seg(lv) internal function. | |
195 | Support empty string for log/prefix. | |
196 | Disallow mirrored logs for cluster mirrors. (2.02.72) | |
197 | Don't print char type[8] as a plain string in pvck PV type. | |
198 | Use vg memory pool implicitly for vg read. | |
199 | Always use vg memory pool for allocated lv segment. | |
200 | Remove extra 4kB buffer allocated on stack in print_log(). | |
201 | Make move_lv_segment non-static function and use dm_list function. | |
202 | Pass exclusive LV locks to all nodes in the cluster. | |
203 | Improve lvcreate chunksize man page description. | |
204 | Improve man page style for lvcreate & lvs. | |
205 | Avoid recursive calls to dmeventd in its LVM plugins. | |
206 | Log dev name now returned to kernel for registering during cmirror CTR. | |
207 | Fix lv_info open_count test for disabled verify_udev_operations. (2.02.86) | |
208 | Simplify code for lvm worker thread in clvmd. | |
209 | Use pthread_barrier to synchronize clvmd threads at startup. | |
210 | Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack. | |
211 | Reduce default preallocated stack size to 64KiB. | |
212 | Add check for access through NULL pointer when refresh_filter() fails. | |
213 | Use pthread condition for SINGLENODE lock implementation. | |
214 | Improve backtrace reporting for some dev_manager_ functions. | |
215 | Change message severity to log_warn when symlink creation fails. | |
216 | Add ability to convert mirror segtype to RAID1 segtype. | |
217 | Add ability to convert from linear to RAID1. | |
218 | Add ability to extend mirrors with '--nosync' option. | |
219 | Fix splitmirror LV names to maintain consistent state in a cluster. | |
220 | Apply appropriate udev flags when suspending/resuming mirror sub-LVs. | |
221 | Fix vgsplit to handle mirrored logs. | |
222 | Clarify multi-name device filter pattern matching explanation in lvm.conf. | |
223 | Introduce revert_lv for better pvmove cleanup. | |
224 | Replace incomplete pvmove activation failure recovery code with a message. | |
225 | Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely. | |
226 | Change suspend_lvs to call vg_revert internally. | |
227 | Change vg_revert to void and remove superfluous calls after failed vg_commit. | |
228 | Use execvp for CLVMD restart to preserve environment settings. | |
229 | Restart CLVMD with same cluster manager. | |
230 | Fix log_error() usage in raid and unknown segtype initialisation. | |
231 | Improve testing Makefile. | |
232 | Fix install_ocf make target when srcdir != builddir. (2.02.80) | |
233 | Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd. | |
234 | Fix restart of clvmd (preserve exlusive locks). (2.02.64) | |
235 | Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE. | |
236 | Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV. | |
237 | Replace open_count check with holders/mounted_fs check on lvremove path. | |
238 | Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg. | |
239 | Cleanup restart clvmd code (no memory allocation, debug print passed args). | |
240 | Add all exclusive locks to clvmd restart option args. | |
241 | Always send the whole clvmd packet header in refresh commands. | |
242 | Add missing error checks for some system calls in cmirrord. | |
243 | Add missing log_error() to lvresize command when fsadm tool fails. | |
244 | Add support for DM_DEV_DIR device path into fsadm script. | |
245 | Support different PATH setting for fsadm script testing. | |
246 | Surround all executed commands with quotes in fsadm script. | |
247 | Fix missing '$' in test for content of "$LVM" in fsadm script. | |
248 | Move debug message in exec_cmd after sync_local_dev_names. | |
249 | Fix clvmd processing of invalid request on local socket. | |
250 | Fix command line option decoding. | |
251 | Reset LV status when unlinking LV from VG. | |
252 | Fix overly-strict extent-count divisibility requirements for striped mirrors. | |
253 | Fix rounding direction in lvresize when reducing volume size. | |
254 | Fix possible overflow of size if %FREE or %VG is used. | |
255 | Fix vgchange activation of snapshot with virtual origin. | |
256 | Activate virtual snapshot origin exclusively (only on local node in cluster). | |
257 | Fix lv_mirror_count to handle mirrored stripes properly. | |
258 | Fix failure to down-convert a mirror to linear due to udev "dev open" conflict | |
259 | Fix mirrored log creation when PE size is small: use log_size >= region_size. | |
260 | Fix log size calculation when only a log is being added to a mirror. | |
261 | Add 7th lv_attr char to show the related kernel target. | |
262 | Terminate pv_attr field correctly. (2.02.86) | |
263 | Fix 'not not' typo in pvcreate man page. | |
264 | Improve man page style for fsadm, lvreduce, lvremove, lvrename & lvresize. | |
265 | Support break for vgchange and vgrefresh operation. | |
266 | Switch int to unsigned type for pvmetadatacopies for pv_create(). | |
267 | Replace :space: with [\t ] for awk in vgimportclone (not widely supported). | |
268 | Begin using 64-bit status field flags. | |
269 | Detect sscanf recovering_region input error in cmirrord pull_state(). | |
270 | Fix error path bitmap leak in cmirrord import_checkpoint(). | |
271 | Log unlink() error in cmirrord remove_lockfile(). | |
272 | Remove incorrect requirement for -j or -m from lvchange error message. | |
273 | Fix unsafe table load when splitting off smaller mirror from a larger one. | |
274 | Use size_t return type for text_vg_export_raw() and export_vg_to_buffer(). | |
275 | Add configure --enable-lvmetad for building the (experimental) LVMetaD. | |
276 | Fix resource leak when strdup fails in _get_device_status() (2.02.85). | |
277 | Directly allocate buffer memory in a pvck scan instead of using a mempool. | |
278 | Add configure --with-thin for segtypes "thin" and "thin_pool". | |
279 | Fix raid shared lib segtype registration (2.02.87). | |
280 | ||
281 | Version 2.02.88 - 19th August 2011 | |
282 | ================================== | |
283 | Remove incorrect 'Breaking' error message from allocation code. (2.02.87) | |
284 | Add lvconvert --merge support for raid1 devices split with --trackchanges. | |
285 | Support lvconvert of -m1 raid1 devices to a higher number. | |
286 | Add --trackchanges support to lvconvert --splitmirrors option for raid1. | |
287 | Support splitting off a single raid1 rimage in lvconvert --splitmirrors. | |
288 | Use sync_local_dev_names when reducing number of raid rimages in lvconvert. | |
289 | Add -V as short form of --virtualsize in lvcreate. | |
290 | Fix make clean not to remove Makefile. (2.02.87) | |
291 | ||
292 | Version 2.02.87 - 12th August 2011 | |
293 | ================================== | |
294 | Fix make distclean to remove stray dmeventd and exported symbols files. | |
295 | Add global/detect_internal_vg_cache_corruption to lvm.conf. | |
296 | Use memory pool locking to check for corruption of internal VG structs. | |
297 | Cache and share generated VG structs. | |
298 | Fix possible format instance memory leaks and premature releases in _vg_read. | |
299 | Suppress locking error messages in monitoring init scripts. | |
300 | If pipe in clvmd fails return busy instead of using uninitialised descriptors. | |
301 | Add ability to reduce the number of mirrors in raid1 arrays to lvconvert. | |
302 | Add dmeventd plugin for raid. | |
303 | Replace free_vg with release_vg and move it to vg.c. | |
304 | Remove INCONSISTENT_VG flag from the code. | |
305 | Remove lock from cache in _lock_vol even if unlock fails. | |
306 | Initialise clvmd locks before lvm context to avoid open descriptor leaks. | |
307 | Remove obsolete gulm clvmd cluster locking support. | |
308 | Suppress low-level locking errors and warnings while using --sysinit. | |
309 | Remove unused inconsistent_seqno variable in _vg_read(). | |
310 | Remove meaningless const type qualifiers on cast type. | |
311 | Add test for fcntl error in singlenode client code. | |
312 | Remove --force option from lvrename manpage. | |
313 | Add global/mirror_segtype_default to pick md raid or dm mirror as default. | |
314 | Add configure --with-raid for new segtype 'raid' for MD RAID 1/4/5/6 support. | |
315 | Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used if there is no config file. | |
316 | Add systemd unit file to provide lvm2 monitoring. | |
317 | Compare file size (as well as timestamp) to detect changed config file. | |
318 | ||
319 | Version 2.02.86 - 8th July 2011 | |
320 | =============================== | |
321 | Remove unnecessary warning in pvcreate for MD linear devices. | |
322 | Move snapshot removal activation logic into lib/activate. | |
323 | Cope with a PV only discovered missing when creating deptree. | |
324 | Abort operation if dm_tree_node_add_target_area fails. | |
325 | Add activation/checks to lvm.conf to perform additional ioctl validation. | |
326 | Always preload on suspend, even if no metadata changed (lvchange --refresh). | |
327 | When suspending, automatically preload newly-visible existing LVs. | |
328 | Teardown any stray devices with $COMMON_PREFIX during test runs. | |
329 | Reinstate correct permissions when creating mirrors. [2.02.85] | |
330 | Append 'm' attribute to pv_attr for missing PVs. | |
331 | Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd. | |
332 | Remove enforcement of udev verification when using non-standard /dev location. | |
333 | Keep an exclusive mirror non-clustered if reloaded e.g. during conversion. | |
334 | Reject allocation if number of extents is not divisible by area count. | |
335 | Fix cluster mirror creation to work with new mirror allocation algorithm. | |
336 | Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18. | |
337 | Add activation/verify_udev_operations to lvm.conf, disabled by default. | |
338 | Call vg_mark_partial_lvs() before VG structure is returned from the cache. | |
339 | Remove unused internal flag ACTIVATE_EXCL from the code. | |
340 | Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path. | |
341 | Add lv_activate_opts structure for activation (replacing activation flags). | |
342 | Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating. | |
343 | Add proper udev library context initialization and finalization to liblvm. | |
344 | Fix last snapshot removal to avoid table reload while a device is suspended. | |
345 | Use dm_get_suspended_counter in replacement critical_section logic. | |
346 | Downgrade critical_section errors to debug level until it is moved to libdm. | |
347 | Fix ignored background polling default in vgchange -ay. | |
348 | Fix pvmove activation sequences to avoid trapped I/O with multiple LVs. | |
349 | Annotate critical section debug messages. | |
350 | Fix reduction of mirrors with striped segments to always align to stripe size. | |
351 | Validate mirror segments size. | |
352 | Include lvmetad development code in tree. | |
353 | Fix extent rounding for striped volumes never to reduce more than requested. | |
354 | Fix create_temp_name to replace any '/' found in the hostname with '?'. | |
355 | Always use append to file in lvmdump. selinux policy may ban file truncation. | |
356 | Propagate test mode to clvmd to skip activation and changes to held locks. | |
357 | Defer writing PV labels until vg_write. | |
358 | Store label_sector only in struct physical_volume. | |
359 | Permit --available with lvcreate so non-snapshot LVs need not be activated. | |
360 | Report sector containing label in verbose message. | |
361 | Clarify error message when unable to convert an LV into a snapshot of an LV. | |
362 | Add and use dev_open_readonly and variations. | |
363 | Do not log a superfluous stack message when the lv is properly processed. | |
364 | Do not issue an error message when unable to remove .cache on read-only fs. | |
365 | Avoid memlock size mismatch by preallocating stdio line buffers. | |
366 | Rewrite vgreduce --removemissing --force to share lvconvert code. | |
367 | Reorganize lvconvert --repair code to allow reuse. | |
368 | ||
369 | Version 2.02.85 - 29th April 2011 | |
370 | ================================= | |
371 | Add new obtain_device_list_from_udev setting to lvm.conf. | |
372 | Obtain device list from udev by default if LVM2 is compiled with udev support. | |
373 | Add test for vgimportclone and querying of vgnames with duplicate pvs. | |
374 | Avoid use of released memory when duplicate PV is found. | |
375 | Add "devices/issue_discards" to lvm.conf. | |
376 | Issue discards on lvremove and lvreduce etc. if enabled and supported. | |
377 | Add seg_pe_ranges and devices fields to liblvm. | |
378 | Fix incorrect tests for dm_snprintf() failure. | |
379 | Fix some unmatching sign comparation gcc warnings in the code. | |
380 | Support lv_extend() on empty LVs. | |
381 | Avoid regenerating cache content when exported VG buffer is unchanged. | |
382 | Extend the set of memory regions that are not locked to memory. | |
383 | Workaround some problems when compiled for valgrind memcheck. | |
384 | Support controlled quit of the lvm_thread_fn function in clvmd. | |
385 | Fix reading of unallocated memory in lvm1 format import function. | |
386 | Replace several strncmp() calls with id_equal(). | |
387 | Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname(). | |
388 | Fix -Wold-style-definition gcc warnings. | |
389 | Rename MIRROR_NOTSYNCED to LV_NOTSYNCED. | |
390 | Fix _move_lv_segments to handle empty LVs. | |
391 | Fixes for lvconvert (including --repair) of temporary mirror stacks. | |
392 | Avoid potential loop when removing mirror images. | |
393 | Fix mirror removal always to take account of preferences as to which. | |
394 | Fix MIRRORED flag usage. | |
395 | Remove error messages issued by device_is_usable when run as non-root. | |
396 | Add missing \0 for grown debug object in _bitset_with_random_bits(). | |
397 | Fix allocation of system_id buffer in volume_group structure. | |
398 | Fix readlink usage inside get_primary_dev(). | |
399 | Use format instance mempool where possible and adequate. | |
400 | Call destroy_instance for any PVs found in VG structure during vg_free call. | |
401 | Add new free_pv_fid fn and use it throughout to free all attached fids. | |
402 | Use only vg_set_fid and new pv_set_fid fn to assign the format instance. | |
403 | Make create_text_context fn static and move it inside create_instance fn. | |
404 | Add mem and ref_count fields to struct format_instance for own mempool use. | |
405 | Use new alloc_fid fn for common format instance initialisation. | |
406 | Optimise _get_token() and _eat_space(). | |
407 | Add _lv_postorder_vg() to improve efficiency for all LVs in VG. | |
408 | Add gdbinit script for debugging. | |
409 | Use hash tables to speedup string search in vg_validate(). | |
410 | Refactor allocation of VG structure adding alloc_vg(). | |
411 | Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name. | |
412 | Use empty string instead of /dev// for LV path when there's no VG. | |
413 | Don't allocate unused VG mempool in _pvsegs_sub_single. | |
414 | Do not send uninitialised bytes in local clvmd messages. | |
415 | Support --help option for clvmd and return error for unknown option. | |
416 | Avoid reading freed memory when printing LV segment type. | |
417 | Fix syslog initialisation in clvmd to respect lvm.conf setting. | |
418 | Fix possible overflow in maximum stripe size and physical extent size. | |
419 | Improve pvremove error message when PV belongs to a VG. | |
420 | Extend normal policy to allow mirror logs on same PVs as images if necessary. | |
421 | Improve cling policy to recognise PVs already used during the transaction. | |
422 | Improve normal allocation algorithm to include clinging to existing areas. | |
423 | Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf. | |
424 | Adapt metadata balancing code to work with metadata handling changes. | |
425 | Add old_id field to physical_volume and fix pvchange -u for recent changes. | |
426 | Allow pvresize on a PV with two metadata areas. | |
427 | Change pvcreate to use new metadata handling interface. | |
428 | Restructure existing pv_setup and pv_write and add pv_initialise. | |
429 | Add internal interface to support adding and removing metadata areas. | |
430 | Allow internal indexing of metadata areas (PV id + mda order). | |
431 | Generalise internal format_instance infrastrusture for PV and VG use. | |
432 | Handle decimal digits with --units instead of ignoring them silently. | |
433 | Fix remaining warnings and compile with -Wpointer-arith. | |
434 | Fix gcc warnings for unused variables and const casts. | |
435 | Add stack backtraces for error paths in process_each_lv(). | |
436 | Temporarily suppress error from calling yes_no_prompt while locks are held. | |
437 | Replace void* with char* arithmetic in _text_write, _text_read & send_message. | |
438 | Fix compilation without DEVMAPPER_SUPPORT. | |
439 | Remove fs_unlock() from lv_suspend error path. | |
440 | Allow memory to stay locked between leaving and re-entering critical sections. | |
441 | Rename memlock to critical_section throughout. | |
442 | Make pv_min_size configurable and increase to 2048KB to exclude floppy drives. | |
443 | Add find_config_tree_int64 to read 64-bit ints from config. | |
444 | Ensure resuming exclusive cluster mirror continues to use local mirror target. | |
445 | Clear temporary postorder LV status flags to allow re-use with same LV struct. | |
446 | Remove invalid snapshot umount mesg which floods syslog from dmeventd plugin. | |
447 | Add extended examples to pvmove man page. | |
448 | Support LVM_TEST_DEVDIR env var for private /dev during testing. | |
449 | ||
450 | Version 2.02.84 - 9th February 2011 | |
451 | =================================== | |
452 | Fix CRC32 calculation on big endian CPU (2.02.75). | |
453 | ||
454 | Version 2.02.83 - 4th February 2011 | |
455 | =================================== | |
456 | Allow exclusive activation of snapshots in a cluster. | |
457 | Leave EX lock unchanged when suspending a device in clvmd. | |
458 | Use sync_dev_names in unlock_vg macro for cluster-wide dev name sync. | |
459 | Fix fs operation stack handling when multiple operations on same device. | |
460 | Increase hash table size to 1024 lv names and 64 pv uuids. | |
461 | Remove fs_unlock() from lv_resume path. | |
462 | Fix wipe size when setting up mda. | |
463 | Remove unneeded checks for open_count in lv_info(). | |
464 | Synchronize with udev before checking open_count in lv_info(). | |
465 | Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested. | |
466 | Add "dmsetup ls --tree" output to lvmdump. | |
467 | Fix udev synchronization with no-locking --sysinit (2.02.80). | |
468 | Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan. | |
469 | Avoid rebuilding of uuid validation table. | |
470 | Improve lvcreate error text from insufficient "extents" to "free space". | |
471 | Always use O_DIRECT when opening block devices to check for partitioning. | |
472 | ||
473 | Version 2.02.82 - 24th January 2011 | |
474 | =================================== | |
475 | Bring lvscan man page up-to-date. | |
476 | Fix lvchange --test to exit cleanly. | |
477 | Add change_tag to toollib. | |
478 | Allow multiple pvchange command line options to be specified together. | |
479 | Do not fail pvmove polling if another process cleaned up first. | |
480 | Avoid clvmd incrementing dlm lockspace reference count more than once. | |
481 | Add -f (don't fork) option to clvmd and fix clvmd -d<num> description. | |
482 | ||
483 | Version 2.02.81 - 17th January 2011 | |
484 | =================================== | |
485 | Do not scan devices in dev_reset_error_count(). | |
486 | Skip unnecessary LOCK_NULL unlock call during volume deactivation. | |
487 | Skip fs_unlock when calling exec_cmd within activation code (for modprobe). | |
488 | Extend exec_cmd params to specify when device sync (fs_unlock) is needed. | |
489 | Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80) | |
490 | Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock. | |
491 | Accept fusion fio in device type filter. | |
492 | Add ability to convert mirror log type from disk to mirrored. | |
493 | ||
494 | Version 2.02.80 - 10th January 2011 | |
495 | =================================== | |
496 | Use same dm cookie for consecutive dm ops in same VG to reduce udev waits. | |
497 | Speed up command processing by caching resolved config tree. | |
498 | Pass config_tree to renamed function import_vg_from_config_tree(). | |
499 | Detect NULL handle in get_property(). | |
500 | Fix superfluous /usr in ocf_scriptdir instalation path. | |
501 | Add --with-ocfdir configurable option. | |
502 | Add aclocal.m4 (for pkgconfig). | |
503 | Fix memory leak in persistent filter creation error path. | |
504 | Check for errors setting up dm_task struct in _setup_task(). | |
505 | Fail polldaemon creation when lvmcache_init() fails. | |
506 | Return PERCENT_INVALID for errors in _copy_percent() and _snap_percent(). | |
507 | Remove some unused variables. | |
508 | Improve general lvconvert man page description. | |
509 | Return 0 from cmirrord initscript 'start' if daemon is already running. | |
510 | Fix wrongly paired unlocking of VG_GLOBAL in pvchange. (2.02.66) | |
511 | Add backtraces for backup and backup_remove fail paths. | |
512 | Detect errors from dm_task_set calls in _get_device_info (dmeventd). | |
513 | Add backtraces for archive and backup_locally in check_current_backup(). | |
514 | Fix memory leak in debug mode of restart_clvmd() error path. | |
515 | Log error message for pthread_join() failure in clvmd. | |
516 | ||
517 | Version 2.02.79 - 20th December 2010 | |
518 | ==================================== | |
519 | Remove some unused variables. | |
520 | Add missing test for reallocation error in _find_parallel_space(). | |
521 | Add checks for allocation errors in config node cloning. | |
522 | Fix error path if regex engine cannot be created in _build_matcher(). | |
523 | Use char* arithmetic in target_version(), _process_all() & _targets(). | |
524 | Fixing const cast gcc warnings in the code. | |
525 | Check read() and close() results in _get_cmdline(). | |
526 | Add const for struct config_node usage. | |
527 | Fix NULL pointer check in error path in clvmd do_command(). (2.02.78) | |
528 | Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51) | |
529 | Add copy_percent and snap_percent to liblvm. | |
530 | Enhance vg_validate to ensure integrity of LV and PV structs referenced. | |
531 | Enhance vg_validate to check composition of pvmove LVs. | |
532 | Create /var/run/lvm directory during clvmd initialisation if missing. | |
533 | Use new dm_prepare_selinux_context instead of dm_set_selinux_context. | |
534 | Avoid revalidating the label cache immediately after scanning. | |
535 | Support scanning for a single VG in independent mdas. | |
536 | Don't skip full scan when independent mdas are present even if memlock is set. | |
537 | Set cmd->independent_metadata_areas if metadata/dirs or disk_areas in use. | |
538 | Cope better with an undefined target_percent operation in _percent_run. | |
539 | Avoid writing to freed memory in vg_release and rename to free_vg. (2.02.78) | |
540 | ||
541 | Version 2.02.78 - 6th December 2010 | |
542 | =================================== | |
543 | Abort if segment tag allocation fails in pool format _add_stripe_seg. | |
544 | Abort in _mirrored_transient_status if referenced log/image LV is not active. | |
545 | Add backtraces for dev_set() and dev_close_immediate() errors in set_lv(). | |
546 | Log any unlink() error in clvmd remove_lockfile(). | |
547 | Log any pipe write() or close() errors in clvmd child_init_signal(). | |
548 | Detect if orphan vginfo was lost from cache before _lvmcache_update_vgname(). | |
549 | Do a full rescan if some device is missing in lvm1 format read_pvs_in_vg. | |
550 | Add missing check that dm_pool_create succeeded in write_config_node(). | |
551 | Use dm_snprintf in clvmd-command.c to ensure an overlong buffer is truncated. | |
552 | Don't write to buffer if its reallocation failed in clvmd do_command(). | |
553 | Switch from float to fixed point percentage handling. | |
554 | Avoid misleading missing PV warnings in vgextend --restoremissing. | |
555 | Fix memory leak when VG allocation policy in metadata is invalid. | |
556 | Ignore unrecognised allocation policy found in metadata instead of aborting. | |
557 | Factor out tag printing into _out_tags and avoid leaking string buffer. | |
558 | Remove some unused variables & assignments. | |
559 | Add missing vg_release calls in _vg_read_by_vgid. | |
560 | Fix debug logging of derived flag LCK_CACHE in clvmd. | |
561 | Fix test for no system_dir in _init_backup(). | |
562 | Disallow lvconvert ops that both allocate & free supplied PEs in a single cmd. | |
563 | Fix liblvm seg_size to give bytes not sectors. | |
564 | Add functions to look up LV/PV by name/uuid to liblvm. | |
565 | Free cmd_context if fallback to LVM1 fails in lvm2_main(). | |
566 | Free device name buffer in dmsetup parse_loop_device_name() error paths. | |
567 | Close format lib if init_format_fn fails in _init_formats(). | |
568 | Don't leave /proc/mounts open after dmeventd snapshot event processing. | |
569 | Fix out-of-scope arg_vgnames use in process_each_lv(). | |
570 | Remove incorrect dm_task_destroy(NULL) from _node_clear_table() error path. | |
571 | Add missing closedir in _rm_blks after removing stray LVM1 VG files. | |
572 | Suppress 'No PV label' message when removing several PVs without mdas. | |
573 | Fix default /etc/lvm permissions to be 0755. (2.02.66) | |
574 | ||
575 | Version 2.02.77 - 22nd November 2010 | |
576 | ==================================== | |
577 | Allocate a pool for dummy VG in _pvsegs_sub_single. | |
578 | Add PV and LV segment types and functions to liblvm. | |
579 | Add set_property functions to liblvm. | |
580 | Remove tag length restriction and allow / = ! : # & characters. | |
581 | Support repetition of --addtag and --deltag arguments. | |
582 | Add infrastructure for specific cmdline arguments to be repeated in groups. | |
583 | Split the_args cmdline arguments and values into arg_props and arg_values. | |
584 | Fix fsadm no longer to require '-f' to resize an unmounted filesystem. | |
585 | Fix fsadm to detect mounted filesystems on older systems. (2.0.75) | |
586 | Extend cling allocation policy to recognise PV tags (cling_by_tags). | |
587 | Add allocation/cling_tag_list to lvm.conf. | |
588 | Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76) | |
589 | ||
590 | Version 2.02.76 - 8th November 2010 | |
591 | =================================== | |
592 | Clarify error messages when activation fails due to activation filter use. | |
593 | Add pacemaker script VolumeGroup.ocf with configure --enable-ocf. | |
594 | Import make.tmpl into include/ Makefile. | |
595 | Fix handling of online filesystem resize (using new fsadm return code). | |
596 | Add DIAGNOSTICS section to fsadm man page. | |
597 | Modify fsadm to return different status code for check of mounted filesystem. | |
598 | Update VG metadata only once in vgchange when making multiple changes. | |
599 | Allow independent vgchange arguments to be used together. | |
600 | Automatically unmount invalidated snapshots in dmeventd. | |
601 | Suppress some superfluous messages from clang static analysis. | |
602 | Fix a deadlock caused by double close in clvmd. | |
603 | Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area. | |
604 | Use static for internal _align_chunk() and _new_chunk() from pool-fast.c. | |
605 | Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange. | |
606 | Add lvm2app functions to query any pv, vg, or lv property / report field. | |
607 | ||
608 | Version 2.02.75 - 25th October 2010 | |
609 | =================================== | |
610 | Annotate more variables and parameters as const. | |
611 | Fix missing variable initialization in cluster_send() function from cmirrord. | |
612 | Fix pointer for VG name in _pv_resize_single error code path. | |
613 | Fix warning for changed alignment requirements for dmeventd read/write func. | |
614 | Add global/metadata_read_only to use unrepaired metadata in read-only cmds. | |
615 | Don't take write lock in vgchange --refresh, --poll or --monitor. | |
616 | Skip dm devices in scan if they contain only error targets or are empty. | |
617 | Fix strict-aliasing compile warning in partition table scanning. | |
618 | Fix pthread mutex usage deadlock in clvmd. | |
619 | Automatically extend snapshots with dmeventd according to policy in lvm.conf. | |
620 | Add activation/snapshot_autoextend_threshold/percent to lvm.conf. | |
621 | Fix liblvm2cmd link order to support --as-needed. | |
622 | Remove dependency on libm by replacing floor() by an integer-based algorithm. | |
623 | Fix hang when repairing a mirrored-log that had both devs fail. | |
624 | Convey need for snapshot-merge target in lvconvert error message and man page. | |
625 | Add devices/disable_after_error_count config to limit access to failing devs. | |
626 | Give correct error message when creating a too-small snapshot. | |
627 | Implement vgextend --restoremissing to reinstate missing devs that return. | |
628 | Make lvconvert respect --yes and --force when converting an inactive log. | |
629 | Refactor and add 'get' functions for lv properties/fields. | |
630 | Update script for fsadm testing. | |
631 | Better support of noninteractive shell execution of fsadm. | |
632 | Fix usage of --yes flag for ReiserFS resize in fsadm. | |
633 | Fix detection of mounted filesystems for fsadm when udev is used. | |
634 | Fix assignment of default value to LVM variable in fsadm. | |
635 | Fix support for --yes flag for fsadm. | |
636 | Do not execute lvresize from fsadm --dry-run. | |
637 | Fix fsadm return error code from user's break action. | |
638 | Allow CC to be overridden at build time (for 'scan-build make'). | |
639 | Rename 'flags' to 'status' in struct metadata_area. | |
640 | Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74) | |
641 | Use dm_zalloc and dm_pool_zalloc throughout. | |
642 | Add pv_get_property and create generic internal _get_property function. | |
643 | Add 'get' functions for pv and vg properties/fields. | |
644 | Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv. | |
645 | Add tags_format_and_copy() common function and call from _tags_disp. | |
646 | Add id_format_and_copy() common function and call from _uuid_disp. | |
647 | Refactor report.c '*_disp' functions to call supporting functions. | |
648 | Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files. | |
649 | Fix vg_read memory leak with directory-based metadata. | |
650 | Fix memory leak of config_tree in reinitialization code path. | |
651 | Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg. | |
652 | Read whole /proc/self/maps file before working with maps entries. | |
653 | Speed up unquoting of quoted double quotes and backslashes. | |
654 | Speed up CRC32 calculations by using a larger lookup table. | |
655 | ||
656 | Version 2.02.74 - 24th September 2010 | |
657 | ===================================== | |
658 | Allow : and @ to be escaped with \ in device names of PVs. | |
659 | Replace alloca with dm_malloc in _aligned_io to avoid stack corruption. | |
660 | Fix partial mode operations for lvm1 metadata format. | |
661 | Track recursive filter iteration to avoid refreshing while in use. (2.02.56) | |
662 | Revert to old glibc vsnprintf behaviour in emit_to_buffer() to catch overflow. | |
663 | Allocate buffer for metadata tags dynamically to remove 4k limit. | |
664 | Add random suffix to archive file names to prevent races when being created. | |
665 | Reinitialize archive and backup handling on toolcontext refresh. | |
666 | Make poll_mirror_progress report PROGRESS_CHECK_FAILED if LV is not a mirror. | |
667 | Like mirrors, don't scan origins if ignore_suspended_devices() is set. | |
668 | Fix return type qualifier to avoid compiler warning. (2.02.69) | |
669 | Automatically generate LSB Requires-Start for clvmd init script. | |
670 | Fix return code of pvmove --abort PV. | |
671 | Fix pvmove --abort to remove even for empty pvmove LV. | |
672 | Add configure --with-default-data-alignment. | |
673 | Update heuristic used for default and detected data alignment. | |
674 | Add "devices/default_data_alignment" to lvm.conf. | |
675 | Add implementation for simple numeric 'get' property functions. | |
676 | Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get' function | |
677 | Add properties.[ch] to lib/report using columns.h. | |
678 | Add macro definitions to report infrastructure for character array length. | |
679 | Remove explicit double quotes from columns.h 'id' entries. | |
680 | Add 'flags' field to columns.h and define FIELD_MODIFIABLE. | |
681 | Add vg_mda_size and vg_mda_free functions. | |
682 | Simplify MD/swap signature detection in pvcreate and allow aborting. | |
683 | Allow --yes to be used without --force mode. | |
684 | Fix file descriptor leak in swap signature detection error path. | |
685 | Detect and allow abort in pvcreate if LUKS signature is detected. | |
686 | Always mask lock flags correctly when checking for LCK_WRITE. | |
687 | ||
688 | Version 2.02.73 - 18th August 2010 | |
689 | ================================== | |
690 | Fix potential for corruption during cluster mirror device failure. | |
691 | Use 'SINGLENODE' instead of 'dead' in clvmd singlenode messages. | |
692 | Ignore snapshots when performing mirror recovery beneath an origin. | |
693 | Pass LCK_ORIGIN_ONLY flag around cluster. | |
694 | Add suspend_lv_origin and resume_lv_origin using LCK_ORIGIN_ONLY. | |
695 | Allow internal suspend and resume of origin without its snapshots. | |
696 | Fix dev_manager_transient to access -real device not snapshot-origin. | |
697 | Monitor origin -real device below snapshot instead of overlay device. | |
698 | Don't really change monitoring status when in test mode. | |
699 | Fix some exit statuses when starting/stopping monitoring fails. | |
700 | Enable snapshot monitoring by default when dmeventd is enabled. | |
701 | Move cloned libdevmapper-event client code from segments into lib/activate. | |
702 | Fix 'lvconvert --splitmirrors' in cluster operation. | |
703 | Fix clvmd init script exit code to return 4 when executed as non-root user. | |
704 | Change default alignment of pe_start to 1MB. | |
705 | Add --norestorefile option to pvcreate. | |
706 | Require --restorefile when using pvcreate --uuid. | |
707 | Recognise and give preference to md device partitions (blkext major). | |
708 | Never scan internal LVM devices. | |
709 | Don't ignore user-specified PVs in split-mirror operations. (2.02.71) | |
710 | Fix data corruption bug in cluster mirrors. | |
711 | Require logical volume(s) to be explicitly named for lvconvert --merge. | |
712 | Avoid changing aligned pe_start as a side-effect of very verbose logging. | |
713 | Use built-in rule for device aliases: block/ < dm- < disk/ < mapper/ < other. | |
714 | Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes(). | |
715 | Fix const warning in archive_file structure from archive.c. | |
716 | Clean generated files .exported_symbols_generated, example.conf for distclean. | |
717 | Handle failure of all mirrored log devices and all but one mirror leg. | |
718 | Disallow 'mirrored' log type for cluster mirrors. | |
719 | Do not use VPATH in include/Makefile. | |
720 | Fix exported_symbols generation to use standard compiler arguments. | |
721 | Use #include <> not "" in lvm2app.h which gets installed on the system. | |
722 | Make lib and liblvm.device-mapper wait for include file generation. | |
723 | Fix configure to supply DEFAULT_RUN_DIR to Makefiles. | |
724 | Fix allocation of wrong number of mirror logs with 'remove' fault policy. | |
725 | ||
726 | Version 2.02.72 - 28th July 2010 [CVE-2010-2526] | |
727 | ================================================= | |
728 | Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. | |
729 | Return controlled error if clvmd is run by non-root user. | |
730 | Add configure --default-run-dir for /var/run/lvm. | |
731 | Never use clvmd singlenode unless explicitly requested with -Isinglenode. | |
732 | ||
733 | Version 2.02.71 - 28th July 2010 | |
734 | ================================ | |
735 | Document LVM fault handling in doc/lvm_fault_handling.txt. | |
736 | Make vgck warn about missing PVs. | |
737 | Clarify help text for vg_mda_count. | |
738 | Check if cluster log daemon is running before allowing cmirror create. | |
739 | Add unit-tests dir. | |
740 | Add configure --enable-testing and reports and report-generators dirs. | |
741 | Correct LV list order used by lvconvert when splitting a mirror. | |
742 | Check if LV with specified name already exists when splitting a mirror. | |
743 | Fix suspend/resume logic for LVs resulting from splitting a mirror. | |
744 | Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. | |
745 | Switch cmirrord and clvmd to use dm_create_lockfile. | |
746 | Allow clvmd pidfile to be configurable. | |
747 | Update comments about memory handling in lvm2app.h. | |
748 | Add more verbose messages while checking volume_list and hosttags settings. | |
749 | Add log_error when strdup fails in {vg|lv}_change_tag(). | |
750 | Remove unnecessary includes in liblvm files. | |
751 | Use __attribute__ consistently throughout. | |
752 | Fix redundant declarations and always compile with -Wredundant-decls. | |
753 | Fix possible hang when all mirror images of a mirrored log fail. | |
754 | Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. | |
755 | Init mda->list in mda_copy. | |
756 | Do not log backtrace in valid _lv_resume() code path. | |
757 | Cleanup help strings in configure.in. | |
758 | Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies. | |
759 | Adjust vg_mda_copies if metadataignore given with vgextend or pvchange. | |
760 | Adjust auto-metadata repair and caching logic to try to cope with empty mdas. | |
761 | ||
762 | Version 2.02.70 - 6th July 2010 | |
763 | =============================== | |
764 | Remove log directly if all mirror images of a mirrored log fail. | |
765 | Randomly select which mdas to use or ignore. | |
766 | Add some missing standard configure.in checks. | |
767 | Add printf format attributes to yes_no_prompt and fix a caller. | |
768 | Always pass unsuspended dm devices through persistent filter to other filters. | |
769 | Move test for suspended dm devices ahead of other filters. | |
770 | Fix another segfault in clvmd -R if no response from daemon. (2.02.68) | |
771 | Remove superfluous suspended device counter from clvmd. | |
772 | Fix lvm shell crash when input is entirely whitespace. | |
773 | Update partial mode warning message. | |
774 | Preserve memlock balance in clvmd when activation triggers a resume. | |
775 | Restore the removemissing behaviour of lvconvert --repair --use-policies. | |
776 | ||
777 | Version 2.02.69 - 30th June 2010 | |
778 | ================================ | |
779 | Fix vgremove to allow removal of VG with missing PVs. (2.02.52) | |
780 | Add metadata/vgmetadatacopies to lvm.conf. | |
781 | Add --metadataignore to pvcreate and vgextend. | |
782 | Add vg_mda_copies, pv_mda_used_count and vg_mda_used_count to reports. | |
783 | Describe --vgmetadatacopies in lvm.conf and other man pages. | |
784 | Add --[vg]metadatacopies to select number of mdas to use in a VG. | |
785 | Make the metadata ignore bit control read/write metadata areas in a PV. | |
786 | Add pvchange --metadataignore to set or clear a metadata ignore bit. | |
787 | Refactor metadata code to prepare for --metadataignore / --vgmetadatacopies. | |
788 | Ensure region_size of mirrored log does not exceed its full size. | |
789 | Generate liblvm2app exported symbols from header file. | |
790 | Preload libc locale messages to prevent reading it in memory locked state. | |
791 | Fix handling of simultaneous mirror image and mirrored log image failure. | |
792 | ||
793 | Version 2.02.68 - 23rd June 2010 | |
794 | ================================ | |
795 | Fix clvmd initscript status to print only active clustered LVs. | |
796 | Add lv_path to reports to offer full /dev pathname. | |
797 | Fix typo in warning message about missing device with allocated data areas. | |
798 | Add device name and offset to raw_read_mda_header error messages. | |
799 | Honour log argument when down-converting stacked mirror. | |
800 | Sleep to workaround clvmd -S race: socket closed early and server drops cmd. | |
801 | Use early udev synchronisation and update of dev nodes for clustered mirrors. | |
802 | Remove incorrect inclusion of kdev_t.h from cmirrord/functions.h. | |
803 | Add man pages for lvmconf and non-existent lvmsadc and lvmsar tools. | |
804 | Exit successfully when using -o help (but not -o +help) with LVM reports. | |
805 | Do not use internal DLM lock definitions in generic LVM2 clvmd code. | |
806 | Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. | |
807 | Fix lvm2cmd example in documentation. | |
808 | Allow use of lvm2app and lvm2cmd headers in C++ code. | |
809 | Remove unused #includes from clvmd files and introduce clvmd-common.h. | |
810 | Move common inclusions to clvmd-common.h. | |
811 | Use #include "" for libdevmapper.h and configure.h throughout tree. | |
812 | Fix LVM_PATH expansion when exec_prefix=NONE. (2.02.67) | |
813 | Fix segfault in clvmd -R if no response from daemon received. | |
814 | ||
815 | Version 2.02.67 - 4th June 2010 | |
816 | =============================== | |
817 | Handle failed restart of clvmd using -S switch properly. | |
818 | Fix clvmd initscript restart command to start clvmd if not yet running. | |
819 | Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries). | |
820 | Require partial option in lvchange --refresh for partial LVs. | |
821 | Do not fail lvm_init() if init_logging() or _init_rand() generates an errno. | |
822 | Don't merge unchanged persistent cache file before dumping if tool scanned. | |
823 | Fix incorrect memory pool deallocation while using vg_read for files. | |
824 | Add --type parameter description to the lvcreate man page. | |
825 | Replace strncmp kernel version number checks with proper ones. | |
826 | Avoid selecting names under /dev/block if there is an alternative. | |
827 | Update clustered log kernel module name to log-userspace for 2.6.31 onwards. | |
828 | Add replicators' LVs to dtree for activation. | |
829 | Supress activation message if there is a missing replicator VG. | |
830 | Fix scripts/relpath.awk to work in mawk | |
831 | Extend lock_vol to check for missing replicator VGs first. | |
832 | Update _process_one_vg and process_each_lv_in_vg to populate cmd_vg. | |
833 | Add cmd_vg structure and associated functions for replicator. | |
834 | Extend _lv_each_dependency() to handle replicator dependencies. | |
835 | Add check_replicator_segment() to catch internal replicator errors. | |
836 | Initial support for replicator metadata. | |
837 | Extend process_each_lv_in_vg() to provide list of failed lvnames. | |
838 | Consistently return ECMD_FAILED if process_each_*lv() is interrupted. | |
839 | ||
840 | Version 2.02.66 - 20th May 2010 | |
841 | =============================== | |
842 | If unable to obtain snapshot percentage leave value blank on reports. | |
843 | Add install_system_dirs and install_initscripts makefile targets. | |
844 | Add configure options for system and locking directories. | |
845 | Generate example.conf so default lvm.conf contents can be configured. | |
846 | Install lvmconf script by default. | |
847 | Remove unnecessary versioned dmeventd plugin symlinks. | |
848 | Add tests for lvm_vgname_from_{pvid|device}. | |
849 | Add lvm2app interfaces to lookup a vgname from a pvid and pvname. | |
850 | Update pvchange to always obtain a vg handle for each pv to process. | |
851 | Add find_vgname_from_{pvname|pvid} functions. | |
852 | Add pvid_from_devname and lvmcache_vgname_from_pvid lvmcache functions. | |
853 | Validate orphan and VG_GLOBAL lock order too. | |
854 | Accept orphan VG names as parameters to lock_vol() and related functions. | |
855 | Use is_orphan_vg in place of hard-coded prefix tests and add is_global_vg. | |
856 | ||
857 | Version 2.02.65 - 17th May 2010 | |
858 | =============================== | |
859 | Fix clvmd init script never to deactivate non-clustered volume groups. | |
860 | Disallow vgchange --clustered if there are active mirrors or snapshots. | |
861 | Introduce lv_is_mirrored. | |
862 | Use /bin/bash for scripts with bashisms. | |
863 | Skip internal lvm devices in scan if ignore_suspended_devices is set. | |
864 | Do not merge old device cache after we run full scan. (2.02.56) | |
865 | Add pkgconfigdir Makefile variable for make install override. | |
866 | Configure pkgconfig udev and selinux dependencies. | |
867 | Switch Libs.private to Requires.private in devmapper.pc and lvm2app.pc. | |
868 | Use pkgconfig Requires.private for devmapper-event.pc. | |
869 | Add libdevmapper to linked libdevmapper-event.so. | |
870 | Link liblvm2cmd.so with libdevmapper-event and libdevmapper. | |
871 | Fix truncated total size displayed by pvscan. | |
872 | Add new --sysinit compound option to vgchange and lvchange. | |
873 | Drop duplicate errors for read failures and missing devices to verbose level. | |
874 | Use $(libdir)/lvm2 with make install_lvm2_plugin. | |
875 | Use $(libdir)/device-mapper with make install_dm_plugin. | |
876 | Add dm_list_splice() function to join two lists together. | |
877 | ||
878 | Version 2.02.64 - 30th April 2010 | |
879 | ================================= | |
880 | Avoid pointless initialisation when the 'version' command is run directly. | |
881 | Fix memory leak for invalid regex pattern input. | |
882 | Display invalid regex pattern for filter configuration in case of error. | |
883 | Remove no-longer-used arg_ptr_value. | |
884 | Fix -M and --type to use strings, not pointers that change on config refresh. | |
885 | Fix lvconvert error message when existing mirrored LV is not found. | |
886 | Set appropriate udev flags for reserved LVs. | |
887 | Disallow the direct removal of a merging snapshot. | |
888 | Don't preload the origin when removing a snapshot whose merge is pending. | |
889 | Disallow the addition of mirror images while a conversion is happening. | |
890 | Disallow primary mirror image removal when mirror is not in-sync. | |
891 | Remove obsolete --name parameter from vgcfgrestore. | |
892 | Add -S command to clvmd to restart the daemon preserving exclusive locks. | |
893 | Increment lvm2app version from 1 to 2 (memory allocation changes). | |
894 | Change lvm2app memory alloc/free for pv/vg/lv properties. | |
895 | Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency. | |
896 | Install symbolic .so links with relative paths between usrlibdir and libdir. | |
897 | Add awk script relpath.awk to calculate paths for relative symlinks. | |
898 | Use @AWK@ in makefiles. | |
899 | Fix double DESTDIR usage for infodir and mandir. | |
900 | ||
901 | Version 2.02.63 - 14th April 2010 | |
902 | ================================= | |
903 | Rename lvm_dump.sh to lvmdump.sh. | |
904 | Allow incomplete mirror restore in lvconvert --repair upon insufficient space. | |
905 | Do not reset position in metadata ring buffer on vgrename and vgcfgrestore. | |
906 | Allow VGs with active LVs to be renamed. | |
907 | Use UUIDs instead of names while processing event handlers. | |
908 | Only pass visible LVs to tools in cmdline VG name/tag expansions without -a. | |
909 | Use typedefs for toollib process_each functions. | |
910 | Use C locales and use_mlockall for clvmd. | |
911 | Refactor code related to vg->pvs list and add pv->vg link. | |
912 | Mask LCK_HOLD flag in cluster VG locks for backwards compatibility. | |
913 | Add activation/polling_interval to lvm.conf as --interval default. | |
914 | Don't ignore error if resuming any LV fails in resume_lvs. | |
915 | Skip closing persistent filter cache file if open failed. | |
916 | Install .a and .so links into $(usrlibdir). | |
917 | Add --enable-write_install options to install user-writable files. | |
918 | Use INSTALL_PROGRAM/DATA/WDATA target. | |
919 | Switch from using VPATH to vpath in Makefiles. | |
920 | Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert. | |
921 | Fix pvmove allocation to take existing parallel stripes into account. | |
922 | Add pvmove_source_seg to struct lv_segment. | |
923 | Fix incorrect removal of symlinks after LV deactivation fails. | |
924 | Fix is_partitioned_dev not to attempt to reopen device. | |
925 | Fix another thread race in clvmd. | |
926 | Refactor management of vg->pvs list. | |
927 | Fix lcov rules and generate better coverage report. | |
928 | Improve vg_validate to detect some loops in lists. | |
929 | Change most remaining log_error WARNING messages to log_warn. | |
930 | Always use blocking lock for VGs and orphan locks. | |
931 | Allocate all memory for segments from private VG mempool. | |
932 | Return newly allocated PV segment after segment split. | |
933 | Optimise searching PV segments for seeking the most recently-added. | |
934 | Remove vg_validate call when parsing cached metadata. | |
935 | Use hash table of LVs to speed up parsing of text metadata with many LVs. | |
936 | Fix two vg_validate messages, adding whitespace and parentheses. | |
937 | When dmeventd is not forking because of -d flag, don't kill parent process. | |
938 | Fix 'make install' when $(builddir) is different from $(srcdir). | |
939 | Fix dso resource leak in error path of dmeventd. | |
940 | Use C locales and use_mlockall for dmeventd. | |
941 | Fix --alloc contiguous policy only to allocate one set of parallel areas. | |
942 | Do not allow {vg|lv}change --ignoremonitoring if on clustered VG. | |
943 | Improved dependency tracking for dmeventd and liblvm2cmd sources. | |
944 | Improved Makefile rules for distclean and cflow targets. | |
945 | Add ability to create mirrored logs for mirror LVs. | |
946 | Fix clvmd cluster propagation of dmeventd monitoring mode. | |
947 | Allow ALLOC_ANYWHERE to split contiguous areas. | |
948 | Use INTERNAL_ERROR for internal errors throughout tree. | |
949 | Add some assertions to allocation code. | |
950 | Introduce pv_area_used into allocation algorithm and add debug messages. | |
951 | Add activation/monitoring to lvm.conf. | |
952 | Add --monitor and --ignoremonitoring to lvcreate. | |
953 | Allow dynamic extension of array of areas selected as allocation candidates. | |
954 | Export and use only valid cookie value in test suite. | |
955 | Remove const modifier for struct volume_group* from process_each_lv_in_vg(). | |
956 | Don't allow resizing of internal logical volumes. | |
957 | Fix libdevmapper-event pkgconfig version string to match libdevmapper. | |
958 | Avoid scanning all pvs in the system if operating on a device with mdas. | |
959 | Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure. | |
960 | Get stacktrace if testsuite test drops core and lvm was built with debugging. | |
961 | Disable long living process flag in lvm2app. | |
962 | Fix pvcreate device md filter check. | |
963 | Suppress repeated errors about the same missing PV uuids. | |
964 | Bypass full device scans when using internally-cached VG metadata. | |
965 | Only do one full device scan during each read of text format metadata. | |
966 | Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls. | |
967 | Look up missing PVs by uuid not dev_name in _pvs_single to avoid invalid stat. | |
968 | Make find_pv_in_vg_by_uuid() return same type as related functions. | |
969 | Introduce is_missing_pv(). | |
970 | Fix clvmd Makefile to not overwrite LIBS from template definition. | |
971 | ||
972 | Version 2.02.62 - 9th March 2010 | |
973 | ================================ | |
974 | Add use_mlockall and mlock_filter to activation section of lvm.conf. | |
975 | Add default alternative to mlockall using mlock to reduce pinned memory size. | |
976 | Remove -rdynamic from static builds. | |
977 | Update checks for pthread, readline & selinux libs and link only when needed. | |
978 | Introduce makefile vars UDEV_LIBS, DL_LIBS, SELINUX_LIBS, STATIC_LIBS. | |
979 | Introduce makefile vars LVMINTERNAL_LIBS, READLINE_LIBS, PTHREAD_LIBS. | |
980 | Toggle configure help to print --disable-fsadm. | |
981 | Use $() instead of ${} consistently for all Makefile variables. | |
982 | Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere. | |
983 | Use $(top_builddir) for inclusion of make.tmpl in Makefiles. | |
984 | Fix autoconf warning about ignored datarootdir. | |
985 | Increase AC_PREREQ version to 2.61 (for AC_PROC_SED, AC_PROG_MKDIR_P). | |
986 | Handle misaligned devices that report alignment_offset of -1. | |
987 | Extend core allocation code in preparation for mirrored log areas. | |
988 | Rewrite clvmd init script. | |
989 | Remove lvs_in_vg_activated_by_uuid_only call. | |
990 | No longer fall back to looking up active devices by name if uuid not found. | |
991 | Don't touch /dev in vgmknodes if activation is disabled. | |
992 | Update lvm2app.h Doxygen comments and add lvm2app Doxygen config file. | |
993 | Update nightly tests and lvm2app unit tests to cover tags. | |
994 | Add lvm2app functions lvm_{vg|lv}_{get|add|remove}_tag() functions. | |
995 | Add dm_pool_strdup to allocate and copy memory in tag library function. | |
996 | Refactor vgcreate, vgchange, and lvchange for tag library function. | |
997 | Refactor snapshot-merge deptree and device removal to support info-by-uuid. | |
998 | ||
999 | Version 2.02.61 - 15th February 2010 | |
1000 | ==================================== | |
1001 | Fix some consts and floating point gcc warnings. | |
1002 | Fix dm_report_field_uint64 function to accept 64-bit ints. | |
1003 | Change readhead display to use 32-bit -1 const instead of 64-bit. | |
1004 | Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable. | |
1005 | Remove hard-coding that skipped _mimage devices from 11-dm-lvm.rules. | |
1006 | Use udev transactions in test suite. | |
1007 | Set udev state automatically instead of using LVM_UDEV_DISABLE_CHECKING. | |
1008 | Add lvm_pv_get_size, lvm_pv_get_free and lvm_pv_get_dev_size to lvm2app. | |
1009 | Change lvm2app to return all sizes in bytes as documented (not sectors). | |
1010 | Add 'fail_if_percent_unsupported' arg to _percent and _percent_run. | |
1011 | Remove false "failed to find tree node" error when activating merging origin. | |
1012 | Exit with success when lvconvert --repair --use-policies performs no action. | |
1013 | Accept a list of LVs with 'lvconvert --merge @tag' using process_each_lv. | |
1014 | Avoid unnecessary second resync when adding mimage to core-logged mirror. | |
1015 | Exclude internal VG names and uuids from lists returned through lvm2app. | |
1016 | Add %ORIGIN support to lv{create,extend,reduce,resize} --extents. | |
1017 | Add _mda_copy to clone a struct metadata_area. | |
1018 | Remove pointless versioned symlinks to dmeventd plugin libraries. | |
1019 | Fix dmeventd snapshot plugin build dependency. | |
1020 | Make clvmd -V return status zero. | |
1021 | Remove unnecessary 'dmsetup resume' following 'dmsetup create' in tests. | |
1022 | Fix cmirrord segfault in clog_cpg list processing when converting mirror log. | |
1023 | Deactivate temporary pvmove mirror cluster-wide when activating it fails. | |
1024 | Always query device by uuid and not name in clvmd. | |
1025 | Add missing metadata vg_reverts in pvmove error paths. | |
1026 | Unlock shared lock in clvmd if activation calls fail. | |
1027 | Return success from dev_manager_info with non-existent uuid if ioctl succeeds. | |
1028 | ||
1029 | Version 2.02.60 - 23rd January 2010 | |
1030 | =================================== | |
1031 | Extend cmirrord man page. | |
1032 | Sleep before first progress check if pvmove/lvconvert interval has prefix '+'. | |
1033 | Default to checking progress before waiting in _wait_for_single_lv. | |
1034 | Fix cmirror initscript (including syntax error). | |
1035 | Eliminate avoidable ioctls for checking open_count in _add_new_lv_to_dtree. | |
1036 | Disable memory debugging if dmeventd is configured. (Not thread-safe.) | |
1037 | Fix first log message prefix in syslog for dmeventd plugins. | |
1038 | Fix exported symbols names for dmeventd lvm2 wrapper plugin. | |
1039 | Make failed locking initialisation messages more descriptive. | |
1040 | ||
1041 | Version 2.02.59 - 21st January 2010 | |
1042 | =================================== | |
1043 | Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. | |
1044 | Cleanup memory initialization and freeing in pv_read() and pv_create(). | |
1045 | Clear pointer and counters after their release in _fin_commands(). | |
1046 | Stop dmeventd trying to access already-removed snapshots. | |
1047 | Remove (fallback) /dev mknod from cmirrord. | |
1048 | Add t-topology-support.sh and t-snapshot-merge.sh tests. | |
1049 | Fix clvmd to never scan suspended devices. | |
1050 | Fix dmeventd build outside source tree. | |
1051 | Assorted cmirror code changes to remove various compiler warnings. | |
1052 | Fix detection of completed snapshot merge. | |
1053 | Add Red Hat cmirror initscript (unfinished). | |
1054 | Add cmirrord man page (incomplete). | |
1055 | Make cluster log communication structures architecture independant. | |
1056 | Fix cluster log in-memory bitmap handling. | |
1057 | Improve snapshot merge metadata import validation. | |
1058 | Improve target type compatibility checking in _percent_run(). | |
1059 | Add 'target_status_compatible' method to 'struct segtype_handler'. | |
1060 | Change underscore to hyphen in table line for clustered log type. | |
1061 | ||
1062 | Version 2.02.58 - 14th January 2010 | |
1063 | =================================== | |
1064 | Cleanup some minor gcc warnings. | |
1065 | Add --merge to lvconvert to merge a snapshot into its origin. | |
1066 | Fix clvmd automatic target module loading crash (no reset_locking fn). | |
1067 | Fix allocation code not to stop at the first area of a PV that fits. | |
1068 | ||
1069 | Version 2.02.57 - 12th January 2010 | |
1070 | =================================== | |
1071 | Ensure exactly one process returns from poll_daemon(), never two. | |
1072 | Reset _vgs_locked in lvmcache_init() in child after forking. | |
1073 | Define {DM, LVM}_UDEV_DISABLE_CHECKING=1 environment variables during tests. | |
1074 | Enable udev_sync and udev_rules in lvm.conf by default while running tests. | |
1075 | If LVM_UDEV_DISABLE_CHECKING in set in environment, disable udev warnings. | |
1076 | Add --splitmirrors to lvconvert to split off part of a mirror. | |
1077 | Change background polldaemon's process name to "(lvm2)". | |
1078 | Allow vgremove to remove a VG with PVs missing after a prompt. | |
1079 | Return success in lvconvert --repair --use-policies on failed allocation. | |
1080 | Keep log type consistent when changing mirror image count. | |
1081 | Always set environment variables for an LVM2 device in 11-dm-lvm.rules. | |
1082 | Add activation/udev_rules config option in lvm.conf. | |
1083 | Add consts to text metadata flag structs. | |
1084 | Add macros outfc, outsize, outhint and function out_text_with_comment. | |
1085 | Reimplement report FIELD macro using offsetof instead of static structs. | |
1086 | Fix fsadm man page typo (fsdam). | |
1087 | Rename mirror_device_fault_policy to mirror_image_fault policy. | |
1088 | Remove empty PV devices if lvconvert --repair is using defined policies. | |
1089 | Use fixed buffer to prevent stack overflow in persistent filter dump. | |
1090 | Use extended status of new kernel snapshot target 1.8.0 to detect when empty. | |
1091 | Insert stack macros in suspend_lv, resume_lv & (de)activate_lv callers. | |
1092 | Add --poll flag to vgchange and lvchange to control background daemon launch. | |
1093 | Propagate metadata commit and revert notifications to other cluster nodes. | |
1094 | Use proper mask for VG lock mode in clvmd. | |
1095 | Allow precommitted metadata to be dropped from lvmcache. | |
1096 | Move processing of VG locks to separate function in clvmd. | |
1097 | Properly decode all flags in clvmd messages including VG locks. | |
1098 | Properly handle precommitted cache flag when only committed metadata present. | |
1099 | Resume renamed volumes in reverse order to preserve memlock pairing. | |
1100 | Drop cached metadata after device was auto-repaired and removed from VG. | |
1101 | Clear MISSING_PV flag if PV reappeared and is empty. | |
1102 | Fix removal of multiple devices from a mirror. | |
1103 | Also clean up PVs flagged as missing in vgreduce --removemissing --force. | |
1104 | Introduce INTERNAL_ERROR macro for error messages and use throughout. | |
1105 | Remove superfluous returns from void functions. | |
1106 | Destroy allocated mempool in _vg_read_orphans() error path. | |
1107 | Fix some pvresize and toollib error paths with missing VG releases/unlocks. | |
1108 | Explicitly call suspend for temporary mirror layer. | |
1109 | Allow use of precommitted metadata when a PV is missing. | |
1110 | Add memlock information to do_lock_lv debug output. | |
1111 | Always bypass calls to remote cluster nodes for non-clustered VGs. | |
1112 | Permit implicit cluster lock conversion in pre/post callbacks on local node. | |
1113 | Permit implicit cluster lock conversion to the lock mode already held. | |
1114 | Fix lock flag masking in clvmd so intended code paths get invoked. | |
1115 | Replace magic masks in cluster locking code by defined masks. | |
1116 | Remove newly-created mirror log from metadata if initial deactivation fails. | |
1117 | Correct activated or deactivated text in vgchange summary message. | |
1118 | Improve pvmove error message when all source LVs are skipped. | |
1119 | Fix memlock imbalance in lv_suspend if already suspended. | |
1120 | Fix pvmove test mode not to poll (and fail). | |
1121 | Fix vgcreate error message if VG already exists. | |
1122 | Fix tools to use log_error when aborted due to user response to prompt. | |
1123 | Fix ignored readahead setting in lvcreate --readahead. | |
1124 | Fix clvmd memory leak in lv_info_by_lvid by calling release_vg. | |
1125 | If aborting due to internal error, always send that message to stderr. | |
1126 | Add global/abort_on_internal_errors to lvm.conf to assist testing. | |
1127 | Fix test Makefiles when builddir and srcdir differ. | |
1128 | Impose limit of 8 mirror images to match the in-kernel kcopyd restriction. | |
1129 | Use locking_type 3 (compiled in) for lvmconf --enable-cluster. | |
1130 | Remove list.c and list.h with no-longer-used dm_list macros and functions. | |
1131 | Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin. | |
1132 | Extend internal PV/VG/LV/segment status variables from 32-bit to 64-bit. | |
1133 | ||
1134 | Version 2.02.56 - 24th November 2009 | |
1135 | ==================================== | |
1136 | Add missing vg_release to pvs and pvdisplay to fix memory leak. | |
1137 | Do not try to unlock VG which is not locked in _process_one_vg. | |
1138 | Move is_long_lived persistent_filter_dump to happen after every full scan. | |
1139 | Refresh device filters before full device rescan in lvmcache. | |
1140 | Return error status if vgchange fails to activate some volume. | |
1141 | Fix suspend/resume lock type test causing unbalanced memory locking. | |
1142 | Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55) | |
1143 | ||
1144 | Version 2.02.55 - 19th November 2009 | |
1145 | ==================================== | |
1146 | Fix deadlock when changing mirrors due to unpaired memlock refcount changes. | |
1147 | Use separate memlock counter for dmeventd handlers to permit device scanning. | |
1148 | Directly restrict vgchange to activating visible LVs. | |
1149 | Fix pvmove region_size overflow for very large PVs. | |
1150 | Fix lvcreate and lvresize %PVS argument always to use sensible total size. | |
1151 | Tidy some uses of arg_count and introduce arg_is_set. | |
1152 | Export outnl and indent functions for modules. | |
1153 | Flush stdout after yes/no prompt. | |
1154 | Update vgsplit and vgcreate to use vg_set_clustered. | |
1155 | Add vg_mda_count and vg_set_clustered library functions. | |
1156 | Add more vgcreate and vgsplit nightly tests. | |
1157 | Insert some missing stack macros into activation code. | |
1158 | Recognise DRBD devices and handle them like md devices. | |
1159 | ||
1160 | Version 2.02.54 - 26th October 2009 | |
1161 | =================================== | |
1162 | Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter. | |
1163 | Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages. | |
1164 | Permit snapshots of mirrors. | |
1165 | Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. | |
1166 | Fix clvmd segfault when refresh_toolcontext fails. | |
1167 | Remember to clear 'global lock held during cache refresh' state after use. | |
1168 | Use udev flags support in LVM and apply various fixes to udev rules. | |
1169 | Delay announcing mirror monitoring to syslog until initialisation succeeded. | |
1170 | Handle metadata with unknown segment types more gracefully. | |
1171 | Set default owner and group to null. | |
1172 | Add dmeventd.static to the build. | |
1173 | Disable realtime support code by default. | |
1174 | Make clvmd return 0 on success rather than 1. | |
1175 | Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. | |
1176 | Add implict pvcreate support to vgcreate and vgextend. | |
1177 | Correct example.conf to indicate that lvm2 not lvm1 is the default format. | |
1178 | Remove an unused stray LVM1_SUPPORT ifdef. | |
1179 | Only include selinux libs in libdevmapper.pc when selinux build enabled. | |
1180 | Allow for a build directory separate from the source. | |
1181 | Update distclean target for rename clogd to cmirrord. (2.02.52) | |
1182 | Only do lock conversions in clvmd if we are explicitly asked for one. | |
1183 | Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. | |
1184 | Factor out poll_mirror_progress and introduce progress_t. | |
1185 | Distinguish between powers of 1000 and powers of 1024 in unit suffixes. | |
1186 | Restart lvconverts in vgchange by sharing lv_spawn_background_polling. | |
1187 | Generalise polldaemon code by changing mirror-specific variable names. | |
1188 | Don't attempt to deactivate an LV if any of its snapshots are in use. | |
1189 | Return error if lv_deactivate fails to remove device from kernel. | |
1190 | Provide alternative implementation of obsolete siginterrupt(). | |
1191 | Consolidate LV allocation into alloc_lv(). | |
1192 | Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) | |
1193 | Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. | |
1194 | Add configure --enable-units-compat to set si_unit_consistency off by default. | |
1195 | Add global/si_unit_consistency to enable cleaned-up use of units in output. | |
1196 | ||
1197 | Version 2.02.53 - 25th September 2009 | |
1198 | ===================================== | |
1199 | Create any directories in /dev with DM_DEV_DIR_UMASK (022). | |
1200 | Enable dmeventd monitoring section of config file by default. | |
1201 | Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. | |
1202 | Fix lvm2app test to run under test/api subdirectory only when configured. | |
1203 | Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. | |
1204 | ||
1205 | Version 2.02.52 - 15th September 2009 | |
1206 | ===================================== | |
1207 | Update _process_one_vg to cleanup properly after vg_read_error. | |
1208 | Add lots of missing stack debug messages to tools. | |
1209 | Make readonly locking available as locking type 4. | |
1210 | Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49) | |
1211 | Add DM_UDEV_RULES_VSN environment variable to udev rules. | |
1212 | Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules. | |
1213 | Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t. | |
1214 | Enforce an alphabetical lock ordering on vgname locking. | |
1215 | Prioritise write locks over read locks by default for file locking. | |
1216 | Add local lock files with suffix ':aux' to serialise locking requests. | |
1217 | Fix global locking in PV reporting commands (2.02.49). | |
1218 | Fix pvcreate string termination in duplicate uuid warning message. | |
1219 | Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). | |
1220 | Fix vgcfgrestore error paths when locking fails (2.02.49). | |
1221 | Update Makefile distclean target. | |
1222 | Add libudev configuration check. | |
1223 | Make clvmd check corosync to see what cluster interface it should use. | |
1224 | Add clvmd autodetection check and cleanup related configure messages. | |
1225 | Rewrite clvmd configuration code to cope with all combinations of libs. | |
1226 | Added configure --enable-cmirrord to build the cluster mirror log daemon. | |
1227 | Rename clogd to cmirrord. | |
1228 | Make lvchange --refresh only take a read lock on volume group. | |
1229 | Fix race where non-blocking file locks could be granted in error. | |
1230 | Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). | |
1231 | Fix compile warning in clvmd. | |
1232 | Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. | |
1233 | Remove useless _pv_write wrapper. | |
1234 | Add lvm2app.sh to tests conditional upon configure --enable-applib. | |
1235 | Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial. | |
1236 | Update lvm_vg_remove to require lvm_vg_write to commit remove to disk. | |
1237 | Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. | |
1238 | ||
1239 | Version 2.02.51 - 6th August 2009 | |
1240 | ================================= | |
1241 | Fix locking in clvmd (2.02.50). | |
1242 | Add --noudevsync option for relevant LVM tools. | |
1243 | Add activation/udev_sync to lvm.conf. | |
1244 | Only change LV symlinks on ACTIVATE not PRELOAD. | |
1245 | Make lvconvert honour log mirror options combined with downconversion. | |
1246 | Allow LV suspend while --ignorelockingfailure is in force. | |
1247 | Update synopsis in lvconvert manpage to mention --repair. | |
1248 | Set cookies in activation code and wait for udev to complete processing. | |
1249 | Added configure --enable-udev_rules --enable-udev_sync. | |
1250 | Added configure --with-udev-prefix --with-udevdir. | |
1251 | Added udev dir to hold udev rules. | |
1252 | Add devices/data_alignment_detection to lvm.conf. | |
1253 | Add devices/data_alignment_offset_detection to lvm.conf. | |
1254 | Add --dataalignmentoffset to pvcreate to shift start of aligned data area. | |
1255 | Fix _mda_setup() to not check first mda's size before pe_align rounding. | |
1256 | Document -I option of clvmd in the man page. | |
1257 | Fix configure script to handle multiple clvmd selections. | |
1258 | Fix lvm2app.pc installation filename. | |
1259 | Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. | |
1260 | Rename lvm.h to lvm2app.h for now. | |
1261 | ||
1262 | Version 2.02.50 - 28th July 2009 | |
1263 | ================================ | |
1264 | Change test/api/test.c prompt so it's not confused with the main lvm prompt. | |
1265 | Update liblvm unit tests in test/api to cover latest liblvm changes. | |
1266 | Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm. | |
1267 | Add lvm_library_get_version to liblvm. | |
1268 | Add lvm_config_override to liblvm to allow caller to override LVM config. | |
1269 | Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm. | |
1270 | Add lvm_lv_activate and lvm_lv_deactivate to liblvm. | |
1271 | Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm. | |
1272 | Add functions to get numeric properties to liblvm. | |
1273 | Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm. | |
1274 | Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm. | |
1275 | Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm. | |
1276 | Add lvm_list_vg_names/uuids to liblvm. | |
1277 | Add lvm_errno and lvm_errmsg to liblvm to obtain failure information. | |
1278 | Rename lvm_create/destroy to lvm_init/quit. | |
1279 | Rename lvm_reload_config to lvm_config_reload. | |
1280 | Refactor _override_settings to use new override_config_tree_from_string. | |
1281 | Add vg_reduce to metadata.c and metadata-exported.h. | |
1282 | Update lvm.h to clarify API behavior and return codes. | |
1283 | Update lvm_vg_extend to do an implicit pvcreate on the device. | |
1284 | Update display.c to use vg_free(vg) instead of duplicating the calculation. | |
1285 | Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm. | |
1286 | Refactor pvcreate and lvcreate for liblvm. | |
1287 | Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. | |
1288 | All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. | |
1289 | Fix race condition with vgcreate and vgextend on same device (2.02.49). | |
1290 | Remove redundant validate_name call from vgreduce. | |
1291 | Remove unused handles lvseg, pvseg inside liblvm/lvm.h. | |
1292 | Add liblvm2app Makefile installation targets. | |
1293 | Add liblvm pkgconfig file. | |
1294 | Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. | |
1295 | Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. | |
1296 | Pass a pointer to struct cmd_context to init_multiple_segtypes | |
1297 | Return EINVALID_CMD_LINE not success when invalid VG name format is used. | |
1298 | Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). | |
1299 | Add log_errno to set a specific errno and replace log_error in due course. | |
1300 | Change create_toolcontext to still return an object if it fails part-way. | |
1301 | Add EUNCLASSIFIED (-1) as the default LVM errno code. | |
1302 | Store any errno and error messages issued while processing each command. | |
1303 | Use log_error macro consistently throughout in place of log_err. | |
1304 | ||
1305 | Version 2.02.49 - 15th July 2009 | |
1306 | ================================ | |
1307 | Add readonly locking type to replace implementation of --ignorelockingfailure. | |
1308 | Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. | |
1309 | Add unit test case for liblvm VG create/delete APIs. | |
1310 | Add liblvm APIs to implement creation and deletion of VGs. | |
1311 | Initialize cmd->cmd_line to "liblvm" in new liblvm library. | |
1312 | Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h. | |
1313 | Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. | |
1314 | Use _exit() not exit() after forking to avoid flushing libc buffers twice. | |
1315 | Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. | |
1316 | Make cmd->cmd_line const. | |
1317 | Fix dev name mismatch in vgcreate man page example. | |
1318 | Refactor vg_remove_single for use in liblvm. | |
1319 | Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second. | |
1320 | Check md devices for a partition table during device scan. | |
1321 | Add extended device (blkext) and md partition (mdp) types to filters. | |
1322 | Make text metadata read errors for segment areas more precise. | |
1323 | Fix text segment metadata read errors to mention correct segment name. | |
1324 | Include segment and LV names in text segment import error messages. | |
1325 | Add parent node to config_node structure. | |
1326 | Update vgsplit and vgcreate to call new vg_create and 'set' functions. | |
1327 | Change vg_create to take minimal parameters, obtain a lock, and return vg_t. | |
1328 | Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm. | |
1329 | Update t-vgcreate-usage.sh to test for default vg properties. | |
1330 | Fix memory leak in vgsplit when re-reading the vg. | |
1331 | Make various exit/cleanup paths more robust after lvm init failures. | |
1332 | Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. | |
1333 | Remove unnecessary locking and existence tests from new vg_read() interface. | |
1334 | Permit several segment types to be registered by a single shared object. | |
1335 | Update the man pages to document size units uniformly. | |
1336 | Allow commandline sizes to be specified in terms of bytes and sectors. | |
1337 | Update 'md_chunk_alignment' to use stripe-width to align PV data area. | |
1338 | Update test/t-inconsistent-metadata.sh to match new vg_read interface. | |
1339 | Add lvmcache_init() to polldaemon initialization. | |
1340 | Convert tools to use new vg_read / vg_read_for_update. | |
1341 | Fix segfault in vg_release when vg->cmd is NULL. | |
1342 | ||
1343 | Version 2.02.48 - 30th June 2009 | |
1344 | ================================ | |
1345 | Abort if automatic metadata correction fails when reading VG to update it. | |
1346 | Explicitly request fallback to default major number in device mapper. | |
1347 | Ignore suspended devices during repair. | |
1348 | Call vgreduce --removemissing automatically to fix missing PVs in dmeventd. | |
1349 | Suggest using lvchange --resync when adding leg to not-yet-synced mirror. | |
1350 | Destroy toolcontext on clvmd exit to avoid memory pool leaks. | |
1351 | Fix lvconvert not to poll mirror if no conversion in progress. | |
1352 | Fix memory leaks in toolcontext error path. | |
1353 | Reinstate partial activation support in clustered mode. (2.02.40) | |
1354 | Allow metadata correction even when PVs are missing. | |
1355 | Use 'lvm lvresize' instead of 'lvresize' in fsadm. | |
1356 | Do not use '-n' realine option in fsadm for busybox compatiblity. | |
1357 | Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. | |
1358 | Round up requested readahead to at least one page and print warning. | |
1359 | Try to repair vg before actual vgremove when force flag provided. | |
1360 | Fix possible double release of VG after recovery. | |
1361 | Add parameter to process_each_vg specifying what to do with inconsistent VG. | |
1362 | Unify error messages when processing inconsistent volume group. | |
1363 | Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. | |
1364 | Introduce lvconvert --use_policies (repair policy according to lvm.conf). | |
1365 | Update clvmd-corosync to match new corosync API. | |
1366 | Fix lib Makefile to include any shared libraries in default target. | |
1367 | Fix rename of active snapshot with virtual origin. | |
1368 | Fix convert polling to ignore LV with different UUID. | |
1369 | Cache underlying device readahead only before activation calls. | |
1370 | Fix segfault when calculating readahead on missing device in vgreduce. | |
1371 | Remove verbose 'visited' messages. | |
1372 | Handle multi-extent mirror log allocation when smallest PV has only 1 extent. | |
1373 | Add LSB standard headers and functions (incl. reload) to clvmd initscript. | |
1374 | When creating new LV, double-check that name is not already in use. | |
1375 | Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. | |
1376 | Rename internal vorigin LV to match visible LV. | |
1377 | Suppress 'removed' messages displayed when internal LVs are removed. | |
1378 | Fix lvchange -a and -p for sparse LVs. | |
1379 | Fix lvcreate --virtualsize to activate the new device immediately. | |
1380 | Make --snapshot optional with lvcreate --virtualsize. | |
1381 | Generalise --virtualoriginsize to --virtualsize. | |
1382 | Skip virtual origins in process_each_lv_in_vg() without --all. | |
1383 | Fix counting of virtual origin LVs in vg_validate. | |
1384 | Attempt to load dm-zero module if zero target needed but not present. | |
1385 | ||
1386 | Version 2.02.47 - 22nd May 2009 | |
1387 | =============================== | |
1388 | Rename liblvm.so to liblvm2app.so and use configure --enable-applib. | |
1389 | Reinstate version in liblvm2cmd.so soname. (2.02.44) | |
1390 | ||
1391 | Version 2.02.46 - 21st May 2009 | |
1392 | =============================== | |
1393 | Inherit readahead setting from underlying devices during activation. | |
1394 | Detect LVs active on remote nodes by querying locks if supported. | |
1395 | Enable online resizing of mirrors. | |
1396 | Use suspend with flush when device size was changed during table preload. | |
1397 | Implement query_resource_fn for cluster_locking. | |
1398 | Support query_resource_fn in locking modules. | |
1399 | Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. | |
1400 | Fix pvmove to revert operation if temporary mirror creation fails. | |
1401 | Fix metadata export for VG with missing PVs. | |
1402 | Add vgimportclone and install it and the man page by default. | |
1403 | Force max_lv restriction only for newly created LV. | |
1404 | Remove unneeded import parameter from lv_create_empty. | |
1405 | Merge lv_is_displayable and lv_is_visible functions. | |
1406 | Introduce lv_set_visible & lv_set_hidden functions. | |
1407 | Fix lv_is_visible to handle virtual origin. | |
1408 | Introduce link_lv_to_vg and unlink_lv_from_vg functions. | |
1409 | Remove lv_count from VG and use counter function instead. | |
1410 | Fix snapshot segment import to not use duplicate segments & replace. | |
1411 | Do not query nonexistent devices for readahead. | |
1412 | Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. | |
1413 | Remove snapshot_count from VG and use function instead. | |
1414 | Fix first_seg() call for empty segment list. | |
1415 | Add install_lvm2 makefile target to install only the LVM2 components. | |
1416 | Reject missing PVs from allocation in toollib. | |
1417 | Fix PV datalignment for values starting prior to MDA area. (2.02.45) | |
1418 | Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). | |
1419 | Fix minimum width of devices column in reports. | |
1420 | Add lvs origin_size field. | |
1421 | Fix linux configure --enable-debug to exclude -O2. | |
1422 | Implement lvconvert --repair for repairing partially-failed mirrors. | |
1423 | Fix vgreduce --removemissing failure exit code. | |
1424 | Fix remote metadata backup for clvmd. | |
1425 | Introduce unlock_and_release_vg macro. | |
1426 | Introduce vg_release() to be called to free every struct volume_group. | |
1427 | Alloc PV internal structure from VG mempool if possible. | |
1428 | Fix metadata backup to run after vg_commit always. | |
1429 | Tidy clvmd volume lock cache functions. | |
1430 | Fix pvs report for orphan PVs when segment attributes are requested. | |
1431 | Fix pvs -a output to not read volume groups from non-PV devices. | |
1432 | Add MMC (mmcblk) device type to filters. | |
1433 | Introduce memory pools per volume group (to reduce memory for large VGs). | |
1434 | Use copy of PV structure when manipulating global PV lists. | |
1435 | Always return exit error status when locking of volume group fails. | |
1436 | Fix mirror log convert validation question. | |
1437 | Avoid referencing files from DESTDIR during build process. | |
1438 | Avoid creating some static libraries unless configured --enable-static_link. | |
1439 | Enable use of cached metadata for pvs and pvdisplay commands. | |
1440 | Add missing 'device-mapper' internal subdir build dependency. | |
1441 | Fix memory leak in mirror allocation code. | |
1442 | Save and restore the previous logging level when log level is changed. | |
1443 | Fix error message when archive initialization fails. | |
1444 | Make sure clvmd-corosync releases the lockspace when it exits. | |
1445 | Fix segfault for vgcfgrestore on VG with missing PVs. | |
1446 | Block SIGTERM & SIGINT in clvmd subthreads. | |
1447 | Detect and conditionally wipe swapspace signatures in pvcreate. | |
1448 | Fix maximal volume count check for snapshots if max_lv set for volume group. | |
1449 | Fix lvcreate to remove unused cow volume if the snapshot creation fails. | |
1450 | Fix error messages when PV uuid or pe_start reading fails. | |
1451 | Build new liblvm application-level library. | |
1452 | Rename liblvm.a to liblvm-internal.a. | |
1453 | Flush memory pool and fix locking in clvmd refresh and backup command. | |
1454 | Fix unlocks in clvmd-corosync. (2.02.45) | |
1455 | Fix error message when adding metadata directory to internal list fails. | |
1456 | Fix size and error message of memory allocation at backup initialization. | |
1457 | Remove old metadata backup file after renaming VG. | |
1458 | Restore log_suppress state when metadata backup file is up-to-date. | |
1459 | ||
1460 | Version 2.02.45 - 3rd March 2009 | |
1461 | ================================ | |
1462 | Avoid scanning empty metadata areas for VG names. | |
1463 | Attempt proper clean up in child before executing new binary in exec_cmd(). | |
1464 | Do not scan devices if reporting only attributes from PV label. | |
1465 | Use pkgconfig to obtain corosync library details during configuration. | |
1466 | Fix error returns in clvmd-corosync interface to DLM. | |
1467 | Add --refresh to vgchange and vgmknodes man pages. | |
1468 | Pass --test from lvresize to fsadm as --dry-run. | |
1469 | Supply argv[] list to exec_cmd() to allow for variable number of parameters. | |
1470 | Prevent fsadm from checking mounted filesystems. | |
1471 | No longer treats any other key as 'no' when prompting in fsadm. | |
1472 | Tidy fsadm command line processing. | |
1473 | Add lib/lvm.h and lib/lvm_base.c for the new library interface. | |
1474 | Move tools/version.h to lib/misc/lvm-version.h. | |
1475 | Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. | |
1476 | Add system_dir parameter to create_toolcontext(). | |
1477 | Add --dataalignment to pvcreate to specify alignment of data area. | |
1478 | Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. | |
1479 | Provide da and mda locations in debug message when writing text format label. | |
1480 | Mention the restriction on file descriptors at invocation on the lvm man page. | |
1481 | Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. | |
1482 | No longer require kernel and metadata major numbers to match. | |
1483 | Add a fully-functional get_cluster_name() to clvmd corosync interface. | |
1484 | Remove duplicate cpg_initialize from clvmd startup. | |
1485 | Add option to /etc/sysconfig/cluster to select cluster type for clvmd. | |
1486 | Allow clvmd to start up if its lockspace already exists. | |
1487 | Separate PV label attributes which do not need parse metadata when reporting. | |
1488 | Remove external dependency on the 'cut' command from fsadm. | |
1489 | Fix pvs segfault when pv mda attributes requested for not available PV. | |
1490 | Add fsadm support for reszing ext4 filesysystems. | |
1491 | Move locking_type reading inside init_locking(). | |
1492 | Rename get_vgs() to get_vgnames() and clarify related error messages. | |
1493 | Allow clvmd to be built with all cluster managers & select one on cmdline. | |
1494 | Mention --with-clvmd=corosync in ./configure. | |
1495 | Replace internal vg_check_status() implementation. | |
1496 | Rename vg_read() to vg_read_internal(). | |
1497 | ||
1498 | Version 2.02.44 - 26th January 2009 | |
1499 | =================================== | |
1500 | Fix --enable-static_link after the recent repository changes. | |
1501 | Add corosync/DLM cluster interface to clvmd. | |
1502 | Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. | |
1503 | Fix lvresize size conversion for fsadm when block size is not 1K. | |
1504 | Fix pvs segfault when run with orphan PV and some VG fields. | |
1505 | Display a 'dev_size' of zero for missing devices in reports. | |
1506 | Add pv_mda_size to pvs and vg_mda_size to vgs. | |
1507 | Fix lvmdump /sys listing to include virtual devices directory. | |
1508 | Add "--refresh" functionality to vgchange and vgmknodes. | |
1509 | Avoid exceeding LV size when wiping device. | |
1510 | Calculate mirror log size instead of using 1 extent. | |
1511 | Ensure requested device number is available before activating with it. | |
1512 | Fix incorrect exit status from 'help <command>'. | |
1513 | Fix vgrename using UUID if there are VGs with identical names. | |
1514 | Fix segfault when invalid field given in reporting commands. | |
1515 | Move is_static from cmd to global is_static(). | |
1516 | Refactor init_lvm() for lvmcmdline and clvmd. | |
1517 | Add liblvm interactive test infrastructure to build. | |
1518 | Add skeleton lvm2.h file in preparation for a shared library interface. | |
1519 | Use better random seed value in temp file creation. | |
1520 | Add read_urandom to read /dev/urandom. Use in uuid calculation. | |
1521 | Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. | |
1522 | Fix race in vgcreate that would result in second caller overwriting first. | |
1523 | Fix uninitialised lv_count in vgdisplay -c. | |
1524 | Don't skip updating pvid hash when lvmcache_info struct got swapped. | |
1525 | Add tinfo to termcap search path for pld-linux. | |
1526 | Fix startup race in clvmd. | |
1527 | Generate Red Hat clvmd startup script at config time with correct paths. | |
1528 | Fix clvmd & dmeventd builds after tree restructuring. | |
1529 | Cope with snapshot dependencies when removing a whole VG with lvremove. | |
1530 | Make man pages and tool help text consistent using | for alternative options. | |
1531 | ||
1532 | Version 2.02.43 - 10th November 2008 | |
1533 | ==================================== | |
1534 | Merge device-mapper into the lvm2 tree. | |
1535 | Correct prototype for --permission on lvchange and lvcreate man pages. | |
1536 | Exit with non-zero status from vgdisplay if couldn't show any requested VG. | |
1537 | Move list.c into libdevmapper and rename functions. | |
1538 | Rename a couple of variables that matched function names. | |
1539 | Use simplified x.y.z version number in libdevmapper.pc. | |
1540 | Remove ancient debian directory. | |
1541 | Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. | |
1542 | ||
1543 | Version 2.02.42 - 26th October 2008 | |
1544 | =================================== | |
1545 | Accept locking fallback_to_* options in the global section as documented. | |
1546 | Fix temp table activation in mirror conversions not to happen in other cmds. | |
1547 | Fix temp table in mirror conversions to use always-present error not zero. | |
1548 | ||
1549 | Version 2.02.41 - 17th October 2008 | |
1550 | =================================== | |
1551 | Use temp table to set device size when converting mirrors. | |
1552 | In resume_mirror_images replace activate_lv with resume_lv as workaround. | |
1553 | Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. | |
1554 | Fix snapshot monitoring library to not cancel monitoring invalid snapshot. | |
1555 | Generate man pages from templates and include version. | |
1556 | Add usrlibdir and usrsbindir to configure. | |
1557 | Fix conversion of md chunk size into sectors. | |
1558 | Free text metadata buffer after a failure writing it. | |
1559 | Fix misleading error message when there are no allocatable extents in VG. | |
1560 | Fix handling of PVs which reappeared with old metadata version. | |
1561 | Fix mirror DSO to call vgreduce with proper parameters. | |
1562 | Fix validation of --minor and --major in lvcreate to require -My always. | |
1563 | Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. | |
1564 | ||
1565 | Version 2.02.40 - 19th September 2008 | |
1566 | ===================================== | |
1567 | Allow lvremove to remove LVs from VGs with missing PVs. | |
1568 | In VG with PVs missing, by default allow activation of LVs that are complete. | |
1569 | Track PARTIAL_LV and MISSING_PV flags internally. | |
1570 | Require --force with --removemissing in vgreduce to remove partial LVs. | |
1571 | No longer write out PARTIAL flag into metadata backups. | |
1572 | Treat new default activation/missing_stripe_filler "error" as an error target. | |
1573 | Remove internal partial_mode. | |
1574 | Add devices/md_chunk_alignment to lvm.conf. | |
1575 | Pass struct physical_volume to pe_align and adjust for md chunk size. | |
1576 | Store sysfs location in struct cmd_context. | |
1577 | Avoid shuffling remaining mirror images when removing one, retaining primary. | |
1578 | Add missing LV error target activation in _remove_mirror_images. | |
1579 | Prevent resizing an LV while lvconvert is using it. | |
1580 | Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. | |
1581 | Fix pvresize to not allow resize if PV has two metadata areas. | |
1582 | Fix setting of volume limit count if converting to lvm1 format. | |
1583 | Fix vgconvert logical volume id metadata validation. | |
1584 | Fix lvmdump metadata gather option (-m) to work correctly. | |
1585 | Fix allocation bug in text metadata format write error path. | |
1586 | Fix vgcfgbackup to properly check filename if template is used. | |
1587 | configure aborts if lcov or genhtml are missing with --enable-profiling | |
1588 | vgremove tries to remove lv snapshot first. | |
1589 | Added function lv_remove_with_dependencies(). | |
1590 | Improve file descriptor leak detection to display likely culprit and filename. | |
1591 | Change clustered mirror kernel module name from cmirror to dm-log-clustered. | |
1592 | Avoid looping forever in _pv_analyze_mda_raw used by pvck. | |
1593 | Change lvchange exit status to indicate if any part of the operation failed. | |
1594 | Fix pvchange and pvremove to handle PVs without mdas. | |
1595 | Refactor _text_pv_read and always return mda list if requested. | |
1596 | Fix configure to work w/o readline unless --enable-readline used. (2.02.39) | |
1597 | Remove is_lvm_partition template which has not yet been coded. | |
1598 | Refactor pvcreate to separate parameter parsing from validation logic. | |
1599 | Check for label_write() failure in _text_pv_write(). | |
1600 | Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. | |
1601 | Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. | |
1602 | Cease recognising snapshot-in-use percentages returned by early devt kernels. | |
1603 | Add backward-compatible flags field to on-disk format_text metadata. | |
1604 | Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) | |
1605 | ||
1606 | Version 2.02.39 - 27th June 2008 | |
1607 | ================================ | |
1608 | Enable readline by default if available. | |
1609 | Update autoconf to 2008-01-16. | |
1610 | Add $DISTCLEAN_DIRS to make.tmpl.in. | |
1611 | Create coverage reports with --enable-profiling and make lcov or lcov-dated. | |
1612 | Fix up cache for PVs without mdas after consistent VG metadata is processed. | |
1613 | Update validation of safe mirror log type conversions in lvconvert. | |
1614 | Fix lvconvert to disallow snapshot and mirror combinations. | |
1615 | Fix reporting of LV fields alongside unallocated PV segments. | |
1616 | Add --unquoted and --rows to reporting tools. | |
1617 | Add and use uninitialized_var() macro to suppress invalid compiler warnings. | |
1618 | Introduce enum for md minor sb version to suppress compiler warning. | |
1619 | Avoid undefined return value after _memlock manipulation in lvm2_run. | |
1620 | Avoid link failure if configured without --enable-cmdlib or --enable-readline. | |
1621 | Make clvmd return at once if other nodes down in a gulm or openais cluster. | |
1622 | Fix and improve readahead 'auto' calculation for stripe_size. | |
1623 | Fix lvchange output for -r auto setting if auto is already set. | |
1624 | Add test case for readahead. | |
1625 | Avoid ambiguous use of identifier error_message_produced. | |
1626 | Begin syncing configure.in for merge/unification with device-mapper. | |
1627 | Fix add_mirror_images not to dereference uninitialized log_lv upon failure. | |
1628 | Don't call openlog for every debug line output by clvmd. | |
1629 | Add --force to lvextend and lvresize. | |
1630 | Fix vgchange not to activate component mirror volumes directly. | |
1631 | Fix test directory clean up in make distclean. | |
1632 | ||
1633 | Version 2.02.38 - 11th June 2008 | |
1634 | ================================ | |
1635 | Fix tracking of validity of PVs with no mdas in lvmcache. | |
1636 | Fix return values for reporting commands when run with no PVs, LVs, or VGs. | |
1637 | Add omitted unlock_vg() call when sigint_caught() during vg processing. | |
1638 | Fix free_count when reading pool metadata. | |
1639 | Fix segfault when using pvcreate on a device containing pool metadata. | |
1640 | Fix segfault after _free_vginfo by remembering to remove vginfo from list. | |
1641 | Tweak detection of invalid fid after changes to PVs in VG in _vg_read. | |
1642 | Revert assuming precommitted metadata is live when activating (unnecessary). | |
1643 | Drop cached metadata for disappearing VG in vgmerge. | |
1644 | In script-processing mode, stop if any command fails. | |
1645 | Warn if command exits with non-zero status code without a prior log_error. | |
1646 | Check lv_count in vg_validate. | |
1647 | Add --nameprefixes to reporting tools for field name prefix output format. | |
1648 | ||
1649 | Version 2.02.37 - 6th June 2008 | |
1650 | =============================== | |
1651 | Make clvmd-cman use a hash rather than an array for node updown info. | |
1652 | Correct config file line numbers in messages when parsing comments. | |
1653 | Drop cached metadata when renaming a VG. | |
1654 | Allow for vginfo changing during _vg_read. | |
1655 | Decode numbers in clvmd debugging output. | |
1656 | Add missing deactivation after activation failure in lvcreate -Zy. | |
1657 | When activating, if precommitted metadata is still cached, assume it's live. | |
1658 | When removing LV symlinks, skip any where the VG name is not determined. | |
1659 | Drop metadata cache if update fails in vg_revert or vg_commit. | |
1660 | Avoid spurious duplicate VG messages referring to VGs that are gone. | |
1661 | Drop dev_name_confirmed error message to debug level. | |
1662 | Fix setpriority error message to signed int. | |
1663 | Temporarily disable dmeventd mirror monitoring during lvchange --resync. | |
1664 | Refactor some vginfo manipulation code. | |
1665 | Add assertions to trap deprecated P_ and V_ lock usage. | |
1666 | Add missing mutex around clvmd lvmcache_drop_metadata library call. | |
1667 | Fix uninitialised mutex in clvmd if all daemons are not running at startup. | |
1668 | Avoid using DLM locks with LCK_CACHE type P_ lock requests. | |
1669 | When asked to drop cached committed VG metadata, invalidate cached PV labels. | |
1670 | Drop metadata cache before writing precommitted metadata instead of after. | |
1671 | Don't touch /dev in vgrename if activation is disabled. | |
1672 | ||
1673 | Version 2.02.36 - 29th April 2008 | |
1674 | ================================= | |
1675 | Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. | |
1676 | Fix lvresize to pass new size to fsadm when extending device. | |
1677 | Remove unused struct in clvmd-openais, and use correct node count. | |
1678 | Fix nodes list in clvmd-openais, and allow for broadcast messages. | |
1679 | Exclude VG_GLOBAL from internal concurrent VG lock counter. | |
1680 | Fix vgsplit internal counting of snapshot LVs. | |
1681 | Fix vgmerge snapshot_count when source VG contains snapshots. | |
1682 | Simplify clvmd-openais by using non-async saLckResourceLock. | |
1683 | Fix internal LV counter when a snapshot is removed. | |
1684 | Fix metadata corruption writing lvm1-formatted metadata with snapshots. | |
1685 | Fix lvconvert -m0 allocatable space check. | |
1686 | ||
1687 | Version 2.02.35 - 15th April 2008 | |
1688 | ================================= | |
1689 | Drop cached VG metadata before and after committing changes to it. | |
1690 | Rename P_global to P_#global. | |
1691 | Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) | |
1692 | Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) | |
1693 | Update vgsplit tests to verify loosening of active LV restriction. | |
1694 | Update vgsplit to only restrict split with active LVs involved in split. | |
1695 | Add lv_is_active() to determine whether an lv is active. | |
1696 | ||
1697 | Version 2.02.34 - 10th April 2008 | |
1698 | ================================= | |
1699 | Improve preferred_names lvm.conf example. | |
1700 | Fix vgdisplay 'Cur LV' field to match lvdisplay output. | |
1701 | Fix lv_count report field to exclude hidden LVs. | |
1702 | Add vg_is_clustered() helper function. | |
1703 | Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. | |
1704 | Update vgsplit tests for lvnames on the cmdline. | |
1705 | Update vgsplit man page to reflect lvnames on the cmdline. | |
1706 | Update vgsplit to take "-n LogicalVolumeName" on the cmdline. | |
1707 | Use clustered mirror log with pvmove in clustered VGs, if available. | |
1708 | Fix some pvmove error status codes. | |
1709 | Fix vgsplit error paths to release vg_to lock. | |
1710 | Indicate whether or not VG is clustered in vgcreate log message. | |
1711 | Mention default --clustered setting in vgcreate man page. | |
1712 | Add config file overrides to clvmd when it reads the active LVs list. | |
1713 | Fix vgreduce to use vg_split_mdas to check sufficient mdas remain. | |
1714 | Add (empty) orphan VGs to lvmcache during initialisation. | |
1715 | Fix orphan VG name used for format_pool. | |
1716 | Create a fid for internal orphan VGs. | |
1717 | Update lvmcache VG lock state for all locking types now. | |
1718 | Fix output if overriding command_names on cmdline. | |
1719 | Add detection of clustered mirror log capability. | |
1720 | Add check to vg_commit() ensuring VG lock held before writing new VG metadata. | |
1721 | Add validation of LV name to pvmove -n. | |
1722 | Make clvmd refresh the context correctly when lvm.conf is updated. | |
1723 | Add some basic internal VG lock validation. | |
1724 | Add per-command flags to control which commands use the VG metadata cache. | |
1725 | Fix vgsplit locking of new VG (2.02.30). | |
1726 | Avoid erroneous vgsplit error message for new VG. (2.02.29) | |
1727 | Suppress duplicate message when lvresize fails because of invalid vgname. | |
1728 | Cache VG metadata internally while VG lock is held. | |
1729 | Fix redundant lvresize message if vg doesn't exist. | |
1730 | Fix another allocation bug with clvmd and large node IDs. | |
1731 | Add find_lv_in_lv_list() and find_pv_in_pv_list(). | |
1732 | Fix uninitialised variable in clvmd that could cause odd hangs. | |
1733 | Add vgmerge tests. | |
1734 | Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. | |
1735 | Add list_move() for moving elements from one list to another. | |
1736 | Add 'is_reserved_lvname()' for identifying hidden LVs. | |
1737 | Correct command name in lvmdiskscan man page. | |
1738 | clvmd no longer crashes if it sees nodeids over 50. | |
1739 | Fix potential deadlock in clvmd thread handling. | |
1740 | Refactor text format initialisation into _init_text_import. | |
1741 | Escape double quotes and backslashes in external metadata and config data. | |
1742 | Add functions for escaping double quotes in strings. | |
1743 | Rename count_chars_len to count_chars. | |
1744 | Use return_0 in a couple more places. | |
1745 | Correct a function name typo in _line_append error message. | |
1746 | Include limits.h in clvmd so it compiles with newer headers. | |
1747 | Add VirtIO disks (virtblk) to filters. | |
1748 | Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) | |
1749 | Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) | |
1750 | Add missing no-longer-used segs_using_this_lv test to check_lv_segments. | |
1751 | Remove redundant non-NULL tests before calling free in clvmd.c. | |
1752 | Avoid a compiler warning: make is_orphan's parameter const. | |
1753 | Fix lvconvert detection of mirror conversion in progress. (2.02.30) | |
1754 | Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) | |
1755 | Fix 'pvs -a' to detect VGs of PVs without metadata areas. | |
1756 | Divide up internal orphan volume group by format type. | |
1757 | Update usage message for clvmd. | |
1758 | Fix clvmd man page not to print <br> and clarified debug options. | |
1759 | Fix lvresize to support /dev/mapper prefix in the LV name. | |
1760 | Fix unfilled parameter passed to fsadm from lvresize. | |
1761 | Update fsadm to call lvresize if the partition size differs (with option -l). | |
1762 | Fix fsadm to support VG/LV names. | |
1763 | ||
1764 | Version 2.02.33 - 31st January 2008 | |
1765 | =================================== | |
1766 | Fix mirror log name construction during lvconvert. (2.02.30) | |
1767 | Make monitor_dev_for_events recurse through the stack of LVs. | |
1768 | Clean up some more compiler warnings. | |
1769 | Some whitespace tidy-ups. | |
1770 | Use stack return macros throughout. | |
1771 | Rely upon internally-cached PV labels while corresponding VG lock is held. | |
1772 | ||
1773 | Version 2.02.32 - 29th January 2008 | |
1774 | =================================== | |
1775 | Fix two check_lv_segments error messages to show whole segment. | |
1776 | Refactor mirror log attachment code. | |
1777 | Fix internal metadata corruption in lvchange --resync. (2.02.30) | |
1778 | Fix new parameter validation in vgsplit and test mode. (2.02.30) | |
1779 | Remove redundant cnxman-socket.h file from clvmd directory. | |
1780 | Fix pvs, vgs, lvs error exit status on some error paths. | |
1781 | ||
1782 | Version 2.02.31 - 19th January 2008 | |
1783 | =================================== | |
1784 | Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) | |
1785 | Add very_verbose lvconvert messages. | |
1786 | Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) | |
1787 | ||
1788 | Version 2.02.30 - 17th January 2008 | |
1789 | =================================== | |
1790 | Set default readahead to twice maximium stripe size. | |
1791 | Reinstate VG extent size and stripe size defaults (halved). (2.02.29) | |
1792 | Add lists of stacked LV segments using each LV to the internal metadata. | |
1793 | Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. | |
1794 | Fix process_all_pvs to detect non-orphans with no MDAs correctly. | |
1795 | Don't use block_on_error with mirror targets version 1.12 and above. | |
1796 | Update vgsplit to accept vgcreate options when new VG is destination. | |
1797 | Update vgsplit to accept existing VG as destination. | |
1798 | lvconvert waits for completion of initial sync by default. | |
1799 | Refactor vgcreate for parameter validation and add tests. | |
1800 | Add new convert_lv field to lvs output. | |
1801 | Print warning when lvm tools are running as non-root. | |
1802 | Add snapshot dmeventd library (enables dmeventd snapshot monitoring). | |
1803 | Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. | |
1804 | Fix a segfault if using pvs with --all argument. (2.02.29) | |
1805 | Update --uuid argument description in man pages. | |
1806 | Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) | |
1807 | Extend lvconvert to use polldaemon. | |
1808 | Add support for stacked mirrors. | |
1809 | Major restructuring of pvmove and lvconvert layer manipulation code. | |
1810 | Replace tools/fsadm with scripts/fsadm.sh. | |
1811 | Append fields to report/pvsegs_cols_verbose. | |
1812 | Permit LV segment fields with PV segment reports. | |
1813 | Add seg_start_pe and seg_pe_ranges to reports. | |
1814 | ||
1815 | Version 2.02.29 - 5th December 2007 | |
1816 | =================================== | |
1817 | Make clvmd backup vg metadata on remote nodes. | |
1818 | Refactor pvmove allocation code. | |
1819 | Decode cluster locking state in log message. | |
1820 | Change file locking state messages from debug to very verbose. | |
1821 | Fix --addtag to drop @ prefix from name. | |
1822 | Stop clvmd going haywire if a pre_function fails. | |
1823 | Convert some vg_reads into vg_lock_and_reads. | |
1824 | Avoid nested vg_reads when processing PVs in VGs and fix associated locking. | |
1825 | Accept sizes with --readahead argument. | |
1826 | Store size arguments as sectors internally. | |
1827 | Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. | |
1828 | Add read_ahead activation code. | |
1829 | Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. | |
1830 | Extend readahead arg to accept "auto" and "none". | |
1831 | Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. | |
1832 | Prevent lvconvert -s from using same LV as origin and snapshot. | |
1833 | Fix human-readable output of odd numbers of sectors. | |
1834 | Add pv_mda_free and vg_mda_free fields to reports for raw text format. | |
1835 | Add LVM2 version to 'Generated by' comment in metadata. | |
1836 | Show 'not usable' space when PV is too large for device in pvdisplay. | |
1837 | Ignore and fix up any excessive device size found in metadata. | |
1838 | Fix error message when fixing up PV size in lvm2 metadata (2.02.11). | |
1839 | Fix orphan-related locking in pvdisplay and pvs. | |
1840 | Fix missing VG unlocks in some pvchange error paths. | |
1841 | Add some missing validation of VG names. | |
1842 | Rename validate_vg_name() to validate_new_vg_name(). | |
1843 | Change orphan lock to VG_ORPHANS. | |
1844 | Change format1 to use ORPHAN as orphan VG name. | |
1845 | Convert pvchange, pvdisplay, pvscan to use is_orphan() | |
1846 | Add is_orphan_vg() and change all hard-coded checks to use it. | |
1847 | Detect md superblocks version 1.0, 1.1 and 1.2. | |
1848 | Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. | |
1849 | Add pv_dev_name() to access PV device name. | |
1850 | Add const attributes to pv accessor functions. | |
1851 | Refactor vg_add_snapshot() and lv_create_empty(). | |
1852 | Handle new sysfs subsystem/block/devices directory structure. | |
1853 | Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. | |
1854 | Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. | |
1855 | Fix underquotations in lvm_dump.sh. | |
1856 | Refactor lvcreate stripe and mirror parameter validation. | |
1857 | Print --help output to stdout, not stderr. | |
1858 | After a cmdline processing error, don't print help text but suggest --help. | |
1859 | Add %PVS extents option to lvresize, lvextend, and lvcreate. | |
1860 | Add 'make check' to run tests in new subdirectory 'test'. | |
1861 | Moved the obsolete test subdirectory to old-tests. | |
1862 | Cope with relative paths in configure --with-dmdir. | |
1863 | Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. | |
1864 | Fix strdup memory leak in str_list_dup(). | |
1865 | Link with -lpthread when static SELinux libraries require that. | |
1866 | Detect command line PE values that exceed their 32-bit range. | |
1867 | Include strerror string in dev_open_flags' stat failure message. | |
1868 | Move guts of pvresize into library. | |
1869 | Avoid error when --corelog is provided without --mirrorlog. (2.02.28) | |
1870 | Correct --mirrorlog argument name in man pages (not --log). | |
1871 | Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear. | |
1872 | Modify lvremove to prompt for removal if LV active on other cluster nodes. | |
1873 | Add '-f' to vgremove to force removal of VG even if LVs exist. | |
1874 | ||
1875 | Version 2.02.28 - 24th August 2007 | |
1876 | ================================== | |
1877 | Fix clvmd logging so you can get lvm-level debugging out of it. | |
1878 | Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. | |
1879 | Change locking_flags from int to uint32_t. | |
1880 | Fix clvmd -R, so it fully refreshes the caches. | |
1881 | Change lvconvert_mirrors to use mirror segtype not striped. | |
1882 | Fix lvconvert_mirrors detection of number of existing mirrors. | |
1883 | Clean up numerous compiler warnings that appeared in recent releases. | |
1884 | Remove several unused parameters from _allocate(). | |
1885 | Only permit --force, --verbose and --debug arguments to be repeated. | |
1886 | Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. | |
1887 | Move guts of vgremove and lvremove into library, including yes_no_prompt. | |
1888 | Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C]. | |
1889 | Update to use autoconf 2.61, while still supporting 2.57. | |
1890 | Add more cluster info to lvmdump. | |
1891 | Add further const attributes throughout. | |
1892 | Add support for renaming mirrored LVs. | |
1893 | Factor out core of lvrename() to library function. | |
1894 | Add --mirrorlog argument to specify log type for mirrors. | |
1895 | Don't attempt to monitor devices if their creation failed in _lv_activate. | |
1896 | Don't leak a file descriptor in fcntl_lock_file() when fcntl fails. | |
1897 | Replace create_dir with dm_create_dir. | |
1898 | Detect stream write failure reliably with lvm_fclose using dm_fclose. | |
1899 | Fix clvmd if compiled with gulm support. (2.02.26) | |
1900 | Fix lvdisplay man page to say LV size is reported in sectors, not KB. | |
1901 | Add vg_lock_and_read() external library function. | |
1902 | Fix loading of persistent cache if cache_dir is used. (2.02.23) | |
1903 | Reduce _compare_paths lstat error message from log_error to log_very_verbose. | |
1904 | Create util.h with last_path_component replacing strdup + basename. | |
1905 | Use gcc's printf attribute wherever possible. | |
1906 | In _line_append, use "sizeof buf - 1" rather than equivalent "4095". | |
1907 | Introduce is_same_inode macro, now including a comparison of st_dev. | |
1908 | Don't leak a file descriptor in _lock_file() when flock fails. | |
1909 | Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. | |
1910 | Split metadata-external.h out from metadata.h for the tools to use. | |
1911 | ||
1912 | Version 2.02.27 - 17th July 2007 | |
1913 | ================================ | |
1914 | Fix snapshot cow area deactivation if origin is not active. (2.02.13) | |
1915 | Fix configure libdevmapper.h check when --with-dmdir is used. | |
1916 | Turn _add_pv_to_vg() into external library function add_pv_to_vg(). | |
1917 | Add pv_by_path() external library function. | |
1918 | Tidy clvmd-openais of redundant bits, and improve an error report. | |
1919 | Cope with find_seg_by_le() failure in check_lv_segments(). | |
1920 | Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. | |
1921 | Add vg_mda_count and pv_mda_count columns to reports. | |
1922 | Fix dumpconfig to use log_print instead of stdout directly. | |
1923 | Remove unused parameter 'fid' from _add_pv_to_vg. | |
1924 | Add kernel and device-mapper targets versions to lvmdump. | |
1925 | Replace BSD (r)index with C89 str(r)chr. | |
1926 | Handle vgsplit of an entire VG as a vgrename. | |
1927 | Reinitialise internal lvmdiskscan variables when called repeatedly. | |
1928 | Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) | |
1929 | Add vg_status function and clean up vg->status in tools directory. | |
1930 | Add --ignoremonitoring to disable all dmeventd interaction. | |
1931 | Remove get_ prefix from get_pv_* functions. | |
1932 | clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. | |
1933 | Print warnings to stderr instead of stdout. | |
1934 | ||
1935 | Version 2.02.26 - 15th June 2007 | |
1936 | ================================ | |
1937 | Update vgcfgrestore man page. | |
1938 | Allow keyboard interrupt during user prompts when appropriate. | |
1939 | Remove unused clvmd system-lv code. | |
1940 | Replace many physical_volume struct dereferences with new get_pv_* functions. | |
1941 | Suppress a benign compile-time warning. | |
1942 | Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. | |
1943 | Add wrappers to some functions in preparation for external LVM library. | |
1944 | Add -f to vgcfgrestore to list metadata backup files. | |
1945 | Add vg_check_status to consolidate vg status checks and error messages. | |
1946 | Add pvdisplay --maps implementation. | |
1947 | Remove unsupported LVM1 options from vgcfgrestore man page. | |
1948 | Update vgcfgrestore man page to show mandatory VG name. | |
1949 | Update vgrename man page to include UUID and be consistent with lvrename. | |
1950 | Add (experimental) OpenAIS support to clvmd. | |
1951 | Fix deactivation code to follow dependencies and remove symlinks. | |
1952 | Fix and clarify vgsplit error messages. | |
1953 | Fix a segfault in device_is_usable() if a device has no table. | |
1954 | Add some more debug messages to clvmd startup. | |
1955 | Misc clvmd cleanups. | |
1956 | ||
1957 | Version 2.02.25 - 27th April 2007 | |
1958 | ================================= | |
1959 | Fix get_config_uint64() to read a 64-bit value not a 32-bit one. | |
1960 | Add -Wformat-security and change one fprintf() to fputs(). | |
1961 | Move regex functions into libdevmapper. | |
1962 | Change some #include lines to search only standard system directories. | |
1963 | Add devices/preferred_names config regex list for displayed device names. | |
1964 | Free a temporary dir string in fcntl_lock_file() after use. | |
1965 | Fix a dm_pool_destroy() in matcher_create(). | |
1966 | Introduce goto_bad macro. | |
1967 | Fix warnings on x86_64 involving ptrdiff_t in log_error messages. | |
1968 | Update pvck to include text metadata area and record detection. | |
1969 | Add support functions for token counting in config file extracts. | |
1970 | Update pvck to read labels on disk, with --labelsector parameter. | |
1971 | Add count_chars and count_chars_len functions. | |
1972 | Add /sys/block listings to lvm_dump.sh. | |
1973 | Make lvm_dump.sh list /dev recursively. | |
1974 | Fix thread race in clvmd. | |
1975 | Add scan_sector param to label_read and _find_labeller. | |
1976 | Make clvmd cope with quorum devices. | |
1977 | Add extra internal error checking to clvmd. | |
1978 | Add dev_read_circular. | |
1979 | Add pvck command stub. | |
1980 | Update lists of attribute characters in man pages. | |
1981 | Change cling alloc policy attribute character from 'C' to l'. | |
1982 | Fix creation and conversion of mirrors with tags. | |
1983 | Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). | |
1984 | Split metadata areas in vgsplit properly. | |
1985 | ||
1986 | Version 2.02.24 - 19th March 2007 | |
1987 | ================================= | |
1988 | Fix processing of exit status in init scripts | |
1989 | Fix vgremove to require at least one vg argument. | |
1990 | Fix reading of striped LVs in LVM1 format. | |
1991 | Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) | |
1992 | Add a few missing pieces of vgname command line validation. | |
1993 | Support the /dev/mapper prefix on most command lines. | |
1994 | ||
1995 | Version 2.02.23 - 8th March 2007 | |
1996 | ================================ | |
1997 | Fix vgrename active LV check to ignore differing vgids. | |
1998 | Remove no-longer-used uuid_out parameter from activation info functions. | |
1999 | Fix two more segfaults if an empty config file section encountered. | |
2000 | Move .cache file into a new /etc/lvm/cache directory by default. | |
2001 | Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache. | |
2002 | Create directory in fcntl_lock_file() if required. | |
2003 | Exclude readline support from lvm.static. | |
2004 | Fix a leak in a reporting error path (2.02.19). | |
2005 | ||
2006 | Version 2.02.22 - 13th February 2007 | |
2007 | ==================================== | |
2008 | Correct -b and -P on a couple of man pages. | |
2009 | Add global/units to example.conf. | |
2010 | Fix loading of segment_libraries. | |
2011 | If a PV reappears after it was removed from its VG, make it an orphan. | |
2012 | Don't update metadata automatically if VGIDs don't match. | |
2013 | Fix some vgreduce --removemissing command line validation. | |
2014 | ||
2015 | Version 2.02.21 - 30th January 2007 | |
2016 | =================================== | |
2017 | Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. | |
2018 | Fix vgsplit to handle mirrors. | |
2019 | Reorder fields in reporting field definitions. | |
2020 | Fix vgs to treat args as VGs even when PV fields are displayed. | |
2021 | Fix md signature check to handle both endiannesses. | |
2022 | ||
2023 | Version 2.02.20 - 25th January 2007 | |
2024 | =================================== | |
2025 | dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. | |
2026 | Add devices/ignore_suspended_devices to ignore suspended dm devices. | |
2027 | Add some missing close() and fclose() return code checks. | |
2028 | Fix exit statuses of reporting tools (2.02.19). | |
2029 | Add init script for dmeventd monitoring. | |
2030 | lvm.static no longer interacts with dmeventd unless explicitly asked to. | |
2031 | Add field definitions to report help text. | |
2032 | Remove unnecessary cmd arg from target_*monitor_events(). | |
2033 | Add private variable to dmeventd shared library interface. | |
2034 | Long-lived processes write out persistent dev cache in refresh_toolcontext(). | |
2035 | Fix refresh_toolcontext() always to wipe persistent device filter cache. | |
2036 | Add is_long_lived to toolcontext. | |
2037 | Add --clustered to man pages. | |
2038 | Streamline dm_report_field_* interface. | |
2039 | Change remaining dmeventd terminology 'register' to 'monitor'. | |
2040 | Update reporting man pages. | |
2041 | No longer necessary to specify alignment type for report fields. | |
2042 | ||
2043 | Version 2.02.19 - 17th January 2007 | |
2044 | =================================== | |
2045 | Fix a segfault if an empty config file section encountered. | |
2046 | Move basic reporting functions into libdevmapper. | |
2047 | Fix partition table processing after sparc changes (2.02.16). | |
2048 | Fix cmdline PE range processing segfault (2.02.13). | |
2049 | Some libdevmapper-event interface changes. | |
2050 | Report dmeventd mirror monitoring status. | |
2051 | Fix dmeventd mirror status line processing. | |
2052 | ||
2053 | Version 2.02.18 - 11th January 2007 | |
2054 | =================================== | |
2055 | Revised libdevmapper-event interface for dmeventd. | |
2056 | Remove dmeventd mirror status line word limit. | |
2057 | Use CFLAGS when linking so mixed sparc builds can supply -m64. | |
2058 | Prevent permission changes on active mirrors. | |
2059 | Print warning instead of error message if lvconvert cannot zero volume. | |
2060 | Add snapshot options to lvconvert man page. | |
2061 | dumpconfig accepts a list of configuration variables to display. | |
2062 | Change dumpconfig to use --file to redirect output to a file. | |
2063 | Avoid vgreduce error when mirror code removes the log LV. | |
2064 | Remove 3 redundant AC_MSG_RESULTs from configure.in. | |
2065 | Free memory in _raw_read_mda_header() error paths. | |
2066 | Fix ambiguous vgsplit error message for split LV. | |
2067 | Fix lvextend man page typo. | |
2068 | Add configure --with-dmdir to compile against a device-mapper source tree. | |
2069 | Use no flush suspending for mirrors. | |
2070 | Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. | |
2071 | Fix create mirror with name longer than 22 chars. | |
2072 | Fix some activate.c prototypes when compiled without devmapper. | |
2073 | Fix dmeventd mirror to cope if monitored device disappears. | |
2074 | ||
2075 | Version 2.02.17 - 14th December 2006 | |
2076 | ==================================== | |
2077 | Add missing pvremove error message when device doesn't exist. | |
2078 | When lvconvert allocates a mirror log, respect parallel area constraints. | |
2079 | Use loop to iterate through the now-ordered policy list in _allocate(). | |
2080 | Check for failure to allocate just the mirror log. | |
2081 | Introduce calc_area_multiple(). | |
2082 | Support mirror log allocation when there is only one PV: area_count now 0. | |
2083 | Fix detection of smallest area in _alloc_parallel_area() for cling policy. | |
2084 | Add manpage entry for clvmd -T | |
2085 | Fix gulm operation of clvmd, including a hang when doing lvchange -aey | |
2086 | Fix hang in clvmd if a pre-command failed. | |
2087 | ||
2088 | Version 2.02.16 - 1st December 2006 | |
2089 | =================================== | |
2090 | Fix VG clustered read locks to use PR not CR. | |
2091 | Adjust some alignments for ia64/sparc. | |
2092 | Fix mirror segment removal to use temporary error segment. | |
2093 | Always compile debug logging into clvmd. | |
2094 | Add startup timeout to RHEL4 clvmd startup script. | |
2095 | Add -T (startup timeout) switch to clvmd. | |
2096 | Improve lvm_dump.sh robustness. | |
2097 | Update lvm2create_initrd to support gentoo. | |
2098 | ||
2099 | Version 2.02.15 - 21st November 2006 | |
2100 | ==================================== | |
2101 | Fix clvmd_init_rhel4 line truncation (2.02.14). | |
2102 | Install lvmdump by default. | |
2103 | Fix check for snapshot module when activating snapshot. | |
2104 | Fix pvremove error path for case when PV is in use. | |
2105 | Warn if certain duplicate config file entries are seen. | |
2106 | Enhance lvm_dump.sh for sysreport integration and add man page. | |
2107 | Fix --autobackup argument which could never disable backups. | |
2108 | Fix a label_verify error path. | |
2109 | ||
2110 | Version 2.02.14 - 10th November 2006 | |
2111 | ==================================== | |
2112 | Fix adjusted_mirror_region_size() to handle 64-bit size. | |
2113 | Add some missing bounds checks on 32-bit extent counters. | |
2114 | Add Petabyte and Exabyte support. | |
2115 | Fix lvcreate error message when 0 extents requested. | |
2116 | lvremove man page: volumes must be cluster inactive before being removed. | |
2117 | Protect .cache manipulations with fcntl locking. | |
2118 | Change .cache timestamp comparisons to use ctime. | |
2119 | Fix mirror log LV writing to set all bits in whole LV. | |
2120 | Fix clustered VG detection and default runlevels in clvmd_init_rhel4. | |
2121 | Fix high-level free space check for partial allocations. | |
2122 | ||
2123 | Version 2.02.13 - 27th October 2006 | |
2124 | =================================== | |
2125 | Add couple of missing files to tools/Makefile CLEAN_TARGETS. | |
2126 | When adding snapshot leave cow LV mapped device active after zeroing. | |
2127 | Fix a clvmd debug message. | |
2128 | Add dev_flush() to set_lv(). | |
2129 | Add lvchange --resync. | |
2130 | Perform high-level free space check before each allocation attempt. | |
2131 | Don't allow a node to remove an LV that's exclusively active on anther node. | |
2132 | Cope if same PV is included more than once in cmdline PE range list. | |
2133 | Set PV size to current device size if it is found to be zero. | |
2134 | Add segment parameter to target_present functions. | |
2135 | ||
2136 | Version 2.02.12 - 16th October 2006 | |
2137 | =================================== | |
2138 | Fix pvdisplay to use vg_read() for non-orphans. | |
2139 | Fall back to internal locking if external locking lib is missing or fails. | |
2140 | Retain activation state after changing LV minor number with --force. | |
2141 | Propagate clustered flag in vgsplit and require resizeable flag. | |
2142 | ||
2143 | Version 2.02.11 - 12th October 2006 | |
2144 | =================================== | |
2145 | Add clvmd function to return the cluster name. not used by LVM yet. | |
2146 | Add cling allocation policy. | |
2147 | Change _check_contiguous() to use _for_each_pv(). | |
2148 | Extend _for_each_pv() to allow termination without error. | |
2149 | Abstract _is_contiguous(). | |
2150 | Remove duplicated pv arg from _check_contiguous(). | |
2151 | Accept regionsize with lvconvert. | |
2152 | Add report columns with underscore before field names ending 'size'. | |
2153 | Correct regionsize default on lvcreate man page (MB). | |
2154 | Fix clvmd bug that could cause it to die when a node with a long name crashed. | |
2155 | Add device size to text metadata. | |
2156 | Fix format_text mda_setup pv->size and pv_setup pe_count calculations. | |
2157 | Fix _for_each_pv() for mirror with core log. | |
2158 | Add lvm_dump.sh script to create a tarball of debugging info from a system. | |
2159 | Capture error messages in clvmd and pass them back to the user. | |
2160 | Remove unused #defines from filter-md.c. | |
2161 | Make clvmd restart init script wait until clvmd has died before starting it. | |
2162 | Add -R to clvmd which tells running clvmds to reload their device cache. | |
2163 | Add LV column to reports listing kernel modules needed for activation. | |
2164 | Show available fields if report given invalid field. (e.g. lvs -o list) | |
2165 | Add timestamp functions with --disable-realtime configure option. | |
2166 | Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. | |
2167 | Fix two potential NULL pointer derefs in error cases in vg_read(). | |
2168 | Separate --enable-cluster from locking lib options in lvmconf.sh. | |
2169 | Add a missing comma in lvcreate man page. | |
2170 | ||
2171 | Version 2.02.10 - 19th September 2006 | |
2172 | ===================================== | |
2173 | Fix lvconvert mirror change case detection logic. | |
2174 | Fix mirror log detachment so it correctly becomes a standalone LV. | |
2175 | Extend _check_contiguous() to detect single-area LVs. | |
2176 | Include mirror log (untested) in _for_each_pv() processing. | |
2177 | Use MIRROR_LOG_SIZE constant. | |
2178 | Remove struct seg_pvs from _for_each_pv() to generalise. | |
2179 | Avoid adding duplicates to list of parallel PVs to avoid. | |
2180 | Fix several incorrect comparisons in parallel area avoidance code. | |
2181 | Fix segment lengths when flattening existing parallel areas. | |
2182 | Log existing parallel areas prior to allocation. | |
2183 | Fix mirror log creation when activation disabled. | |
2184 | Don't attempt automatic recovery without proper locking. | |
2185 | When using local file locking, skip clustered VGs. | |
2186 | Add fallback_to_clustered_locking and fallback_to_local_locking parameters. | |
2187 | lvm.static uses built-in cluster locking instead of external locking. | |
2188 | Don't attempt to load shared libraries if built statically. | |
2189 | Change default locking_lib to liblvm2clusterlock.so. | |
2190 | Add skip_dev_dir() to process command line VGs. | |
2191 | Stop clvmd complaining about nodes that have left the cluster. | |
2192 | Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. | |
2193 | Add lvconvert man page. | |
2194 | Add mirror options to man pages. | |
2195 | Prevent mirror renames. | |
2196 | Move CMDLIB code into separate file and record whether static build. | |
2197 | ||
2198 | Version 2.02.09 - 17th August 2006 | |
2199 | ================================== | |
2200 | Fix PE_ALIGN for pagesize over 32KB. | |
2201 | Separate out LVM1_PE_ALIGN and pe_align(). | |
2202 | Add lvm_getpagesize wrapper. | |
2203 | Add --maxphysicalvolumes to vgchange. | |
2204 | ||
2205 | Version 2.02.08 - 15th August 2006 | |
2206 | ================================== | |
2207 | Add checks for duplicate LV name, lvid and PV id before writing metadata. | |
2208 | Report all sanity check failures, not just the first. | |
2209 | Fix missing lockfs on first snapshot creation. | |
2210 | Add unreliable --trustcache option to reporting commands. | |
2211 | Fix locking for mimage removal. | |
2212 | Fix clvmd_init_rhel4 'status' exit code. | |
2213 | ||
2214 | Version 2.02.07 - 17th July 2006 | |
2215 | ================================ | |
2216 | Fix activation logic in lvchange --persistent. | |
2217 | Don't ignore persistent minor numbers when activating. | |
2218 | Use RTLD_GLOBAL when loading shared libraries. | |
2219 | Add some forgotten memlock checks to _vg_read to protect against full scans. | |
2220 | Add mutex to dmeventd_mirror to avoid concurrent execution. | |
2221 | Fix vgreduce --removemissing to return success if VG is already consistent. | |
2222 | Fix return code if VG specified on command line is not found. | |
2223 | Fix PV tools to include orphaned PVs in default output again. | |
2224 | Fixed unaligned access when using clvm. | |
2225 | Fix an extra dev_close in a label_read error path. | |
2226 | Append patches to commit emails. | |
2227 | Fix target_register_events args. | |
2228 | Prevent snapshots of mirrors. | |
2229 | Add DISTCLEAN_TARGETS to make template for configure.h. | |
2230 | More fixes to error paths. | |
2231 | Fix lvcreate corelog validation. | |
2232 | Add --config for overriding most config file settings from cmdline. | |
2233 | Quote arguments when printing command line. | |
2234 | Remove linefeed from 'initialising logging' message. | |
2235 | Add 'Completed' debug message. | |
2236 | Don't attempt library exit after reloading config files. | |
2237 | Always compile with libdevmapper, even if device-mapper is disabled. | |
2238 | ||
2239 | Version 2.02.06 - 12th May 2006 | |
2240 | =============================== | |
2241 | Propagate --monitor around cluster. | |
2242 | Add --monitor to vgcreate and lvcreate to control dmeventd registration. | |
2243 | Filter LCK_NONBLOCK in clvmd lock_vg. | |
2244 | Add --nosync to lvcreate with LV flag NOTSYNCED. | |
2245 | Use mirror's uuid for a core log. | |
2246 | Add mirror log fault-handling policy. | |
2247 | Improve mirror warning messages and tidy dmeventd syslog output. | |
2248 | Propagate nosync flag around cluster. | |
2249 | Allow vgreduce to handle mirror log failures. | |
2250 | Add --corelog to lvcreate and lvconvert. | |
2251 | Create a log header for replacement in-sync mirror log. | |
2252 | Use set_lv() and dev_set() to wipe sections of devices. | |
2253 | Add mirror_in_sync() flag to avoid unnecessary resync on activation. | |
2254 | Add mirror_library description to example.conf. | |
2255 | Fix uuid_from_num() buffer overrun. | |
2256 | Make SIZE_SHORT the default for display_size(). | |
2257 | Fix some memory leaks in error paths found by coverity. | |
2258 | Use C99 struct initialisers. | |
2259 | Move DEFS into configure.h. | |
2260 | Clean-ups to remove miscellaneous compiler warnings. | |
2261 | Improve stripe size validation. | |
2262 | Increase maximum stripe size limit to physical extent size for lvm2 metadata. | |
2263 | Fix activation code to check for pre-existing mirror logs. | |
2264 | Tighten region size validation. | |
2265 | Ignore empty strings in config files. | |
2266 | Require non-zero regionsize and document parameter on lvcreate man page. | |
2267 | Invalidate cache if composition of VG changed externally. | |
2268 | ||
2269 | Version 2.02.05 - 21st April 2006 | |
2270 | ================================= | |
2271 | Fix vgid string termination in recent cache code. | |
2272 | ||
2273 | Version 2.02.04 - 19th April 2006 | |
2274 | ================================= | |
2275 | Check for libsepol. | |
2276 | Add some cflow & scope support. | |
2277 | Separate out DEFS from CFLAGS. | |
2278 | Remove inlines and use unique function names. | |
2279 | ||
2280 | Version 2.02.03 - 14th April 2006 | |
2281 | ================================= | |
2282 | vgrename accepts vgid and exported VG. | |
2283 | Add --partial to pvs. | |
2284 | When choosing between identically-named VGs, also consider creation_host. | |
2285 | Provide total log suppression with 2. | |
2286 | Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct. | |
2287 | Add vgid to struct physical_volume and pass with vg_name to some functions. | |
2288 | If two or more VGs are found with the same name, use one that is not exported. | |
2289 | Whenever vgname is captured, also capture vgid and whether exported. | |
2290 | Remove an incorrect unlock_vg() from process_each_lv(). | |
2291 | Update extent size information in vgchange and vgcreate man pages. | |
2292 | Introduce origin_from_cow() and lv_is_visible(). | |
2293 | pvremove without -f now fails if there's no PV label. | |
2294 | Support lvconvert -s. | |
2295 | Suppress locking library load failure message if --ignorelockingfailure. | |
2296 | Propagate partial mode around cluster. | |
2297 | Fix archive file expiration. | |
2298 | Fix dmeventd build. | |
2299 | clvmd now uses libcman rather than cman ioctls. | |
2300 | clvmd will allow new cman to shutdown on request. | |
2301 | ||
2302 | Version 2.02.02 - 7th February 2006 | |
2303 | =================================== | |
2304 | Add %.so: %.a make template rule. | |
2305 | Switchover library building to use LIB_SUFFIX. | |
2306 | Only do lockfs filesystem sync when suspending snapshots. | |
2307 | Always print warning if activation is disabled. | |
2308 | vgreduce removes mirror images. | |
2309 | Add --mirrorsonly to vgreduce. | |
2310 | vgreduce replaces active LVs with error segment before removing them. | |
2311 | Set block_on_error parameter if available. | |
2312 | Add target_version. | |
2313 | Add details to format1 'Invalid LV in extent map' error message. | |
2314 | Fix lvscan snapshot full display. | |
2315 | Bring lvdisplay man page example into line. | |
2316 | Add mirror dmeventd library. | |
2317 | Add some activation logic to remove_mirror_images(). | |
2318 | lvconvert can remove specified PVs from a mirror. | |
2319 | lvconvert turns an existing LV into a mirror. | |
2320 | Allow signed mirrors arguments. | |
2321 | Move create_mirror_log() into toollib. | |
2322 | Determine parallel PVs to avoid with ALLOC_NORMAL allocation. | |
2323 | Fix lv_empty. | |
2324 | ||
2325 | Version 2.02.01 - 23rd November 2005 | |
2326 | ==================================== | |
2327 | Fix lvdisplay cmdline to accept snapshots. | |
2328 | Fix open RO->RW promotion. | |
2329 | Fix missing vg_revert in lvcreate error path. | |
2330 | ||
2331 | Version 2.02.00 - 10th November 2005 | |
2332 | ==================================== | |
2333 | Extend allocation areas to avoid overflow with contiguous with other PVs. | |
2334 | Stop lvcreate attempting to wipe zero or error segments. | |
2335 | Added new lvs table attributes. | |
2336 | Separated out activation preload. | |
2337 | Moved activation functions into libdevmapper. | |
2338 | Fixed build_dm_name. | |
2339 | Add return macros. | |
2340 | Added xen xvd devices. | |
2341 | Clear up precommitted metadata better. | |
2342 | A pvresize implementation. | |
2343 | Fix contiguous allocation when there are no preceding segments. | |
2344 | Add mirror_seg pointer to lv_segment struct. | |
2345 | Only keep a device open if it's known to belong to a locked VG. | |
2346 | Fix lvdisplay to show all mirror destinations. | |
2347 | Replacement suspend code using libdevmapper dependency tree. | |
2348 | Add DEFS to make.tmpl. | |
2349 | Use dm_is_dm_major instead of local copy. | |
2350 | Allow mapped devices to be used as PVs. | |
2351 | Move set_selinux_context into libdevmapper. | |
2352 | Fix automatic text metadata buffer expansion (using macro). | |
2353 | Cache formatted text metadata buffer between metadata area writes. | |
2354 | Add pe_start field to pvs. | |
2355 | Add 'LVM-' prefix to uuids. | |
2356 | Split lv_segment_area from lv_segment to permit extension. | |
2357 | Replacement deactivation code using libdevmapper dependency tree. | |
2358 | Simplify dev_manager_info(). | |
2359 | Attempt to load missing targets using modprobe. | |
2360 | Add -a to lvscan. | |
2361 | Move mknodes into libdevmapper. | |
2362 | Move bitset, hash, pool and dbg_malloc into libdevmapper. | |
2363 | ||
2364 | Version 2.01.15 - 16th October 2005 | |
2365 | =================================== | |
2366 | Refuse to run pvcreate/pvremove on devices we can't open exclusively. | |
2367 | Use ORPHAN lock definition throughout. | |
2368 | Validate chunksize in lvcreate. | |
2369 | Reduce chunksize limit to 512k. | |
2370 | Fix chunksize field in reports. | |
2371 | Don't hide snapshots from default 'lvs' output. | |
2372 | Add is_dm_major() for use in duplicate device detection in lvmcache_add(). | |
2373 | Really switch device number in lvmcache when it says it is doing so. | |
2374 | Option for bitset memory allocation using malloc as well as pool. | |
2375 | Don't assume exactly two mirrors when parsing mirror status. | |
2376 | Suppress fsync() error message on filesystems that don't support it. | |
2377 | Fix yes_no_prompt() error handling. | |
2378 | Add lvm.conf comment warning against multiple filter lines. | |
2379 | Tidy lvmconf.sh. | |
2380 | Add format1 dev_write debug messages. | |
2381 | Add clustered VG attribute to report. | |
2382 | Move lvconvert parameters into struct lvconvert_params. | |
2383 | Add clustered VG flag to LV lock requests. | |
2384 | Change LV locking macros to take lv instead of lvid. | |
2385 | Prepend 'cluster' activation parameter to mirror log when appropriate. | |
2386 | Pass exclusive flag to lv_activate and on to target activation code. | |
2387 | Prevent snapshot creation in a clustered VG for now. | |
2388 | Factor out adjusted_mirror_region_size() and generate_log_name_format(). | |
2389 | Move compose_log_line() into mirror directory. | |
2390 | Factor out _get_library_path(). | |
2391 | Don't kill idling clvmd threads. | |
2392 | clvmd no longer takes out locks for non-clustered LVs. | |
2393 | Recognise ATA over Ethernet (aoe) devices. | |
2394 | ||
2395 | Version 2.01.14 - 4th August 2005 | |
2396 | ================================= | |
2397 | Fix lvconvert PV parameter in help string. | |
2398 | Prevent snapshots getting activated in a clustered VG. | |
2399 | Separate out _build_dev_string. | |
2400 | Move zero_lv to toollib. | |
2401 | Fix pool format handler to work with pv segment code. | |
2402 | ||
2403 | Version 2.01.13 - 13th July 2005 | |
2404 | ================================ | |
2405 | Fix pvmove segment splitting. | |
2406 | Abstract vg_validate. | |
2407 | Only make one attempt at contiguous allocation. | |
2408 | Fix lvm1 format metadata read. | |
2409 | Fix lvm1 format non-mirror lvcreate. | |
2410 | ||
2411 | Version 2.01.12 - 14th June 2005 | |
2412 | ================================ | |
2413 | Various allocation-related pvmove fixes. | |
2414 | Log an error if clvmd can't resolve a host name got from CCS. | |
2415 | Fix potential spin loop in clvmd. | |
2416 | ||
2417 | Version 2.01.11 - 13th June 2005 | |
2418 | ================================ | |
2419 | Added lvmconf.sh. | |
2420 | Use matchpathcon mode parameter. | |
2421 | Don't defer closing dead FDs in clvmd. | |
2422 | Remove hard-coded 64k text metadata writing restriction. | |
2423 | Make VG name restrictions consistent. | |
2424 | Introduce lvconvert. So far only removes mirror images. | |
2425 | Allow mirror images to be resized. | |
2426 | Allow mirror images to have more than one segment. | |
2427 | Centralise restrictions on LV names. | |
2428 | Always insert an intermediate layer for mirrors. | |
2429 | Suppress hidden LVs from reports unless --all is given. | |
2430 | Use square brackets for hidden LVs in reports. | |
2431 | Allow the creation of mirrors with contiguous extents. | |
2432 | Always perform sanity checks against metadata before committing it to disk. | |
2433 | Split lv_extend into two steps: choosing extents + allocation to LV(s). | |
2434 | Add mirror log region size to metadata. | |
2435 | Use list_iterate_items throughout and add list*back macros. | |
2436 | Introduce seg_ macros to access areas. | |
2437 | Add segtype_is_ macros. | |
2438 | Support tiny metadata areas for pool conversions. | |
2439 | Mirror activation handles disk log as well as core. | |
2440 | Activation code recognises mirror log dependency. | |
2441 | Add mirror_log and regionsize fields to report. | |
2442 | Fix non-orphan pvchange -u. | |
2443 | Fix vgmerge to handle duplicate LVIDs. | |
2444 | Move archiver code from tools into library. | |
2445 | vgscan/change/display/vgs automatically create metadata backups if needed. | |
2446 | Merge cloned allocation functions. | |
2447 | Fix contiguous allocation policy with linear. | |
2448 | Cope with missing format1 PVs again. | |
2449 | Remove lists of free PV segments. | |
2450 | Simplify pv_maps code and remove slow bitset algorithm. | |
2451 | Red-Hat-ify the clvmd rhel4 initscript. | |
2452 | %Zu->%zu | |
2453 | Fix loopfiles alias alloc & mem debugging. | |
2454 | Un-inline dbg_strdup. | |
2455 | lv_reduce tidying. | |
2456 | Remove some unnecessary parameters. | |
2457 | Introduce seg_is macros. | |
2458 | ||
2459 | Version 2.01.10 - 3rd May 2005 | |
2460 | ============================== | |
2461 | Don't create backup and archive dirs till needed. | |
2462 | Reinstate full PV size when removing from VG. | |
2463 | Support loopfiles for testing. | |
2464 | Tidy lv_segment interface. | |
2465 | pv_segment support. | |
2466 | vgchange --physicalextentsize | |
2467 | Internal snapshot restructuring. | |
2468 | Remove unused internal non-persistent snapshot option. | |
2469 | Allow offline extension of snapshot volumes. | |
2470 | Move from 2-step to 3-step on-disk metadata commit. | |
2471 | Scan ramdisks too and allow non-O_DIRECT fallback. | |
2472 | Annotate, tidy and extend list.h. | |
2473 | Alignment tidying. | |
2474 | Make clvmd work around some "bugs" in gulm's node state notifications. | |
2475 | Tidy clvmd's SIGHUP handler | |
2476 | ||
2477 | Version 2.01.09 - 4th April 2005 | |
2478 | ================================ | |
2479 | Add --ignorelockingfailure to vgmknodes. | |
2480 | clvmd: Don't allow user operations to start until the lvm thread is fully up. | |
2481 | clvmd-gulm: set KEEPALIVE on sockets. | |
2482 | ||
2483 | Version 2.01.08 - 22nd March 2005 | |
2484 | ================================= | |
2485 | Add clustered attribute so vgchange can identify clustered VGs w/o locking. | |
2486 | Improve detection of external changes affecting internal cache. | |
2487 | Add 'already in device cache' debug message. | |
2488 | Add -a to pvdisplay -C. | |
2489 | Avoid rmdir opendir error messsages when dir was already removed. | |
2490 | Tighten signal handlers. | |
2491 | Avoid some compiler warnings. | |
2492 | Additional rename failure error message. | |
2493 | read/write may be macros. | |
2494 | clvmd: don't take out lvm thread lock at startup, it only protects jobs list. | |
2495 | ||
2496 | Version 2.01.07 - 8th March 2005 | |
2497 | ================================ | |
2498 | Cope with new devices appearing by rescanning /dev if a uuid can't be found. | |
2499 | Remove DESTDIR from LVM_SHARED_PATH. | |
2500 | clvmd fixes: make FDs close-on-exec | |
2501 | gulm unlocks VG & orphan locks at startup in case they are stale | |
2502 | gulm now unlocks VG & orphan locks if client dies. | |
2503 | ||
2504 | Version 2.01.06 - 1st March 2005 | |
2505 | ================================ | |
2506 | Suppress 'open failed' error messages during scanning. | |
2507 | Option to suppress warnings of file descriptors left open. | |
2508 | Fix default value of metadatacopies in documentation (2->1). | |
2509 | Fix clvmd-gulm locking. | |
2510 | ./configure --enable-debug now enables debugging code in clvmd. | |
2511 | Fix clvmd-gulm node up/down code so it actually works. | |
2512 | clvmd-gulm now releases locks when shut down. | |
2513 | ||
2514 | Version 2.01.05 - 18th February 2005 | |
2515 | ==================================== | |
2516 | Static binary invokes dynamic binary if appropriate. | |
2517 | Make clvmd config check a little more tolerant. | |
2518 | gulm clvmd can now cope with >1 message arriving in a TCP message. | |
2519 | ||
2520 | Version 2.01.04 - 9th February 2005 | |
2521 | =================================== | |
2522 | Add fixed offset to imported pool minor numbers. | |
2523 | Update binary pathnames in clvmd_init_rhel4. | |
2524 | lvm2cmd.so should skip the check for open fds. | |
2525 | Remove unused -f from pvmove. | |
2526 | Gulm clvmd doesn't report "connection refused" errors. | |
2527 | clvmd does a basic config file sanity check at startup. | |
2528 | Fix potential thread shutdown race in clvmd. | |
2529 | ||
2530 | Version 2.01.03 - 1st February 2005 | |
2531 | =================================== | |
2532 | More 64-bit display/report fixes. | |
2533 | More informative startup mesg if can't create /etc/lvm. | |
2534 | Fix snapshot device size bug (since 2.01.01). | |
2535 | clvmd announces startup and cluster connection in syslog. | |
2536 | Gulm clvmd doesn't hang trying to talk to a rebooted node. | |
2537 | Gulm clvmd doesn't print cman error on startup. | |
2538 | ||
2539 | Version 2.01.02 - 21st January 2005 | |
2540 | =================================== | |
2541 | Update clvmd_init_rhel4: use lvm.static and don't load dlm. | |
2542 | Fix some size_t printing. | |
2543 | Fix 64 bit xlate consts. | |
2544 | Split out pool sptype_names to avoid unused const. | |
2545 | Always fail if random id generation fails. | |
2546 | Recognise gnbd devices. | |
2547 | Fix clvmd startup bug introduced in cman/gulm amalgamation. | |
2548 | Improve reporting of node-specific locking errors. | |
2549 | ||
2550 | Version 2.01.01 - 19th January 2005 | |
2551 | =================================== | |
2552 | Fix clvmd lv_info_by_lvid open_count. | |
2553 | Store snapshot and origin sizes separately. | |
2554 | Update vgcreate man page. | |
2555 | ||
2556 | Version 2.01.00 - 17th January 2005 | |
2557 | =================================== | |
2558 | Fix vgscan metadata auto-correction. | |
2559 | Only ask libdevmapper for open_count when we need it. | |
2560 | Adjust RHEL4 clvmd init script priority. | |
2561 | Enable building of CMAN & GULM versions of clvmd into a single binary | |
2562 | ||
2563 | Version 2.00.33 - 7th January 2005 | |
2564 | ================================== | |
2565 | pvcreate wipes first 4 sectors unless given --zero n. | |
2566 | gulm clvmd now uses new ccsd key names. | |
2567 | gulm clvmd now doesn't ignore the first node in cluster.conf | |
2568 | Improve clvmd failure message if it's already running. | |
2569 | Allow user to kill clvmd during initialisation. | |
2570 | Fix off-by-one error in cluster_locking that could cause read hangs. | |
2571 | ||
2572 | Version 2.00.32 - 22nd December 2004 | |
2573 | ==================================== | |
2574 | Drop static/dl restriction for now. | |
2575 | Fix an error fprintf. | |
2576 | Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. | |
2577 | Fix device reference counting on re-opens. | |
2578 | Ignore sysfs symlinks when DT_UNKNOWN. | |
2579 | Add clvmd init script for RHEL4. | |
2580 | Skip devices that are too small to be PVs. | |
2581 | Fix pvchange -x segfault with lvm2-format orphan. | |
2582 | Cope with empty msdos partition tables. | |
2583 | Add CONTRIBUTORS file. | |
2584 | ||
2585 | Version 2.00.31 - 12th December 2004 | |
2586 | ==================================== | |
2587 | Reopen RO file descriptors RW if necessary. | |
2588 | ||
2589 | Version 2.00.30 - 10th December 2004 | |
2590 | ==================================== | |
2591 | Additional device-handling debug messages. | |
2592 | Additional verbosity level -vvvv includes line numbers and backtraces. | |
2593 | Verbose messages now go to stderr not stdout. | |
2594 | Close any stray file descriptors before starting. | |
2595 | Refine partitionable checks for certain device types. | |
2596 | Allow devices/types to override built-ins. | |
2597 | Fix lvreduce man page .i->.I | |
2598 | Fix vgsplit man page title. | |
2599 | Fix clvmd man makefile. | |
2600 | Extend dev_open logging. | |
2601 | Make clvmd_fix_conf.sh UNDOable. | |
2602 | ||
2603 | Version 2.00.29 - 27th November 2004 | |
2604 | ==================================== | |
2605 | xlate compilation fix. | |
2606 | ||
2607 | Version 2.00.28 - 27th November 2004 | |
2608 | ==================================== | |
2609 | Fix partition table & md signature detection. | |
2610 | Minor configure/makefile tidy. | |
2611 | Export version.h from tools for clvmd. | |
2612 | ||
2613 | Version 2.00.27 - 24th November 2004 | |
2614 | ==================================== | |
2615 | Trap large memory allocation requests. | |
2616 | Fix to partition table detection code. | |
2617 | Improve filter debug mesgs. | |
2618 | Make clvmd_fix_conf.sh UNDOable | |
2619 | ||
2620 | Version 2.00.26 - 23rd November 2004 | |
2621 | ==================================== | |
2622 | Improve pool debugging stats. | |
2623 | Detect partition table signature. | |
2624 | pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) | |
2625 | Separate out md superblock detection code. | |
2626 | Prevent snapshot origin resizing. | |
2627 | Improve a vgremove error message. | |
2628 | Update some man pages. | |
2629 | Allow y/n with -ae args (exclusive activation). | |
2630 | Fixes to lvcreate vgname parsing. | |
2631 | Fix dm_name string size calculation. | |
2632 | Improve clvmd error reporting during startup. | |
2633 | Make clvmd cope with large gaps in node numbers IDs. | |
2634 | Make clvmd initialisation cope better with debugging output. | |
2635 | Tidy clvmd socket callbacks so all work happens outside main loop. | |
2636 | clvmd -V now displays lvm version too. | |
2637 | Add optional gulm build for clvmd | |
2638 | ||
2639 | Version 2.00.25 - 29th September 2004 | |
2640 | ===================================== | |
2641 | Fix return code from rm_link for vgmknodes. | |
2642 | Make clvmd LV hash table thread-safe. | |
2643 | Fix clvmd locking so it will lock out multiple users on the same node. | |
2644 | Fix clvmd VG locking to it can cope with multiple VG locks. | |
2645 | Remove spurious trailing dot in lvreduce man page. | |
2646 | Fix vgremove locking. | |
2647 | ||
2648 | Version 2.00.24 - 16th September 2004 | |
2649 | ===================================== | |
2650 | Fix pool_empty so it really does empty the memory pool. | |
2651 | Rename old segtypes files to segtype. | |
2652 | Some fixes to memory debugging code. | |
2653 | Exclude internal commands formats & segtypes from install. | |
2654 | ||
2655 | Version 2.00.23 - 15th September 2004 | |
2656 | ===================================== | |
2657 | Export dm name build & split functions. | |
2658 | Use O_NOATIME on devices if available. | |
2659 | Write log message when each segtype/format gets initialised. | |
2660 | New commands 'segtypes' and 'formats'. | |
2661 | Suppress pvmove abort message in test mode. | |
2662 | Improve pvcreate/remove device not found error message. | |
2663 | Allow pvmove to move data within the same PV. | |
2664 | Describe how pvmove works on man page. | |
2665 | Test for incompatible format/segtype combinations in lv_extend. | |
2666 | Fix lvchange example on man page. | |
2667 | ||
2668 | Version 2.00.22 - 3rd September 2004 | |
2669 | ==================================== | |
2670 | Fix /dev/vgname perms. | |
2671 | Restructure xlate.h. | |
2672 | Add clvmd man page. | |
2673 | ||
2674 | Version 2.00.21 - 19th August 2004 | |
2675 | ================================== | |
2676 | Update cnxman-socket.h from cman. | |
2677 | Recognise iseries/vd devices. | |
2678 | Use 'make install_cluster' to install cluster extensions only. | |
2679 | Cope with DT_UNKNOWN in sysfs. | |
2680 | Fix extents_moved metadata size comment. | |
2681 | Remove duplicate line in pvremove help text. | |
2682 | Support variable mirror region size. | |
2683 | Support PE ranges in pvmove source PV. | |
2684 | Fixes to as-yet-unused LV segment splitting code. | |
2685 | Change alloc_areas to pe_ranges and allow suppression of availability checks. | |
2686 | Add dev_size column to pvs. | |
2687 | Add report columns for in-kernel device number. | |
2688 | ||
2689 | Version 2.00.20 - 3 July 2004 | |
2690 | ============================= | |
2691 | More autoconf fixes. | |
2692 | Fix device number handling for 2.6 kernels. | |
2693 | ||
2694 | Version 2.00.19 - 29 June 2004 | |
2695 | ============================== | |
2696 | Reduce severity of setlocale failure message. | |
2697 | Recognise argv[0] "initrd-lvm" (pld-linux). | |
2698 | Make -O2 configurable. | |
2699 | Added --disable-selinux to configure script. | |
2700 | LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. | |
2701 | Add init_debug to clvmd. | |
2702 | ||
2703 | Version 2.00.18 - 24 June 2004 | |
2704 | ============================== | |
2705 | Fix vgchange activation. | |
2706 | Add cluster support. | |
2707 | ||
2708 | Version 2.00.17 - 20 June 2004 | |
2709 | ============================== | |
2710 | configure --enable-fsadm to try out fsadm. fsadm is not tested yet. | |
2711 | Display all filtered devices, not just PVs, with pvs -a. | |
2712 | Fix sync_dir() when no / in filename | |
2713 | vgcfgbackup -f accepts template with %s for VG name. | |
2714 | Extend hash functions to handle non-null-terminated data. | |
2715 | Add local activation support. | |
2716 | Tidy relative paths in makefile includes. | |
2717 | fsadm support for fsck and resizing - needs testing. | |
2718 | Add read-only GFS pool support. | |
2719 | Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ | |
2720 | Fix rounding of large diplayed sizes. | |
2721 | Suppress decimal point when using units of sectors/bytes. | |
2722 | Additional kernel target checks before pvmove & snapshot creation. | |
2723 | Add i2o_block. | |
2724 | ||
2725 | Version 2.00.16 - 24 May 2004 | |
2726 | ============================= | |
2727 | Set area_count within alloc_lv_segment. | |
2728 | Remove error labels from lvresize. | |
2729 | Fix a pvs error path. | |
2730 | xxchange -ae for exclusive activation. | |
2731 | Don't return non-zero status if there aren't any volume groups. | |
2732 | Add --alloc argument to tools. | |
2733 | Rename allocation policies to contiguous, normal, anywhere, inherit. | |
2734 | nextfree becomes normal; anywhere isn't implemented yet. | |
2735 | LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal | |
2736 | Additional status character added to vgs to indicate allocation policy. | |
2737 | Add reset_fn to external_locking. | |
2738 | Ensure presence of virtual targets before attempting activating. | |
2739 | Attempt to fix resizing of snapshot origins. | |
2740 | Restructure lvresize, bringing it closer to lvcreate. | |
2741 | A quick sanity check on vg_disk struct when read in. More checks needed. | |
2742 | Only include visible LVs in active/open counts. | |
2743 | Add virtual segment types, zero and error. A large sparse device can be | |
2744 | constructed as a writeable snapshot of a large zero segment. | |
2745 | Add --type to lvcreate/resize. | |
2746 | Push lv_create & alloc policy up to tool level. | |
2747 | Fix pvdisplay return code. | |
2748 | Detect invalid LV names in arg lists. | |
2749 | Reporting uses line-at-a-time output. | |
2750 | lvm2 format sets unlimited_vols format flag. | |
2751 | Internal-only metadata flag support. | |
2752 | Basic checking for presence of device-mapper targets. | |
2753 | Separate out polldaemon. | |
2754 | Revise internal locking semantics. | |
2755 | Move find_pv_by_name to library. | |
2756 | Rename move->copy. | |
2757 | Add devices to segments report. | |
2758 | Begin separating out segment code. There's a lot of change here. | |
2759 | Compress any (obsolete) long LVM1 pvids encountered. | |
2760 | Support for tagged config files. | |
2761 | Don't abort operations if selinux present but disabled. | |
2762 | Fix typo in configure which left HAVE_LIBDL unset. | |
2763 | ||
2764 | Version 2.00.15 - 19 Apr 2004 | |
2765 | ============================= | |
2766 | configure --with-owner= --with-group= to avoid -o and -g args to 'install' | |
2767 | ||
2768 | Version 2.00.14 - 16 Apr 2004 | |
2769 | ============================= | |
2770 | Use 64-bit file functions by default. | |
2771 | ||
2772 | Version 2.00.13 - 16 Apr 2004 | |
2773 | ============================= | |
2774 | Set devices/md_component_detection = 1 to ignore devices containing md | |
2775 | superblocks. [Luca Berra] | |
2776 | Ignore error setting selinux file context if fs doesn't support it. | |
2777 | ||
2778 | Version 2.00.12 - 14 Apr 2004 | |
2779 | ============================= | |
2780 | Install a default lvm.conf into /etc/lvm if there isn't one already. | |
2781 | Allow different installation dir for lvm.static (configure --staticdir=) | |
2782 | Fix inverted selinux error check. | |
2783 | Recognise power2 in /proc/devices. | |
2784 | Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.] | |
2785 | ||
2786 | Version 2.00.11 - 8 Apr 2004 | |
2787 | ============================ | |
2788 | Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback) | |
2789 | to run lvm1 binaries if running a 2.4 kernel without device-mapper. | |
2790 | ||
2791 | Version 2.00.10 - 7 Apr 2004 | |
2792 | ============================ | |
2793 | More fixes for static build. | |
2794 | Add basic selinux support. | |
2795 | Fix sysfs detection. | |
2796 | ||
2797 | Version 2.00.09 - 31 Mar 2004 | |
2798 | ============================= | |
2799 | Update copyright notices for Red Hat. | |
2800 | Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd). | |
2801 | Add LVM1-style colon output to vgdisplay. | |
2802 | lvchange --refresh to reload active LVs. | |
2803 | Add string display to memory leak dump. | |
2804 | Add locking flags & memlock option. | |
2805 | Add list_versions to library. | |
2806 | Ignore open hidden LVs when checking if deactivation is OK. | |
2807 | Suppress move percentage when device inactive. | |
2808 | Add lv_info_by_lvid. | |
2809 | Various tidy-ups to the build process. | |
2810 | Rebaseline internal verbose level. | |
2811 | Add --nolocking option for read operations if locking is failing. | |
2812 | Add option to compile into a library. | |
2813 | When compiled without libdevmapper, only print warning message once. | |
2814 | Fix lvreduce PV extent calculations. | |
2815 | Fix DESTDIR to work with configure path overrides. | |
2816 | Always use / as config file separator & rename internal config file variables. | |
2817 | Add support for tagging PV/VG/LVs and hosts. | |
2818 | Fix rare bug in recognition of long cmdline argument forms. | |
2819 | Add basic internationalisation infrastructure. | |
2820 | Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels. | |
2821 | Update autoconf files. | |
2822 | Add sysfs block device filtering for 2.6 kernels. | |
2823 | Update refs for move to sources.redhat.com. | |
2824 | ||
2825 | Friday 14th November 2003 | |
2826 | ========================= | |
2827 | Some bug fixes & minor enhancements, including: | |
2828 | Backwards compatibility with LVM1 metadata improved. | |
2829 | Missing man pages written. | |
2830 | Tool error codes made more consistent. | |
2831 | vgmknodes written. | |
2832 | O_DIRECT can be turned off if it doesn't work in your kernel. | |
2833 | dumpconfig to display the active configuration file | |
2834 | ||
2835 | You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'. | |
2836 | If your root filesystem is on an LV, you should run one of those two | |
2837 | commands to fix up the special files in /dev in your real root filesystem | |
2838 | after finishing with your initrd. Also, remember you can use | |
2839 | 'vgchange --ignorelockingfailure' on your initrd if the tool fails because | |
2840 | it can't write a lock file to a read-only filesystem. | |
2841 | ||
2842 | Wednesday 30th April 2003 | |
2843 | ========================= | |
2844 | A pvmove implementation is now available for the new metadata format. | |
2845 | ||
2846 | When running a command that allocates space (e.g. lvcreate), you can now | |
2847 | restrict not only which disk(s) may be used but also the Physical Extents | |
2848 | on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 | |
2849 | ||
2850 | ||
2851 | Monday 18th November 2002 | |
2852 | ======================== | |
2853 | ||
2854 | The new format of LVM metadata is ready for you to test! | |
2855 | We expect it to be more efficient and more robust than the original format. | |
2856 | It's more compact and supports transactional changes and replication. | |
2857 | Should things go wrong on a system, it's human-readable (and editable). | |
2858 | ||
2859 | Please report any problems you find to the mailing list, | |
2860 | linux-lvm@sistina.com. The software has NOT yet been thoroughly | |
2861 | tested and so quite possibly there'll still be some bugs in it. | |
2862 | Be aware of the disclaimer in the COPYING file. | |
2863 | ||
2864 | While testing, we recommend turning logging on in the configuration file | |
2865 | to provide us with diagnostic information: | |
2866 | log { | |
2867 | file="/tmp/lvm2.log" | |
2868 | level=7 | |
2869 | activation=1 | |
2870 | } | |
2871 | ||
2872 | You should schedule regular backups of your configuration file and | |
2873 | metadata backups and archives (normally kept under /etc/lvm). | |
2874 | ||
2875 | Please read docs/example.conf and "man lvm.conf" to find out more about | |
2876 | the configuration file. | |
2877 | ||
2878 | To convert an existing volume group called vg1 to the new format using | |
2879 | the default settings, use "vgconvert -M2 vg1". See "man vgconvert". | |
2880 | ||
2881 | -M (or --metadatatype in its long form) is a new flag to indicate which | |
2882 | format of metadata the command should use for anything it creates. | |
2883 | Currently, the valid types are "lvm1" and "lvm2" and they can be | |
2884 | abbreviated to "1" and "2" respectively. The default value for this | |
2885 | flag can be changed in the global section in the config file. | |
2886 | ||
2887 | Backwards-compatible support for the original LVM1 metadata format is | |
2888 | maintained, but it can be moved into a shared library or removed | |
2889 | completely with configure's --with-lvm1 option. | |
2890 | ||
2891 | Under LVM2, the basic unit of metadata is the volume group. Different | |
2892 | volume groups can use different formats of metadata - vg1 could use | |
2893 | the original LVM1 format while vg2 used the new format - but you can't | |
2894 | mix formats within a volume group. So to add a PV to an LVM2-format | |
2895 | volume group you must run "pvcreate -M2" on it, followed by "vgextend". | |
2896 | ||
2897 | With LVM2-format metadata, lvextend will let you specify striping | |
2898 | parameters. So an LV could consist of two or more "segments" - the | |
2899 | first segment could have 3 stripes while the second segment has just 2. | |
2900 | ||
2901 | LVM2 maintains a backup of the current metadata for each volume group | |
2902 | in /etc/lvm/backup, and puts copies of previous versions in | |
2903 | /etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to | |
2904 | create and restore from these files. If you fully understand what | |
2905 | you're doing, metadata can be changed by editing a copy of a current | |
2906 | backup file and using vgcfgrestore to reload it. | |
2907 | ||
2908 | Please read the pvcreate man page for more information on the new | |
2909 | format for metadata. | |
2910 | ||
2911 | All tools that can change things have a --test flag which can be used | |
2912 | to check the effect of a set of cmdline args without really making the | |
2913 | changes. | |
2914 | ||
2915 | ||
2916 | What's not finished? | |
2917 | ==================== | |
2918 | The internal cache. If you turn on debugging output you'll see lots of | |
2919 | repeated messages, many of which will eventually get optimised out. | |
2920 | ||
2921 | --test sometimes causes a command to fail (e.g. vgconvert --test) even | |
2922 | though the real command would work: again, fixing this is waiting for | |
2923 | the work on the cache. | |
2924 | ||
2925 | Several of the tools do not yet contain the logic to handle full | |
2926 | recovery: combinations of pvcreate and vgcfgrestore may sometimes be | |
2927 | needed to restore metadata if a tool gets interrupted or crashes or | |
2928 | finds something unexpected. This applies particularly to tools that | |
2929 | work on more than one volume group at once (e.g. vgsplit). | |
2930 | ||
2931 | Display output. Some metadata information cannot yet be displayed. | |
2932 | ||
2933 | Recovery tools to salvage "lost" metadata directly from the disks: | |
2934 | but we hope the new format will mean such tools are hardly ever needed! |