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