1 1.1.1.3 haad Version 2.02.56 - 24th November 2009 2 1.1.1.3 haad ==================================== 3 1.1.1.3 haad Add missing vg_release to pvs and pvdisplay to fix memory leak. 4 1.1.1.3 haad Do not try to unlock VG which is not locked in _process_one_vg. 5 1.1.1.3 haad Move is_long_lived persistent_filter_dump to happen after every full scan. 6 1.1.1.3 haad Refresh device filters before full device rescan in lvmcache. 7 1.1.1.3 haad Return error status if vgchange fails to activate some volume. 8 1.1.1.3 haad Fix suspend/resume lock type test causing unbalanced memory locking. 9 1.1.1.3 haad Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55) 10 1.1.1.3 haad 11 1.1.1.3 haad Version 2.02.55 - 19th November 2009 12 1.1.1.3 haad ==================================== 13 1.1.1.3 haad Fix deadlock when changing mirrors due to unpaired memlock refcount changes. 14 1.1.1.3 haad Use separate memlock counter for dmeventd handlers to permit device scanning. 15 1.1.1.3 haad Directly restrict vgchange to activating visible LVs. 16 1.1.1.3 haad Fix pvmove region_size overflow for very large PVs. 17 1.1.1.3 haad Fix lvcreate and lvresize %PVS argument always to use sensible total size. 18 1.1.1.3 haad Tidy some uses of arg_count and introduce arg_is_set. 19 1.1.1.3 haad Export outnl and indent functions for modules. 20 1.1.1.3 haad Flush stdout after yes/no prompt. 21 1.1.1.3 haad Update vgsplit and vgcreate to use vg_set_clustered. 22 1.1.1.3 haad Add vg_mda_count and vg_set_clustered library functions. 23 1.1.1.3 haad Add more vgcreate and vgsplit nightly tests. 24 1.1.1.3 haad Insert some missing stack macros into activation code. 25 1.1.1.3 haad Recognise DRBD devices and handle them like md devices. 26 1.1.1.3 haad 27 1.1.1.3 haad Version 2.02.54 - 26th October 2009 28 1.1.1.3 haad =================================== 29 1.1.1.3 haad Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter. 30 1.1.1.3 haad Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages. 31 1.1.1.3 haad Permit snapshots of mirrors. 32 1.1.1.3 haad Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. 33 1.1.1.3 haad Fix clvmd segfault when refresh_toolcontext fails. 34 1.1.1.3 haad Remember to clear 'global lock held during cache refresh' state after use. 35 1.1.1.3 haad Use udev flags support in LVM and apply various fixes to udev rules. 36 1.1.1.3 haad Delay announcing mirror monitoring to syslog until initialisation succeeded. 37 1.1.1.3 haad Handle metadata with unknown segment types more gracefully. 38 1.1.1.3 haad Set default owner and group to null. 39 1.1.1.3 haad Add dmeventd.static to the build. 40 1.1.1.3 haad Disable realtime support code by default. 41 1.1.1.3 haad Make clvmd return 0 on success rather than 1. 42 1.1.1.3 haad Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. 43 1.1.1.3 haad Add implict pvcreate support to vgcreate and vgextend. 44 1.1.1.3 haad Correct example.conf to indicate that lvm2 not lvm1 is the default format. 45 1.1.1.3 haad Remove an unused stray LVM1_SUPPORT ifdef. 46 1.1.1.3 haad Only include selinux libs in libdevmapper.pc when selinux build enabled. 47 1.1.1.3 haad Allow for a build directory separate from the source. 48 1.1.1.3 haad Update distclean target for rename clogd to cmirrord. (2.02.52) 49 1.1.1.3 haad Only do lock conversions in clvmd if we are explicitly asked for one. 50 1.1.1.3 haad Introduce percent_range_t and centralise snapshot full/mirror in-sync checks. 51 1.1.1.3 haad Factor out poll_mirror_progress and introduce progress_t. 52 1.1.1.3 haad Distinguish between powers of 1000 and powers of 1024 in unit suffixes. 53 1.1.1.3 haad Restart lvconverts in vgchange by sharing lv_spawn_background_polling. 54 1.1.1.3 haad Generalise polldaemon code by changing mirror-specific variable names. 55 1.1.1.3 haad Don't attempt to deactivate an LV if any of its snapshots are in use. 56 1.1.1.3 haad Return error if lv_deactivate fails to remove device from kernel. 57 1.1.1.3 haad Provide alternative implementation of obsolete siginterrupt(). 58 1.1.1.3 haad Consolidate LV allocation into alloc_lv(). 59 1.1.1.3 haad Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) 60 1.1.1.3 haad Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. 61 1.1.1.3 haad Add configure --enable-units-compat to set si_unit_consistency off by default. 62 1.1.1.3 haad Add global/si_unit_consistency to enable cleaned-up use of units in output. 63 1.1.1.3 haad 64 1.1.1.3 haad Version 2.02.53 - 25th September 2009 65 1.1.1.3 haad ===================================== 66 1.1.1.3 haad Create any directories in /dev with DM_DEV_DIR_UMASK (022). 67 1.1.1.3 haad Enable dmeventd monitoring section of config file by default. 68 1.1.1.3 haad Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in. 69 1.1.1.3 haad Fix lvm2app test to run under test/api subdirectory only when configured. 70 1.1.1.3 haad Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE. 71 1.1.1.3 haad 72 1.1.1.3 haad Version 2.02.52 - 15th September 2009 73 1.1.1.3 haad ===================================== 74 1.1.1.3 haad Update _process_one_vg to cleanup properly after vg_read_error. 75 1.1.1.3 haad Add lots of missing stack debug messages to tools. 76 1.1.1.3 haad Make readonly locking available as locking type 4. 77 1.1.1.3 haad Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49) 78 1.1.1.3 haad Add DM_UDEV_RULES_VSN environment variable to udev rules. 79 1.1.1.3 haad Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules. 80 1.1.1.3 haad Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t. 81 1.1.1.3 haad Enforce an alphabetical lock ordering on vgname locking. 82 1.1.1.3 haad Prioritise write locks over read locks by default for file locking. 83 1.1.1.3 haad Add local lock files with suffix ':aux' to serialise locking requests. 84 1.1.1.3 haad Fix global locking in PV reporting commands (2.02.49). 85 1.1.1.3 haad Fix pvcreate string termination in duplicate uuid warning message. 86 1.1.1.3 haad Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51). 87 1.1.1.3 haad Fix vgcfgrestore error paths when locking fails (2.02.49). 88 1.1.1.3 haad Update Makefile distclean target. 89 1.1.1.3 haad Add libudev configuration check. 90 1.1.1.3 haad Make clvmd check corosync to see what cluster interface it should use. 91 1.1.1.3 haad Add clvmd autodetection check and cleanup related configure messages. 92 1.1.1.3 haad Rewrite clvmd configuration code to cope with all combinations of libs. 93 1.1.1.3 haad Added configure --enable-cmirrord to build the cluster mirror log daemon. 94 1.1.1.3 haad Rename clogd to cmirrord. 95 1.1.1.3 haad Make lvchange --refresh only take a read lock on volume group. 96 1.1.1.3 haad Fix race where non-blocking file locks could be granted in error. 97 1.1.1.3 haad Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49). 98 1.1.1.3 haad Fix compile warning in clvmd. 99 1.1.1.3 haad Clarify use of PE ranges in lv{convert|create|extend|resize} man pages. 100 1.1.1.3 haad Remove useless _pv_write wrapper. 101 1.1.1.3 haad Add lvm2app.sh to tests conditional upon configure --enable-applib. 102 1.1.1.3 haad Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial. 103 1.1.1.3 haad Update lvm_vg_remove to require lvm_vg_write to commit remove to disk. 104 1.1.1.3 haad Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. 105 1.1.1.3 haad 106 1.1.1.3 haad Version 2.02.51 - 6th August 2009 107 1.1.1.3 haad ================================= 108 1.1.1.3 haad Fix locking in clvmd (2.02.50). 109 1.1.1.3 haad Add --noudevsync option for relevant LVM tools. 110 1.1.1.3 haad Add activation/udev_sync to lvm.conf. 111 1.1.1.3 haad Only change LV symlinks on ACTIVATE not PRELOAD. 112 1.1.1.3 haad Make lvconvert honour log mirror options combined with downconversion. 113 1.1.1.3 haad Allow LV suspend while --ignorelockingfailure is in force. 114 1.1.1.3 haad Update synopsis in lvconvert manpage to mention --repair. 115 1.1.1.3 haad Set cookies in activation code and wait for udev to complete processing. 116 1.1.1.3 haad Added configure --enable-udev_rules --enable-udev_sync. 117 1.1.1.3 haad Added configure --with-udev-prefix --with-udevdir. 118 1.1.1.3 haad Added udev dir to hold udev rules. 119 1.1.1.3 haad Add devices/data_alignment_detection to lvm.conf. 120 1.1.1.3 haad Add devices/data_alignment_offset_detection to lvm.conf. 121 1.1.1.3 haad Add --dataalignmentoffset to pvcreate to shift start of aligned data area. 122 1.1.1.3 haad Fix _mda_setup() to not check first mda's size before pe_align rounding. 123 1.1.1.3 haad Document -I option of clvmd in the man page. 124 1.1.1.3 haad Fix configure script to handle multiple clvmd selections. 125 1.1.1.3 haad Fix lvm2app.pc installation filename. 126 1.1.1.3 haad Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them. 127 1.1.1.3 haad Rename lvm.h to lvm2app.h for now. 128 1.1.1.3 haad 129 1.1.1.3 haad Version 2.02.50 - 28th July 2009 130 1.1.1.3 haad ================================ 131 1.1.1.3 haad Change test/api/test.c prompt so it's not confused with the main lvm prompt. 132 1.1.1.3 haad Update liblvm unit tests in test/api to cover latest liblvm changes. 133 1.1.1.3 haad Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm. 134 1.1.1.3 haad Add lvm_library_get_version to liblvm. 135 1.1.1.3 haad Add lvm_config_override to liblvm to allow caller to override LVM config. 136 1.1.1.3 haad Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm. 137 1.1.1.3 haad Add lvm_lv_activate and lvm_lv_deactivate to liblvm. 138 1.1.1.3 haad Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm. 139 1.1.1.3 haad Add functions to get numeric properties to liblvm. 140 1.1.1.3 haad Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm. 141 1.1.1.3 haad Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm. 142 1.1.1.3 haad Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm. 143 1.1.1.3 haad Add lvm_list_vg_names/uuids to liblvm. 144 1.1.1.3 haad Add lvm_errno and lvm_errmsg to liblvm to obtain failure information. 145 1.1.1.3 haad Rename lvm_create/destroy to lvm_init/quit. 146 1.1.1.3 haad Rename lvm_reload_config to lvm_config_reload. 147 1.1.1.3 haad Refactor _override_settings to use new override_config_tree_from_string. 148 1.1.1.3 haad Add vg_reduce to metadata.c and metadata-exported.h. 149 1.1.1.3 haad Update lvm.h to clarify API behavior and return codes. 150 1.1.1.3 haad Update lvm_vg_extend to do an implicit pvcreate on the device. 151 1.1.1.3 haad Update display.c to use vg_free(vg) instead of duplicating the calculation. 152 1.1.1.3 haad Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm. 153 1.1.1.3 haad Refactor pvcreate and lvcreate for liblvm. 154 1.1.1.3 haad Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled. 155 1.1.1.3 haad All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros. 156 1.1.1.3 haad Fix race condition with vgcreate and vgextend on same device (2.02.49). 157 1.1.1.3 haad Remove redundant validate_name call from vgreduce. 158 1.1.1.3 haad Remove unused handles lvseg, pvseg inside liblvm/lvm.h. 159 1.1.1.3 haad Add liblvm2app Makefile installation targets. 160 1.1.1.3 haad Add liblvm pkgconfig file. 161 1.1.1.3 haad Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1. 162 1.1.1.3 haad Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm. 163 1.1.1.3 haad Pass a pointer to struct cmd_context to init_multiple_segtypes 164 1.1.1.3 haad Return EINVALID_CMD_LINE not success when invalid VG name format is used. 165 1.1.1.3 haad Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49). 166 1.1.1.3 haad Add log_errno to set a specific errno and replace log_error in due course. 167 1.1.1.3 haad Change create_toolcontext to still return an object if it fails part-way. 168 1.1.1.3 haad Add EUNCLASSIFIED (-1) as the default LVM errno code. 169 1.1.1.3 haad Store any errno and error messages issued while processing each command. 170 1.1.1.3 haad Use log_error macro consistently throughout in place of log_err. 171 1.1.1.3 haad 172 1.1.1.3 haad Version 2.02.49 - 15th July 2009 173 1.1.1.3 haad ================================ 174 1.1.1.3 haad Add readonly locking type to replace implementation of --ignorelockingfailure. 175 1.1.1.3 haad Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again. 176 1.1.1.3 haad Add unit test case for liblvm VG create/delete APIs. 177 1.1.1.3 haad Add liblvm APIs to implement creation and deletion of VGs. 178 1.1.1.3 haad Initialize cmd->cmd_line to "liblvm" in new liblvm library. 179 1.1.1.3 haad Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h. 180 1.1.1.3 haad Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag. 181 1.1.1.3 haad Use _exit() not exit() after forking to avoid flushing libc buffers twice. 182 1.1.1.3 haad Add cast to log_info arg in _find_labeller to avoid Sparc64 warning. 183 1.1.1.3 haad Make cmd->cmd_line const. 184 1.1.1.3 haad Fix dev name mismatch in vgcreate man page example. 185 1.1.1.3 haad Refactor vg_remove_single for use in liblvm. 186 1.1.1.3 haad Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second. 187 1.1.1.3 haad Check md devices for a partition table during device scan. 188 1.1.1.3 haad Add extended device (blkext) and md partition (mdp) types to filters. 189 1.1.1.3 haad Make text metadata read errors for segment areas more precise. 190 1.1.1.3 haad Fix text segment metadata read errors to mention correct segment name. 191 1.1.1.3 haad Include segment and LV names in text segment import error messages. 192 1.1.1.3 haad Add parent node to config_node structure. 193 1.1.1.3 haad Update vgsplit and vgcreate to call new vg_create and 'set' functions. 194 1.1.1.3 haad Change vg_create to take minimal parameters, obtain a lock, and return vg_t. 195 1.1.1.3 haad Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm. 196 1.1.1.3 haad Update t-vgcreate-usage.sh to test for default vg properties. 197 1.1.1.3 haad Fix memory leak in vgsplit when re-reading the vg. 198 1.1.1.3 haad Make various exit/cleanup paths more robust after lvm init failures. 199 1.1.1.3 haad Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag. 200 1.1.1.3 haad Remove unnecessary locking and existence tests from new vg_read() interface. 201 1.1.1.3 haad Permit several segment types to be registered by a single shared object. 202 1.1.1.3 haad Update the man pages to document size units uniformly. 203 1.1.1.3 haad Allow commandline sizes to be specified in terms of bytes and sectors. 204 1.1.1.3 haad Update 'md_chunk_alignment' to use stripe-width to align PV data area. 205 1.1.1.3 haad Update test/t-inconsistent-metadata.sh to match new vg_read interface. 206 1.1.1.3 haad Add lvmcache_init() to polldaemon initialization. 207 1.1.1.3 haad Convert tools to use new vg_read / vg_read_for_update. 208 1.1.1.3 haad Fix segfault in vg_release when vg->cmd is NULL. 209 1.1.1.3 haad 210 1.1.1.3 haad Version 2.02.48 - 30th June 2009 211 1.1.1.3 haad ================================ 212 1.1.1.3 haad Abort if automatic metadata correction fails when reading VG to update it. 213 1.1.1.3 haad Explicitly request fallback to default major number in device mapper. 214 1.1.1.3 haad Ignore suspended devices during repair. 215 1.1.1.3 haad Call vgreduce --removemissing automatically to fix missing PVs in dmeventd. 216 1.1.1.3 haad Suggest using lvchange --resync when adding leg to not-yet-synced mirror. 217 1.1.1.3 haad Destroy toolcontext on clvmd exit to avoid memory pool leaks. 218 1.1.1.3 haad Fix lvconvert not to poll mirror if no conversion in progress. 219 1.1.1.3 haad Fix memory leaks in toolcontext error path. 220 1.1.1.3 haad Reinstate partial activation support in clustered mode. (2.02.40) 221 1.1.1.3 haad Allow metadata correction even when PVs are missing. 222 1.1.1.3 haad Use 'lvm lvresize' instead of 'lvresize' in fsadm. 223 1.1.1.3 haad Do not use '-n' realine option in fsadm for busybox compatiblity. 224 1.1.1.3 haad Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate. 225 1.1.1.3 haad Round up requested readahead to at least one page and print warning. 226 1.1.1.3 haad Try to repair vg before actual vgremove when force flag provided. 227 1.1.1.3 haad Fix possible double release of VG after recovery. 228 1.1.1.3 haad Add parameter to process_each_vg specifying what to do with inconsistent VG. 229 1.1.1.3 haad Unify error messages when processing inconsistent volume group. 230 1.1.1.3 haad Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO. 231 1.1.1.3 haad Introduce lvconvert --use_policies (repair policy according to lvm.conf). 232 1.1.1.3 haad Update clvmd-corosync to match new corosync API. 233 1.1.1.3 haad Fix lib Makefile to include any shared libraries in default target. 234 1.1.1.3 haad Fix rename of active snapshot with virtual origin. 235 1.1.1.3 haad Fix convert polling to ignore LV with different UUID. 236 1.1.1.3 haad Cache underlying device readahead only before activation calls. 237 1.1.1.3 haad Fix segfault when calculating readahead on missing device in vgreduce. 238 1.1.1.3 haad Remove verbose 'visited' messages. 239 1.1.1.3 haad Handle multi-extent mirror log allocation when smallest PV has only 1 extent. 240 1.1.1.3 haad Add LSB standard headers and functions (incl. reload) to clvmd initscript. 241 1.1.1.3 haad When creating new LV, double-check that name is not already in use. 242 1.1.1.3 haad Remove /dev/vgname/lvname symlink automatically if LV is no longer visible. 243 1.1.1.3 haad Rename internal vorigin LV to match visible LV. 244 1.1.1.3 haad Suppress 'removed' messages displayed when internal LVs are removed. 245 1.1.1.3 haad Fix lvchange -a and -p for sparse LVs. 246 1.1.1.3 haad Fix lvcreate --virtualsize to activate the new device immediately. 247 1.1.1.3 haad Make --snapshot optional with lvcreate --virtualsize. 248 1.1.1.3 haad Generalise --virtualoriginsize to --virtualsize. 249 1.1.1.3 haad Skip virtual origins in process_each_lv_in_vg() without --all. 250 1.1.1.3 haad Fix counting of virtual origin LVs in vg_validate. 251 1.1.1.3 haad Attempt to load dm-zero module if zero target needed but not present. 252 1.1.1.3 haad 253 1.1.1.3 haad Version 2.02.47 - 22nd May 2009 254 1.1.1.3 haad =============================== 255 1.1.1.3 haad Rename liblvm.so to liblvm2app.so and use configure --enable-applib. 256 1.1.1.3 haad Reinstate version in liblvm2cmd.so soname. (2.02.44) 257 1.1.1.3 haad 258 1.1.1.3 haad Version 2.02.46 - 21st May 2009 259 1.1.1.3 haad =============================== 260 1.1.1.3 haad Inherit readahead setting from underlying devices during activation. 261 1.1.1.3 haad Detect LVs active on remote nodes by querying locks if supported. 262 1.1.1.3 haad Enable online resizing of mirrors. 263 1.1.1.3 haad Use suspend with flush when device size was changed during table preload. 264 1.1.1.3 haad Implement query_resource_fn for cluster_locking. 265 1.1.1.3 haad Support query_resource_fn in locking modules. 266 1.1.1.3 haad Introduce CLVMD_CMD_LOCK_QUERY command for clvmd. 267 1.1.1.3 haad Fix pvmove to revert operation if temporary mirror creation fails. 268 1.1.1.3 haad Fix metadata export for VG with missing PVs. 269 1.1.1.3 haad Add vgimportclone and install it and the man page by default. 270 1.1.1.3 haad Force max_lv restriction only for newly created LV. 271 1.1.1.3 haad Remove unneeded import parameter from lv_create_empty. 272 1.1.1.3 haad Merge lv_is_displayable and lv_is_visible functions. 273 1.1.1.3 haad Introduce lv_set_visible & lv_set_hidden functions. 274 1.1.1.3 haad Fix lv_is_visible to handle virtual origin. 275 1.1.1.3 haad Introduce link_lv_to_vg and unlink_lv_from_vg functions. 276 1.1.1.3 haad Remove lv_count from VG and use counter function instead. 277 1.1.1.3 haad Fix snapshot segment import to not use duplicate segments & replace. 278 1.1.1.3 haad Do not query nonexistent devices for readahead. 279 1.1.1.3 haad Remove NON_BLOCKING lock flag from tools and set a policy to auto-set. 280 1.1.1.3 haad Remove snapshot_count from VG and use function instead. 281 1.1.1.3 haad Fix first_seg() call for empty segment list. 282 1.1.1.3 haad Add install_lvm2 makefile target to install only the LVM2 components. 283 1.1.1.3 haad Reject missing PVs from allocation in toollib. 284 1.1.1.3 haad Fix PV datalignment for values starting prior to MDA area. (2.02.45) 285 1.1.1.3 haad Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin). 286 1.1.1.3 haad Fix minimum width of devices column in reports. 287 1.1.1.3 haad Add lvs origin_size field. 288 1.1.1.3 haad Fix linux configure --enable-debug to exclude -O2. 289 1.1.1.3 haad Implement lvconvert --repair for repairing partially-failed mirrors. 290 1.1.1.3 haad Fix vgreduce --removemissing failure exit code. 291 1.1.1.3 haad Fix remote metadata backup for clvmd. 292 1.1.1.3 haad Introduce unlock_and_release_vg macro. 293 1.1.1.3 haad Introduce vg_release() to be called to free every struct volume_group. 294 1.1.1.3 haad Alloc PV internal structure from VG mempool if possible. 295 1.1.1.3 haad Fix metadata backup to run after vg_commit always. 296 1.1.1.3 haad Tidy clvmd volume lock cache functions. 297 1.1.1.3 haad Fix pvs report for orphan PVs when segment attributes are requested. 298 1.1.1.3 haad Fix pvs -a output to not read volume groups from non-PV devices. 299 1.1.1.3 haad Add MMC (mmcblk) device type to filters. 300 1.1.1.3 haad Introduce memory pools per volume group (to reduce memory for large VGs). 301 1.1.1.3 haad Use copy of PV structure when manipulating global PV lists. 302 1.1.1.3 haad Always return exit error status when locking of volume group fails. 303 1.1.1.3 haad Fix mirror log convert validation question. 304 1.1.1.3 haad Avoid referencing files from DESTDIR during build process. 305 1.1.1.3 haad Avoid creating some static libraries unless configured --enable-static_link. 306 1.1.1.3 haad Enable use of cached metadata for pvs and pvdisplay commands. 307 1.1.1.3 haad Add missing 'device-mapper' internal subdir build dependency. 308 1.1.1.3 haad Fix memory leak in mirror allocation code. 309 1.1.1.3 haad Save and restore the previous logging level when log level is changed. 310 1.1.1.3 haad Fix error message when archive initialization fails. 311 1.1.1.3 haad Make sure clvmd-corosync releases the lockspace when it exits. 312 1.1.1.3 haad Fix segfault for vgcfgrestore on VG with missing PVs. 313 1.1.1.3 haad Block SIGTERM & SIGINT in clvmd subthreads. 314 1.1.1.3 haad Detect and conditionally wipe swapspace signatures in pvcreate. 315 1.1.1.3 haad Fix maximal volume count check for snapshots if max_lv set for volume group. 316 1.1.1.3 haad Fix lvcreate to remove unused cow volume if the snapshot creation fails. 317 1.1.1.3 haad Fix error messages when PV uuid or pe_start reading fails. 318 1.1.1.3 haad Build new liblvm application-level library. 319 1.1.1.3 haad Rename liblvm.a to liblvm-internal.a. 320 1.1.1.3 haad Flush memory pool and fix locking in clvmd refresh and backup command. 321 1.1.1.3 haad Fix unlocks in clvmd-corosync. (2.02.45) 322 1.1.1.3 haad Fix error message when adding metadata directory to internal list fails. 323 1.1.1.3 haad Fix size and error message of memory allocation at backup initialization. 324 1.1.1.3 haad Remove old metadata backup file after renaming VG. 325 1.1.1.3 haad Restore log_suppress state when metadata backup file is up-to-date. 326 1.1.1.3 haad 327 1.1.1.3 haad Version 2.02.45 - 3rd March 2009 328 1.1.1.3 haad ================================ 329 1.1.1.3 haad Avoid scanning empty metadata areas for VG names. 330 1.1.1.3 haad Attempt proper clean up in child before executing new binary in exec_cmd(). 331 1.1.1.3 haad Do not scan devices if reporting only attributes from PV label. 332 1.1.1.3 haad Use pkgconfig to obtain corosync library details during configuration. 333 1.1.1.3 haad Fix error returns in clvmd-corosync interface to DLM. 334 1.1.1.3 haad Add --refresh to vgchange and vgmknodes man pages. 335 1.1.1.3 haad Pass --test from lvresize to fsadm as --dry-run. 336 1.1.1.3 haad Supply argv[] list to exec_cmd() to allow for variable number of parameters. 337 1.1.1.3 haad Prevent fsadm from checking mounted filesystems. 338 1.1.1.3 haad No longer treats any other key as 'no' when prompting in fsadm. 339 1.1.1.3 haad Tidy fsadm command line processing. 340 1.1.1.3 haad Add lib/lvm.h and lib/lvm_base.c for the new library interface. 341 1.1.1.3 haad Move tools/version.h to lib/misc/lvm-version.h. 342 1.1.1.3 haad Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE. 343 1.1.1.3 haad Add system_dir parameter to create_toolcontext(). 344 1.1.1.3 haad Add --dataalignment to pvcreate to specify alignment of data area. 345 1.1.1.3 haad Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking. 346 1.1.1.3 haad Provide da and mda locations in debug message when writing text format label. 347 1.1.1.3 haad Mention the restriction on file descriptors at invocation on the lvm man page. 348 1.1.1.3 haad Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. 349 1.1.1.3 haad No longer require kernel and metadata major numbers to match. 350 1.1.1.3 haad Add a fully-functional get_cluster_name() to clvmd corosync interface. 351 1.1.1.3 haad Remove duplicate cpg_initialize from clvmd startup. 352 1.1.1.3 haad Add option to /etc/sysconfig/cluster to select cluster type for clvmd. 353 1.1.1.3 haad Allow clvmd to start up if its lockspace already exists. 354 1.1.1.3 haad Separate PV label attributes which do not need parse metadata when reporting. 355 1.1.1.3 haad Remove external dependency on the 'cut' command from fsadm. 356 1.1.1.3 haad Fix pvs segfault when pv mda attributes requested for not available PV. 357 1.1.1.3 haad Add fsadm support for reszing ext4 filesysystems. 358 1.1.1.3 haad Move locking_type reading inside init_locking(). 359 1.1.1.3 haad Rename get_vgs() to get_vgnames() and clarify related error messages. 360 1.1.1.3 haad Allow clvmd to be built with all cluster managers & select one on cmdline. 361 1.1.1.3 haad Mention --with-clvmd=corosync in ./configure. 362 1.1.1.3 haad Replace internal vg_check_status() implementation. 363 1.1.1.3 haad Rename vg_read() to vg_read_internal(). 364 1.1.1.3 haad 365 1.1.1.2 haad Version 2.02.44 - 26th January 2009 366 1.1.1.2 haad =================================== 367 1.1.1.2 haad Fix --enable-static_link after the recent repository changes. 368 1.1.1.2 haad Add corosync/DLM cluster interface to clvmd. 369 1.1.1.2 haad Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages. 370 1.1.1.2 haad Fix lvresize size conversion for fsadm when block size is not 1K. 371 1.1.1.2 haad Fix pvs segfault when run with orphan PV and some VG fields. 372 1.1.1.2 haad Display a 'dev_size' of zero for missing devices in reports. 373 1.1.1.2 haad Add pv_mda_size to pvs and vg_mda_size to vgs. 374 1.1.1.2 haad Fix lvmdump /sys listing to include virtual devices directory. 375 1.1.1.2 haad Add "--refresh" functionality to vgchange and vgmknodes. 376 1.1.1.2 haad Avoid exceeding LV size when wiping device. 377 1.1.1.2 haad Calculate mirror log size instead of using 1 extent. 378 1.1.1.2 haad Ensure requested device number is available before activating with it. 379 1.1.1.2 haad Fix incorrect exit status from 'help <command>'. 380 1.1.1.2 haad Fix vgrename using UUID if there are VGs with identical names. 381 1.1.1.2 haad Fix segfault when invalid field given in reporting commands. 382 1.1.1.2 haad Move is_static from cmd to global is_static(). 383 1.1.1.2 haad Refactor init_lvm() for lvmcmdline and clvmd. 384 1.1.1.2 haad Add liblvm interactive test infrastructure to build. 385 1.1.1.2 haad Add skeleton lvm2.h file in preparation for a shared library interface. 386 1.1.1.2 haad Use better random seed value in temp file creation. 387 1.1.1.2 haad Add read_urandom to read /dev/urandom. Use in uuid calculation. 388 1.1.1.2 haad Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout. 389 1.1.1.2 haad Fix race in vgcreate that would result in second caller overwriting first. 390 1.1.1.2 haad Fix uninitialised lv_count in vgdisplay -c. 391 1.1.1.2 haad Don't skip updating pvid hash when lvmcache_info struct got swapped. 392 1.1.1.2 haad Add tinfo to termcap search path for pld-linux. 393 1.1.1.2 haad Fix startup race in clvmd. 394 1.1.1.2 haad Generate Red Hat clvmd startup script at config time with correct paths. 395 1.1.1.2 haad Fix clvmd & dmeventd builds after tree restructuring. 396 1.1.1.2 haad Cope with snapshot dependencies when removing a whole VG with lvremove. 397 1.1.1.2 haad Make man pages and tool help text consistent using | for alternative options. 398 1.1.1.2 haad 399 1.1 haad Version 2.02.43 - 10th November 2008 400 1.1 haad ==================================== 401 1.1 haad Merge device-mapper into the lvm2 tree. 402 1.1 haad Correct prototype for --permission on lvchange and lvcreate man pages. 403 1.1 haad Exit with non-zero status from vgdisplay if couldn't show any requested VG. 404 1.1 haad Move list.c into libdevmapper and rename functions. 405 1.1 haad Rename a couple of variables that matched function names. 406 1.1 haad Use simplified x.y.z version number in libdevmapper.pc. 407 1.1 haad Remove ancient debian directory. 408 1.1 haad Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch]. 409 1.1 haad 410 1.1 haad Version 2.02.42 - 26th October 2008 411 1.1 haad =================================== 412 1.1 haad Accept locking fallback_to_* options in the global section as documented. 413 1.1 haad Fix temp table activation in mirror conversions not to happen in other cmds. 414 1.1 haad Fix temp table in mirror conversions to use always-present error not zero. 415 1.1 haad 416 1.1 haad Version 2.02.41 - 17th October 2008 417 1.1 haad =================================== 418 1.1 haad Use temp table to set device size when converting mirrors. 419 1.1 haad In resume_mirror_images replace activate_lv with resume_lv as workaround. 420 1.1 haad Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. 421 1.1 haad Fix snapshot monitoring library to not cancel monitoring invalid snapshot. 422 1.1 haad Generate man pages from templates and include version. 423 1.1 haad Add usrlibdir and usrsbindir to configure. 424 1.1 haad Fix conversion of md chunk size into sectors. 425 1.1 haad Free text metadata buffer after a failure writing it. 426 1.1 haad Fix misleading error message when there are no allocatable extents in VG. 427 1.1 haad Fix handling of PVs which reappeared with old metadata version. 428 1.1 haad Fix mirror DSO to call vgreduce with proper parameters. 429 1.1 haad Fix validation of --minor and --major in lvcreate to require -My always. 430 1.1 haad Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. 431 1.1 haad 432 1.1 haad Version 2.02.40 - 19th September 2008 433 1.1 haad ===================================== 434 1.1 haad Allow lvremove to remove LVs from VGs with missing PVs. 435 1.1 haad In VG with PVs missing, by default allow activation of LVs that are complete. 436 1.1 haad Track PARTIAL_LV and MISSING_PV flags internally. 437 1.1 haad Require --force with --removemissing in vgreduce to remove partial LVs. 438 1.1 haad No longer write out PARTIAL flag into metadata backups. 439 1.1 haad Treat new default activation/missing_stripe_filler "error" as an error target. 440 1.1 haad Remove internal partial_mode. 441 1.1 haad Add devices/md_chunk_alignment to lvm.conf. 442 1.1 haad Pass struct physical_volume to pe_align and adjust for md chunk size. 443 1.1 haad Store sysfs location in struct cmd_context. 444 1.1 haad Avoid shuffling remaining mirror images when removing one, retaining primary. 445 1.1 haad Add missing LV error target activation in _remove_mirror_images. 446 1.1 haad Prevent resizing an LV while lvconvert is using it. 447 1.1 haad Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan. 448 1.1 haad Fix pvresize to not allow resize if PV has two metadata areas. 449 1.1 haad Fix setting of volume limit count if converting to lvm1 format. 450 1.1 haad Fix vgconvert logical volume id metadata validation. 451 1.1 haad Fix lvmdump metadata gather option (-m) to work correctly. 452 1.1 haad Fix allocation bug in text metadata format write error path. 453 1.1 haad Fix vgcfgbackup to properly check filename if template is used. 454 1.1 haad configure aborts if lcov or genhtml are missing with --enable-profiling 455 1.1 haad vgremove tries to remove lv snapshot first. 456 1.1 haad Added function lv_remove_with_dependencies(). 457 1.1 haad Improve file descriptor leak detection to display likely culprit and filename. 458 1.1 haad Change clustered mirror kernel module name from cmirror to dm-log-clustered. 459 1.1 haad Avoid looping forever in _pv_analyze_mda_raw used by pvck. 460 1.1 haad Change lvchange exit status to indicate if any part of the operation failed. 461 1.1 haad Fix pvchange and pvremove to handle PVs without mdas. 462 1.1 haad Refactor _text_pv_read and always return mda list if requested. 463 1.1 haad Fix configure to work w/o readline unless --enable-readline used. (2.02.39) 464 1.1 haad Remove is_lvm_partition template which has not yet been coded. 465 1.1 haad Refactor pvcreate to separate parameter parsing from validation logic. 466 1.1 haad Check for label_write() failure in _text_pv_write(). 467 1.1 haad Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata. 468 1.1 haad Fix pvchange -M1 -u to preserve existing extent locations when there's a VG. 469 1.1 haad Cease recognising snapshot-in-use percentages returned by early devt kernels. 470 1.1 haad Add backward-compatible flags field to on-disk format_text metadata. 471 1.1 haad Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39) 472 1.1 haad 473 1.1 haad Version 2.02.39 - 27th June 2008 474 1.1 haad ================================ 475 1.1 haad Enable readline by default if available. 476 1.1 haad Update autoconf to 2008-01-16. 477 1.1 haad Add $DISTCLEAN_DIRS to make.tmpl.in. 478 1.1 haad Create coverage reports with --enable-profiling and make lcov or lcov-dated. 479 1.1 haad Fix up cache for PVs without mdas after consistent VG metadata is processed. 480 1.1 haad Update validation of safe mirror log type conversions in lvconvert. 481 1.1 haad Fix lvconvert to disallow snapshot and mirror combinations. 482 1.1 haad Fix reporting of LV fields alongside unallocated PV segments. 483 1.1 haad Add --unquoted and --rows to reporting tools. 484 1.1 haad Add and use uninitialized_var() macro to suppress invalid compiler warnings. 485 1.1 haad Introduce enum for md minor sb version to suppress compiler warning. 486 1.1 haad Avoid undefined return value after _memlock manipulation in lvm2_run. 487 1.1 haad Avoid link failure if configured without --enable-cmdlib or --enable-readline. 488 1.1 haad Make clvmd return at once if other nodes down in a gulm or openais cluster. 489 1.1 haad Fix and improve readahead 'auto' calculation for stripe_size. 490 1.1 haad Fix lvchange output for -r auto setting if auto is already set. 491 1.1 haad Add test case for readahead. 492 1.1 haad Avoid ambiguous use of identifier error_message_produced. 493 1.1 haad Begin syncing configure.in for merge/unification with device-mapper. 494 1.1 haad Fix add_mirror_images not to dereference uninitialized log_lv upon failure. 495 1.1 haad Don't call openlog for every debug line output by clvmd. 496 1.1 haad Add --force to lvextend and lvresize. 497 1.1 haad Fix vgchange not to activate component mirror volumes directly. 498 1.1 haad Fix test directory clean up in make distclean. 499 1.1 haad 500 1.1 haad Version 2.02.38 - 11th June 2008 501 1.1 haad ================================ 502 1.1 haad Fix tracking of validity of PVs with no mdas in lvmcache. 503 1.1 haad Fix return values for reporting commands when run with no PVs, LVs, or VGs. 504 1.1 haad Add omitted unlock_vg() call when sigint_caught() during vg processing. 505 1.1 haad Fix free_count when reading pool metadata. 506 1.1 haad Fix segfault when using pvcreate on a device containing pool metadata. 507 1.1 haad Fix segfault after _free_vginfo by remembering to remove vginfo from list. 508 1.1 haad Tweak detection of invalid fid after changes to PVs in VG in _vg_read. 509 1.1 haad Revert assuming precommitted metadata is live when activating (unnecessary). 510 1.1 haad Drop cached metadata for disappearing VG in vgmerge. 511 1.1 haad In script-processing mode, stop if any command fails. 512 1.1 haad Warn if command exits with non-zero status code without a prior log_error. 513 1.1 haad Check lv_count in vg_validate. 514 1.1 haad Add --nameprefixes to reporting tools for field name prefix output format. 515 1.1 haad 516 1.1 haad Version 2.02.37 - 6th June 2008 517 1.1 haad =============================== 518 1.1 haad Make clvmd-cman use a hash rather than an array for node updown info. 519 1.1 haad Correct config file line numbers in messages when parsing comments. 520 1.1 haad Drop cached metadata when renaming a VG. 521 1.1 haad Allow for vginfo changing during _vg_read. 522 1.1 haad Decode numbers in clvmd debugging output. 523 1.1 haad Add missing deactivation after activation failure in lvcreate -Zy. 524 1.1 haad When activating, if precommitted metadata is still cached, assume it's live. 525 1.1 haad When removing LV symlinks, skip any where the VG name is not determined. 526 1.1 haad Drop metadata cache if update fails in vg_revert or vg_commit. 527 1.1 haad Avoid spurious duplicate VG messages referring to VGs that are gone. 528 1.1 haad Drop dev_name_confirmed error message to debug level. 529 1.1 haad Fix setpriority error message to signed int. 530 1.1 haad Temporarily disable dmeventd mirror monitoring during lvchange --resync. 531 1.1 haad Refactor some vginfo manipulation code. 532 1.1 haad Add assertions to trap deprecated P_ and V_ lock usage. 533 1.1 haad Add missing mutex around clvmd lvmcache_drop_metadata library call. 534 1.1 haad Fix uninitialised mutex in clvmd if all daemons are not running at startup. 535 1.1 haad Avoid using DLM locks with LCK_CACHE type P_ lock requests. 536 1.1 haad When asked to drop cached committed VG metadata, invalidate cached PV labels. 537 1.1 haad Drop metadata cache before writing precommitted metadata instead of after. 538 1.1 haad Don't touch /dev in vgrename if activation is disabled. 539 1.1 haad 540 1.1 haad Version 2.02.36 - 29th April 2008 541 1.1 haad ================================= 542 1.1 haad Fix fsadm.sh to work with older blockdev, blkid & readlink binaries. 543 1.1 haad Fix lvresize to pass new size to fsadm when extending device. 544 1.1 haad Remove unused struct in clvmd-openais, and use correct node count. 545 1.1 haad Fix nodes list in clvmd-openais, and allow for broadcast messages. 546 1.1 haad Exclude VG_GLOBAL from internal concurrent VG lock counter. 547 1.1 haad Fix vgsplit internal counting of snapshot LVs. 548 1.1 haad Fix vgmerge snapshot_count when source VG contains snapshots. 549 1.1 haad Simplify clvmd-openais by using non-async saLckResourceLock. 550 1.1 haad Fix internal LV counter when a snapshot is removed. 551 1.1 haad Fix metadata corruption writing lvm1-formatted metadata with snapshots. 552 1.1 haad Fix lvconvert -m0 allocatable space check. 553 1.1 haad 554 1.1 haad Version 2.02.35 - 15th April 2008 555 1.1 haad ================================= 556 1.1 haad Drop cached VG metadata before and after committing changes to it. 557 1.1 haad Rename P_global to P_#global. 558 1.1 haad Don't attempt remote metadata backups of non-clustered VGs. (2.02.29) 559 1.1 haad Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34) 560 1.1 haad Update vgsplit tests to verify loosening of active LV restriction. 561 1.1 haad Update vgsplit to only restrict split with active LVs involved in split. 562 1.1 haad Add lv_is_active() to determine whether an lv is active. 563 1.1 haad 564 1.1 haad Version 2.02.34 - 10th April 2008 565 1.1 haad ================================= 566 1.1 haad Improve preferred_names lvm.conf example. 567 1.1 haad Fix vgdisplay 'Cur LV' field to match lvdisplay output. 568 1.1 haad Fix lv_count report field to exclude hidden LVs. 569 1.1 haad Add vg_is_clustered() helper function. 570 1.1 haad Fix vgsplit to only move hidden 'snapshotN' LVs when necessary. 571 1.1 haad Update vgsplit tests for lvnames on the cmdline. 572 1.1 haad Update vgsplit man page to reflect lvnames on the cmdline. 573 1.1 haad Update vgsplit to take "-n LogicalVolumeName" on the cmdline. 574 1.1 haad Use clustered mirror log with pvmove in clustered VGs, if available. 575 1.1 haad Fix some pvmove error status codes. 576 1.1 haad Fix vgsplit error paths to release vg_to lock. 577 1.1 haad Indicate whether or not VG is clustered in vgcreate log message. 578 1.1 haad Mention default --clustered setting in vgcreate man page. 579 1.1 haad Add config file overrides to clvmd when it reads the active LVs list. 580 1.1 haad Fix vgreduce to use vg_split_mdas to check sufficient mdas remain. 581 1.1 haad Add (empty) orphan VGs to lvmcache during initialisation. 582 1.1 haad Fix orphan VG name used for format_pool. 583 1.1 haad Create a fid for internal orphan VGs. 584 1.1 haad Update lvmcache VG lock state for all locking types now. 585 1.1 haad Fix output if overriding command_names on cmdline. 586 1.1 haad Add detection of clustered mirror log capability. 587 1.1 haad Add check to vg_commit() ensuring VG lock held before writing new VG metadata. 588 1.1 haad Add validation of LV name to pvmove -n. 589 1.1 haad Make clvmd refresh the context correctly when lvm.conf is updated. 590 1.1 haad Add some basic internal VG lock validation. 591 1.1 haad Add per-command flags to control which commands use the VG metadata cache. 592 1.1 haad Fix vgsplit locking of new VG (2.02.30). 593 1.1 haad Avoid erroneous vgsplit error message for new VG. (2.02.29) 594 1.1 haad Suppress duplicate message when lvresize fails because of invalid vgname. 595 1.1 haad Cache VG metadata internally while VG lock is held. 596 1.1 haad Fix redundant lvresize message if vg doesn't exist. 597 1.1 haad Fix another allocation bug with clvmd and large node IDs. 598 1.1 haad Add find_lv_in_lv_list() and find_pv_in_pv_list(). 599 1.1 haad Fix uninitialised variable in clvmd that could cause odd hangs. 600 1.1 haad Add vgmerge tests. 601 1.1 haad Add pvseg_is_allocated() for identifying a PV segment allocated to a LV. 602 1.1 haad Add list_move() for moving elements from one list to another. 603 1.1 haad Add 'is_reserved_lvname()' for identifying hidden LVs. 604 1.1 haad Correct command name in lvmdiskscan man page. 605 1.1 haad clvmd no longer crashes if it sees nodeids over 50. 606 1.1 haad Fix potential deadlock in clvmd thread handling. 607 1.1 haad Refactor text format initialisation into _init_text_import. 608 1.1 haad Escape double quotes and backslashes in external metadata and config data. 609 1.1 haad Add functions for escaping double quotes in strings. 610 1.1 haad Rename count_chars_len to count_chars. 611 1.1 haad Use return_0 in a couple more places. 612 1.1 haad Correct a function name typo in _line_append error message. 613 1.1 haad Include limits.h in clvmd so it compiles with newer headers. 614 1.1 haad Add VirtIO disks (virtblk) to filters. 615 1.1 haad Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30) 616 1.1 haad Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30) 617 1.1 haad Add missing no-longer-used segs_using_this_lv test to check_lv_segments. 618 1.1 haad Remove redundant non-NULL tests before calling free in clvmd.c. 619 1.1 haad Avoid a compiler warning: make is_orphan's parameter const. 620 1.1 haad Fix lvconvert detection of mirror conversion in progress. (2.02.30) 621 1.1 haad Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30) 622 1.1 haad Fix 'pvs -a' to detect VGs of PVs without metadata areas. 623 1.1 haad Divide up internal orphan volume group by format type. 624 1.1 haad Update usage message for clvmd. 625 1.1 haad Fix clvmd man page not to print <br> and clarified debug options. 626 1.1 haad Fix lvresize to support /dev/mapper prefix in the LV name. 627 1.1 haad Fix unfilled parameter passed to fsadm from lvresize. 628 1.1 haad Update fsadm to call lvresize if the partition size differs (with option -l). 629 1.1 haad Fix fsadm to support VG/LV names. 630 1.1 haad 631 1.1 haad Version 2.02.33 - 31st January 2008 632 1.1 haad =================================== 633 1.1 haad Fix mirror log name construction during lvconvert. (2.02.30) 634 1.1 haad Make monitor_dev_for_events recurse through the stack of LVs. 635 1.1 haad Clean up some more compiler warnings. 636 1.1 haad Some whitespace tidy-ups. 637 1.1 haad Use stack return macros throughout. 638 1.1 haad Rely upon internally-cached PV labels while corresponding VG lock is held. 639 1.1 haad 640 1.1 haad Version 2.02.32 - 29th January 2008 641 1.1 haad =================================== 642 1.1 haad Fix two check_lv_segments error messages to show whole segment. 643 1.1 haad Refactor mirror log attachment code. 644 1.1 haad Fix internal metadata corruption in lvchange --resync. (2.02.30) 645 1.1 haad Fix new parameter validation in vgsplit and test mode. (2.02.30) 646 1.1 haad Remove redundant cnxman-socket.h file from clvmd directory. 647 1.1 haad Fix pvs, vgs, lvs error exit status on some error paths. 648 1.1 haad 649 1.1 haad Version 2.02.31 - 19th January 2008 650 1.1 haad =================================== 651 1.1 haad Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30) 652 1.1 haad Add very_verbose lvconvert messages. 653 1.1 haad Avoid readahead error message with default setting of lvcreate -M1. (2.02.29) 654 1.1 haad 655 1.1 haad Version 2.02.30 - 17th January 2008 656 1.1 haad =================================== 657 1.1 haad Set default readahead to twice maximium stripe size. 658 1.1 haad Reinstate VG extent size and stripe size defaults (halved). (2.02.29) 659 1.1 haad Add lists of stacked LV segments using each LV to the internal metadata. 660 1.1 haad Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes. 661 1.1 haad Fix process_all_pvs to detect non-orphans with no MDAs correctly. 662 1.1 haad Don't use block_on_error with mirror targets version 1.12 and above. 663 1.1 haad Update vgsplit to accept vgcreate options when new VG is destination. 664 1.1 haad Update vgsplit to accept existing VG as destination. 665 1.1 haad lvconvert waits for completion of initial sync by default. 666 1.1 haad Refactor vgcreate for parameter validation and add tests. 667 1.1 haad Add new convert_lv field to lvs output. 668 1.1 haad Print warning when lvm tools are running as non-root. 669 1.1 haad Add snapshot dmeventd library (enables dmeventd snapshot monitoring). 670 1.1 haad Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs. 671 1.1 haad Fix a segfault if using pvs with --all argument. (2.02.29) 672 1.1 haad Update --uuid argument description in man pages. 673 1.1 haad Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29) 674 1.1 haad Extend lvconvert to use polldaemon. 675 1.1 haad Add support for stacked mirrors. 676 1.1 haad Major restructuring of pvmove and lvconvert layer manipulation code. 677 1.1 haad Replace tools/fsadm with scripts/fsadm.sh. 678 1.1 haad Append fields to report/pvsegs_cols_verbose. 679 1.1 haad Permit LV segment fields with PV segment reports. 680 1.1 haad Add seg_start_pe and seg_pe_ranges to reports. 681 1.1 haad 682 1.1 haad Version 2.02.29 - 5th December 2007 683 1.1 haad =================================== 684 1.1 haad Make clvmd backup vg metadata on remote nodes. 685 1.1 haad Refactor pvmove allocation code. 686 1.1 haad Decode cluster locking state in log message. 687 1.1 haad Change file locking state messages from debug to very verbose. 688 1.1 haad Fix --addtag to drop @ prefix from name. 689 1.1 haad Stop clvmd going haywire if a pre_function fails. 690 1.1 haad Convert some vg_reads into vg_lock_and_reads. 691 1.1 haad Avoid nested vg_reads when processing PVs in VGs and fix associated locking. 692 1.1 haad Accept sizes with --readahead argument. 693 1.1 haad Store size arguments as sectors internally. 694 1.1 haad Attempt to remove incomplete LVs with lvcreate zeroing/activation problems. 695 1.1 haad Add read_ahead activation code. 696 1.1 haad Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD. 697 1.1 haad Extend readahead arg to accept "auto" and "none". 698 1.1 haad Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay. 699 1.1 haad Prevent lvconvert -s from using same LV as origin and snapshot. 700 1.1 haad Fix human-readable output of odd numbers of sectors. 701 1.1 haad Add pv_mda_free and vg_mda_free fields to reports for raw text format. 702 1.1 haad Add LVM2 version to 'Generated by' comment in metadata. 703 1.1 haad Show 'not usable' space when PV is too large for device in pvdisplay. 704 1.1 haad Ignore and fix up any excessive device size found in metadata. 705 1.1 haad Fix error message when fixing up PV size in lvm2 metadata (2.02.11). 706 1.1 haad Fix orphan-related locking in pvdisplay and pvs. 707 1.1 haad Fix missing VG unlocks in some pvchange error paths. 708 1.1 haad Add some missing validation of VG names. 709 1.1 haad Rename validate_vg_name() to validate_new_vg_name(). 710 1.1 haad Change orphan lock to VG_ORPHANS. 711 1.1 haad Change format1 to use ORPHAN as orphan VG name. 712 1.1 haad Convert pvchange, pvdisplay, pvscan to use is_orphan() 713 1.1 haad Add is_orphan_vg() and change all hard-coded checks to use it. 714 1.1 haad Detect md superblocks version 1.0, 1.1 and 1.2. 715 1.1 haad Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths. 716 1.1 haad Add pv_dev_name() to access PV device name. 717 1.1 haad Add const attributes to pv accessor functions. 718 1.1 haad Refactor vg_add_snapshot() and lv_create_empty(). 719 1.1 haad Handle new sysfs subsystem/block/devices directory structure. 720 1.1 haad Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs. 721 1.1 haad Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries. 722 1.1 haad Fix underquotations in lvm_dump.sh. 723 1.1 haad Refactor lvcreate stripe and mirror parameter validation. 724 1.1 haad Print --help output to stdout, not stderr. 725 1.1 haad After a cmdline processing error, don't print help text but suggest --help. 726 1.1 haad Add %PVS extents option to lvresize, lvextend, and lvcreate. 727 1.1 haad Add 'make check' to run tests in new subdirectory 'test'. 728 1.1 haad Moved the obsolete test subdirectory to old-tests. 729 1.1 haad Cope with relative paths in configure --with-dmdir. 730 1.1 haad Remove no-longer-correct restrictions on PV arg count with stripes/mirrors. 731 1.1 haad Fix strdup memory leak in str_list_dup(). 732 1.1 haad Link with -lpthread when static SELinux libraries require that. 733 1.1 haad Detect command line PE values that exceed their 32-bit range. 734 1.1 haad Include strerror string in dev_open_flags' stat failure message. 735 1.1 haad Move guts of pvresize into library. 736 1.1 haad Avoid error when --corelog is provided without --mirrorlog. (2.02.28) 737 1.1 haad Correct --mirrorlog argument name in man pages (not --log). 738 1.1 haad Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear. 739 1.1 haad Modify lvremove to prompt for removal if LV active on other cluster nodes. 740 1.1 haad Add '-f' to vgremove to force removal of VG even if LVs exist. 741 1.1 haad 742 1.1 haad Version 2.02.28 - 24th August 2007 743 1.1 haad ================================== 744 1.1 haad Fix clvmd logging so you can get lvm-level debugging out of it. 745 1.1 haad Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R. 746 1.1 haad Change locking_flags from int to uint32_t. 747 1.1 haad Fix clvmd -R, so it fully refreshes the caches. 748 1.1 haad Change lvconvert_mirrors to use mirror segtype not striped. 749 1.1 haad Fix lvconvert_mirrors detection of number of existing mirrors. 750 1.1 haad Clean up numerous compiler warnings that appeared in recent releases. 751 1.1 haad Remove several unused parameters from _allocate(). 752 1.1 haad Only permit --force, --verbose and --debug arguments to be repeated. 753 1.1 haad Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 754 1.1 haad Move guts of vgremove and lvremove into library, including yes_no_prompt. 755 1.1 haad Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C]. 756 1.1 haad Update to use autoconf 2.61, while still supporting 2.57. 757 1.1 haad Add more cluster info to lvmdump. 758 1.1 haad Add further const attributes throughout. 759 1.1 haad Add support for renaming mirrored LVs. 760 1.1 haad Factor out core of lvrename() to library function. 761 1.1 haad Add --mirrorlog argument to specify log type for mirrors. 762 1.1 haad Don't attempt to monitor devices if their creation failed in _lv_activate. 763 1.1 haad Don't leak a file descriptor in fcntl_lock_file() when fcntl fails. 764 1.1 haad Replace create_dir with dm_create_dir. 765 1.1 haad Detect stream write failure reliably with lvm_fclose using dm_fclose. 766 1.1 haad Fix clvmd if compiled with gulm support. (2.02.26) 767 1.1 haad Fix lvdisplay man page to say LV size is reported in sectors, not KB. 768 1.1 haad Add vg_lock_and_read() external library function. 769 1.1 haad Fix loading of persistent cache if cache_dir is used. (2.02.23) 770 1.1 haad Reduce _compare_paths lstat error message from log_error to log_very_verbose. 771 1.1 haad Create util.h with last_path_component replacing strdup + basename. 772 1.1 haad Use gcc's printf attribute wherever possible. 773 1.1 haad In _line_append, use "sizeof buf - 1" rather than equivalent "4095". 774 1.1 haad Introduce is_same_inode macro, now including a comparison of st_dev. 775 1.1 haad Don't leak a file descriptor in _lock_file() when flock fails. 776 1.1 haad Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters. 777 1.1 haad Split metadata-external.h out from metadata.h for the tools to use. 778 1.1 haad 779 1.1 haad Version 2.02.27 - 17th July 2007 780 1.1 haad ================================ 781 1.1 haad Fix snapshot cow area deactivation if origin is not active. (2.02.13) 782 1.1 haad Fix configure libdevmapper.h check when --with-dmdir is used. 783 1.1 haad Turn _add_pv_to_vg() into external library function add_pv_to_vg(). 784 1.1 haad Add pv_by_path() external library function. 785 1.1 haad Tidy clvmd-openais of redundant bits, and improve an error report. 786 1.1 haad Cope with find_seg_by_le() failure in check_lv_segments(). 787 1.1 haad Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint. 788 1.1 haad Add vg_mda_count and pv_mda_count columns to reports. 789 1.1 haad Fix dumpconfig to use log_print instead of stdout directly. 790 1.1 haad Remove unused parameter 'fid' from _add_pv_to_vg. 791 1.1 haad Add kernel and device-mapper targets versions to lvmdump. 792 1.1 haad Replace BSD (r)index with C89 str(r)chr. 793 1.1 haad Handle vgsplit of an entire VG as a vgrename. 794 1.1 haad Reinitialise internal lvmdiskscan variables when called repeatedly. 795 1.1 haad Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23) 796 1.1 haad Add vg_status function and clean up vg->status in tools directory. 797 1.1 haad Add --ignoremonitoring to disable all dmeventd interaction. 798 1.1 haad Remove get_ prefix from get_pv_* functions. 799 1.1 haad clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm. 800 1.1 haad Print warnings to stderr instead of stdout. 801 1.1 haad 802 1.1 haad Version 2.02.26 - 15th June 2007 803 1.1 haad ================================ 804 1.1 haad Update vgcfgrestore man page. 805 1.1 haad Allow keyboard interrupt during user prompts when appropriate. 806 1.1 haad Remove unused clvmd system-lv code. 807 1.1 haad Replace many physical_volume struct dereferences with new get_pv_* functions. 808 1.1 haad Suppress a benign compile-time warning. 809 1.1 haad Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. 810 1.1 haad Add wrappers to some functions in preparation for external LVM library. 811 1.1 haad Add -f to vgcfgrestore to list metadata backup files. 812 1.1 haad Add vg_check_status to consolidate vg status checks and error messages. 813 1.1 haad Add pvdisplay --maps implementation. 814 1.1 haad Remove unsupported LVM1 options from vgcfgrestore man page. 815 1.1 haad Update vgcfgrestore man page to show mandatory VG name. 816 1.1 haad Update vgrename man page to include UUID and be consistent with lvrename. 817 1.1 haad Add (experimental) OpenAIS support to clvmd. 818 1.1 haad Fix deactivation code to follow dependencies and remove symlinks. 819 1.1 haad Fix and clarify vgsplit error messages. 820 1.1 haad Fix a segfault in device_is_usable() if a device has no table. 821 1.1 haad Add some more debug messages to clvmd startup. 822 1.1 haad Misc clvmd cleanups. 823 1.1 haad 824 1.1 haad Version 2.02.25 - 27th April 2007 825 1.1 haad ================================= 826 1.1 haad Fix get_config_uint64() to read a 64-bit value not a 32-bit one. 827 1.1 haad Add -Wformat-security and change one fprintf() to fputs(). 828 1.1 haad Move regex functions into libdevmapper. 829 1.1 haad Change some #include lines to search only standard system directories. 830 1.1 haad Add devices/preferred_names config regex list for displayed device names. 831 1.1 haad Free a temporary dir string in fcntl_lock_file() after use. 832 1.1 haad Fix a dm_pool_destroy() in matcher_create(). 833 1.1 haad Introduce goto_bad macro. 834 1.1 haad Fix warnings on x86_64 involving ptrdiff_t in log_error messages. 835 1.1 haad Update pvck to include text metadata area and record detection. 836 1.1 haad Add support functions for token counting in config file extracts. 837 1.1 haad Update pvck to read labels on disk, with --labelsector parameter. 838 1.1 haad Add count_chars and count_chars_len functions. 839 1.1 haad Add /sys/block listings to lvm_dump.sh. 840 1.1 haad Make lvm_dump.sh list /dev recursively. 841 1.1 haad Fix thread race in clvmd. 842 1.1 haad Add scan_sector param to label_read and _find_labeller. 843 1.1 haad Make clvmd cope with quorum devices. 844 1.1 haad Add extra internal error checking to clvmd. 845 1.1 haad Add dev_read_circular. 846 1.1 haad Add pvck command stub. 847 1.1 haad Update lists of attribute characters in man pages. 848 1.1 haad Change cling alloc policy attribute character from 'C' to l'. 849 1.1 haad Fix creation and conversion of mirrors with tags. 850 1.1 haad Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata). 851 1.1 haad Split metadata areas in vgsplit properly. 852 1.1 haad 853 1.1 haad Version 2.02.24 - 19th March 2007 854 1.1 haad ================================= 855 1.1 haad Fix processing of exit status in init scripts 856 1.1 haad Fix vgremove to require at least one vg argument. 857 1.1 haad Fix reading of striped LVs in LVM1 format. 858 1.1 haad Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10) 859 1.1 haad Add a few missing pieces of vgname command line validation. 860 1.1 haad Support the /dev/mapper prefix on most command lines. 861 1.1 haad 862 1.1 haad Version 2.02.23 - 8th March 2007 863 1.1 haad ================================ 864 1.1 haad Fix vgrename active LV check to ignore differing vgids. 865 1.1 haad Remove no-longer-used uuid_out parameter from activation info functions. 866 1.1 haad Fix two more segfaults if an empty config file section encountered. 867 1.1 haad Move .cache file into a new /etc/lvm/cache directory by default. 868 1.1 haad Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache. 869 1.1 haad Create directory in fcntl_lock_file() if required. 870 1.1 haad Exclude readline support from lvm.static. 871 1.1 haad Fix a leak in a reporting error path (2.02.19). 872 1.1 haad 873 1.1 haad Version 2.02.22 - 13th February 2007 874 1.1 haad ==================================== 875 1.1 haad Correct -b and -P on a couple of man pages. 876 1.1 haad Add global/units to example.conf. 877 1.1 haad Fix loading of segment_libraries. 878 1.1 haad If a PV reappears after it was removed from its VG, make it an orphan. 879 1.1 haad Don't update metadata automatically if VGIDs don't match. 880 1.1 haad Fix some vgreduce --removemissing command line validation. 881 1.1 haad 882 1.1 haad Version 2.02.21 - 30th January 2007 883 1.1 haad =================================== 884 1.1 haad Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring. 885 1.1 haad Fix vgsplit to handle mirrors. 886 1.1 haad Reorder fields in reporting field definitions. 887 1.1 haad Fix vgs to treat args as VGs even when PV fields are displayed. 888 1.1 haad Fix md signature check to handle both endiannesses. 889 1.1 haad 890 1.1 haad Version 2.02.20 - 25th January 2007 891 1.1 haad =================================== 892 1.1 haad dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors. 893 1.1 haad Add devices/ignore_suspended_devices to ignore suspended dm devices. 894 1.1 haad Add some missing close() and fclose() return code checks. 895 1.1 haad Fix exit statuses of reporting tools (2.02.19). 896 1.1 haad Add init script for dmeventd monitoring. 897 1.1 haad lvm.static no longer interacts with dmeventd unless explicitly asked to. 898 1.1 haad Add field definitions to report help text. 899 1.1 haad Remove unnecessary cmd arg from target_*monitor_events(). 900 1.1 haad Add private variable to dmeventd shared library interface. 901 1.1 haad Long-lived processes write out persistent dev cache in refresh_toolcontext(). 902 1.1 haad Fix refresh_toolcontext() always to wipe persistent device filter cache. 903 1.1 haad Add is_long_lived to toolcontext. 904 1.1 haad Add --clustered to man pages. 905 1.1 haad Streamline dm_report_field_* interface. 906 1.1 haad Change remaining dmeventd terminology 'register' to 'monitor'. 907 1.1 haad Update reporting man pages. 908 1.1 haad No longer necessary to specify alignment type for report fields. 909 1.1 haad 910 1.1 haad Version 2.02.19 - 17th January 2007 911 1.1 haad =================================== 912 1.1 haad Fix a segfault if an empty config file section encountered. 913 1.1 haad Move basic reporting functions into libdevmapper. 914 1.1 haad Fix partition table processing after sparc changes (2.02.16). 915 1.1 haad Fix cmdline PE range processing segfault (2.02.13). 916 1.1 haad Some libdevmapper-event interface changes. 917 1.1 haad Report dmeventd mirror monitoring status. 918 1.1 haad Fix dmeventd mirror status line processing. 919 1.1 haad 920 1.1 haad Version 2.02.18 - 11th January 2007 921 1.1 haad =================================== 922 1.1 haad Revised libdevmapper-event interface for dmeventd. 923 1.1 haad Remove dmeventd mirror status line word limit. 924 1.1 haad Use CFLAGS when linking so mixed sparc builds can supply -m64. 925 1.1 haad Prevent permission changes on active mirrors. 926 1.1 haad Print warning instead of error message if lvconvert cannot zero volume. 927 1.1 haad Add snapshot options to lvconvert man page. 928 1.1 haad dumpconfig accepts a list of configuration variables to display. 929 1.1 haad Change dumpconfig to use --file to redirect output to a file. 930 1.1 haad Avoid vgreduce error when mirror code removes the log LV. 931 1.1 haad Remove 3 redundant AC_MSG_RESULTs from configure.in. 932 1.1 haad Free memory in _raw_read_mda_header() error paths. 933 1.1 haad Fix ambiguous vgsplit error message for split LV. 934 1.1 haad Fix lvextend man page typo. 935 1.1 haad Add configure --with-dmdir to compile against a device-mapper source tree. 936 1.1 haad Use no flush suspending for mirrors. 937 1.1 haad Add dmeventd_mirror register_mutex, tidy initialisation & add memlock. 938 1.1 haad Fix create mirror with name longer than 22 chars. 939 1.1 haad Fix some activate.c prototypes when compiled without devmapper. 940 1.1 haad Fix dmeventd mirror to cope if monitored device disappears. 941 1.1 haad 942 1.1 haad Version 2.02.17 - 14th December 2006 943 1.1 haad ==================================== 944 1.1 haad Add missing pvremove error message when device doesn't exist. 945 1.1 haad When lvconvert allocates a mirror log, respect parallel area constraints. 946 1.1 haad Use loop to iterate through the now-ordered policy list in _allocate(). 947 1.1 haad Check for failure to allocate just the mirror log. 948 1.1 haad Introduce calc_area_multiple(). 949 1.1 haad Support mirror log allocation when there is only one PV: area_count now 0. 950 1.1 haad Fix detection of smallest area in _alloc_parallel_area() for cling policy. 951 1.1 haad Add manpage entry for clvmd -T 952 1.1 haad Fix gulm operation of clvmd, including a hang when doing lvchange -aey 953 1.1 haad Fix hang in clvmd if a pre-command failed. 954 1.1 haad 955 1.1 haad Version 2.02.16 - 1st December 2006 956 1.1 haad =================================== 957 1.1 haad Fix VG clustered read locks to use PR not CR. 958 1.1 haad Adjust some alignments for ia64/sparc. 959 1.1 haad Fix mirror segment removal to use temporary error segment. 960 1.1 haad Always compile debug logging into clvmd. 961 1.1 haad Add startup timeout to RHEL4 clvmd startup script. 962 1.1 haad Add -T (startup timeout) switch to clvmd. 963 1.1 haad Improve lvm_dump.sh robustness. 964 1.1 haad Update lvm2create_initrd to support gentoo. 965 1.1 haad 966 1.1 haad Version 2.02.15 - 21st November 2006 967 1.1 haad ==================================== 968 1.1 haad Fix clvmd_init_rhel4 line truncation (2.02.14). 969 1.1 haad Install lvmdump by default. 970 1.1 haad Fix check for snapshot module when activating snapshot. 971 1.1 haad Fix pvremove error path for case when PV is in use. 972 1.1 haad Warn if certain duplicate config file entries are seen. 973 1.1 haad Enhance lvm_dump.sh for sysreport integration and add man page. 974 1.1 haad Fix --autobackup argument which could never disable backups. 975 1.1 haad Fix a label_verify error path. 976 1.1 haad 977 1.1 haad Version 2.02.14 - 10th November 2006 978 1.1 haad ==================================== 979 1.1 haad Fix adjusted_mirror_region_size() to handle 64-bit size. 980 1.1 haad Add some missing bounds checks on 32-bit extent counters. 981 1.1 haad Add Petabyte and Exabyte support. 982 1.1 haad Fix lvcreate error message when 0 extents requested. 983 1.1 haad lvremove man page: volumes must be cluster inactive before being removed. 984 1.1 haad Protect .cache manipulations with fcntl locking. 985 1.1 haad Change .cache timestamp comparisons to use ctime. 986 1.1 haad Fix mirror log LV writing to set all bits in whole LV. 987 1.1 haad Fix clustered VG detection and default runlevels in clvmd_init_rhel4. 988 1.1 haad Fix high-level free space check for partial allocations. 989 1.1 haad 990 1.1 haad Version 2.02.13 - 27th October 2006 991 1.1 haad =================================== 992 1.1 haad Add couple of missing files to tools/Makefile CLEAN_TARGETS. 993 1.1 haad When adding snapshot leave cow LV mapped device active after zeroing. 994 1.1 haad Fix a clvmd debug message. 995 1.1 haad Add dev_flush() to set_lv(). 996 1.1 haad Add lvchange --resync. 997 1.1 haad Perform high-level free space check before each allocation attempt. 998 1.1 haad Don't allow a node to remove an LV that's exclusively active on anther node. 999 1.1 haad Cope if same PV is included more than once in cmdline PE range list. 1000 1.1 haad Set PV size to current device size if it is found to be zero. 1001 1.1 haad Add segment parameter to target_present functions. 1002 1.1 haad 1003 1.1 haad Version 2.02.12 - 16th October 2006 1004 1.1 haad =================================== 1005 1.1 haad Fix pvdisplay to use vg_read() for non-orphans. 1006 1.1 haad Fall back to internal locking if external locking lib is missing or fails. 1007 1.1 haad Retain activation state after changing LV minor number with --force. 1008 1.1 haad Propagate clustered flag in vgsplit and require resizeable flag. 1009 1.1 haad 1010 1.1 haad Version 2.02.11 - 12th October 2006 1011 1.1 haad =================================== 1012 1.1 haad Add clvmd function to return the cluster name. not used by LVM yet. 1013 1.1 haad Add cling allocation policy. 1014 1.1 haad Change _check_contiguous() to use _for_each_pv(). 1015 1.1 haad Extend _for_each_pv() to allow termination without error. 1016 1.1 haad Abstract _is_contiguous(). 1017 1.1 haad Remove duplicated pv arg from _check_contiguous(). 1018 1.1 haad Accept regionsize with lvconvert. 1019 1.1 haad Add report columns with underscore before field names ending 'size'. 1020 1.1 haad Correct regionsize default on lvcreate man page (MB). 1021 1.1 haad Fix clvmd bug that could cause it to die when a node with a long name crashed. 1022 1.1 haad Add device size to text metadata. 1023 1.1 haad Fix format_text mda_setup pv->size and pv_setup pe_count calculations. 1024 1.1 haad Fix _for_each_pv() for mirror with core log. 1025 1.1 haad Add lvm_dump.sh script to create a tarball of debugging info from a system. 1026 1.1 haad Capture error messages in clvmd and pass them back to the user. 1027 1.1 haad Remove unused #defines from filter-md.c. 1028 1.1 haad Make clvmd restart init script wait until clvmd has died before starting it. 1029 1.1 haad Add -R to clvmd which tells running clvmds to reload their device cache. 1030 1.1 haad Add LV column to reports listing kernel modules needed for activation. 1031 1.1 haad Show available fields if report given invalid field. (e.g. lvs -o list) 1032 1.1 haad Add timestamp functions with --disable-realtime configure option. 1033 1.1 haad Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg. 1034 1.1 haad Fix two potential NULL pointer derefs in error cases in vg_read(). 1035 1.1 haad Separate --enable-cluster from locking lib options in lvmconf.sh. 1036 1.1 haad Add a missing comma in lvcreate man page. 1037 1.1 haad 1038 1.1 haad Version 2.02.10 - 19th September 2006 1039 1.1 haad ===================================== 1040 1.1 haad Fix lvconvert mirror change case detection logic. 1041 1.1 haad Fix mirror log detachment so it correctly becomes a standalone LV. 1042 1.1 haad Extend _check_contiguous() to detect single-area LVs. 1043 1.1 haad Include mirror log (untested) in _for_each_pv() processing. 1044 1.1 haad Use MIRROR_LOG_SIZE constant. 1045 1.1 haad Remove struct seg_pvs from _for_each_pv() to generalise. 1046 1.1 haad Avoid adding duplicates to list of parallel PVs to avoid. 1047 1.1 haad Fix several incorrect comparisons in parallel area avoidance code. 1048 1.1 haad Fix segment lengths when flattening existing parallel areas. 1049 1.1 haad Log existing parallel areas prior to allocation. 1050 1.1 haad Fix mirror log creation when activation disabled. 1051 1.1 haad Don't attempt automatic recovery without proper locking. 1052 1.1 haad When using local file locking, skip clustered VGs. 1053 1.1 haad Add fallback_to_clustered_locking and fallback_to_local_locking parameters. 1054 1.1 haad lvm.static uses built-in cluster locking instead of external locking. 1055 1.1 haad Don't attempt to load shared libraries if built statically. 1056 1.1 haad Change default locking_lib to liblvm2clusterlock.so. 1057 1.1 haad Add skip_dev_dir() to process command line VGs. 1058 1.1 haad Stop clvmd complaining about nodes that have left the cluster. 1059 1.1 haad Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper. 1060 1.1 haad Add lvconvert man page. 1061 1.1 haad Add mirror options to man pages. 1062 1.1 haad Prevent mirror renames. 1063 1.1 haad Move CMDLIB code into separate file and record whether static build. 1064 1.1 haad 1065 1.1 haad Version 2.02.09 - 17th August 2006 1066 1.1 haad ================================== 1067 1.1 haad Fix PE_ALIGN for pagesize over 32KB. 1068 1.1 haad Separate out LVM1_PE_ALIGN and pe_align(). 1069 1.1 haad Add lvm_getpagesize wrapper. 1070 1.1 haad Add --maxphysicalvolumes to vgchange. 1071 1.1 haad 1072 1.1 haad Version 2.02.08 - 15th August 2006 1073 1.1 haad ================================== 1074 1.1 haad Add checks for duplicate LV name, lvid and PV id before writing metadata. 1075 1.1 haad Report all sanity check failures, not just the first. 1076 1.1 haad Fix missing lockfs on first snapshot creation. 1077 1.1 haad Add unreliable --trustcache option to reporting commands. 1078 1.1 haad Fix locking for mimage removal. 1079 1.1 haad Fix clvmd_init_rhel4 'status' exit code. 1080 1.1 haad 1081 1.1 haad Version 2.02.07 - 17th July 2006 1082 1.1 haad ================================ 1083 1.1 haad Fix activation logic in lvchange --persistent. 1084 1.1 haad Don't ignore persistent minor numbers when activating. 1085 1.1 haad Use RTLD_GLOBAL when loading shared libraries. 1086 1.1 haad Add some forgotten memlock checks to _vg_read to protect against full scans. 1087 1.1 haad Add mutex to dmeventd_mirror to avoid concurrent execution. 1088 1.1 haad Fix vgreduce --removemissing to return success if VG is already consistent. 1089 1.1 haad Fix return code if VG specified on command line is not found. 1090 1.1 haad Fix PV tools to include orphaned PVs in default output again. 1091 1.1 haad Fixed unaligned access when using clvm. 1092 1.1 haad Fix an extra dev_close in a label_read error path. 1093 1.1 haad Append patches to commit emails. 1094 1.1 haad Fix target_register_events args. 1095 1.1 haad Prevent snapshots of mirrors. 1096 1.1 haad Add DISTCLEAN_TARGETS to make template for configure.h. 1097 1.1 haad More fixes to error paths. 1098 1.1 haad Fix lvcreate corelog validation. 1099 1.1 haad Add --config for overriding most config file settings from cmdline. 1100 1.1 haad Quote arguments when printing command line. 1101 1.1 haad Remove linefeed from 'initialising logging' message. 1102 1.1 haad Add 'Completed' debug message. 1103 1.1 haad Don't attempt library exit after reloading config files. 1104 1.1 haad Always compile with libdevmapper, even if device-mapper is disabled. 1105 1.1 haad 1106 1.1 haad Version 2.02.06 - 12th May 2006 1107 1.1 haad =============================== 1108 1.1 haad Propagate --monitor around cluster. 1109 1.1 haad Add --monitor to vgcreate and lvcreate to control dmeventd registration. 1110 1.1 haad Filter LCK_NONBLOCK in clvmd lock_vg. 1111 1.1 haad Add --nosync to lvcreate with LV flag NOTSYNCED. 1112 1.1 haad Use mirror's uuid for a core log. 1113 1.1 haad Add mirror log fault-handling policy. 1114 1.1 haad Improve mirror warning messages and tidy dmeventd syslog output. 1115 1.1 haad Propagate nosync flag around cluster. 1116 1.1 haad Allow vgreduce to handle mirror log failures. 1117 1.1 haad Add --corelog to lvcreate and lvconvert. 1118 1.1 haad Create a log header for replacement in-sync mirror log. 1119 1.1 haad Use set_lv() and dev_set() to wipe sections of devices. 1120 1.1 haad Add mirror_in_sync() flag to avoid unnecessary resync on activation. 1121 1.1 haad Add mirror_library description to example.conf. 1122 1.1 haad Fix uuid_from_num() buffer overrun. 1123 1.1 haad Make SIZE_SHORT the default for display_size(). 1124 1.1 haad Fix some memory leaks in error paths found by coverity. 1125 1.1 haad Use C99 struct initialisers. 1126 1.1 haad Move DEFS into configure.h. 1127 1.1 haad Clean-ups to remove miscellaneous compiler warnings. 1128 1.1 haad Improve stripe size validation. 1129 1.1 haad Increase maximum stripe size limit to physical extent size for lvm2 metadata. 1130 1.1 haad Fix activation code to check for pre-existing mirror logs. 1131 1.1 haad Tighten region size validation. 1132 1.1 haad Ignore empty strings in config files. 1133 1.1 haad Require non-zero regionsize and document parameter on lvcreate man page. 1134 1.1 haad Invalidate cache if composition of VG changed externally. 1135 1.1 haad 1136 1.1 haad Version 2.02.05 - 21st April 2006 1137 1.1 haad ================================= 1138 1.1 haad Fix vgid string termination in recent cache code. 1139 1.1 haad 1140 1.1 haad Version 2.02.04 - 19th April 2006 1141 1.1 haad ================================= 1142 1.1 haad Check for libsepol. 1143 1.1 haad Add some cflow & scope support. 1144 1.1 haad Separate out DEFS from CFLAGS. 1145 1.1 haad Remove inlines and use unique function names. 1146 1.1 haad 1147 1.1 haad Version 2.02.03 - 14th April 2006 1148 1.1 haad ================================= 1149 1.1 haad vgrename accepts vgid and exported VG. 1150 1.1 haad Add --partial to pvs. 1151 1.1 haad When choosing between identically-named VGs, also consider creation_host. 1152 1.1 haad Provide total log suppression with 2. 1153 1.1 haad Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct. 1154 1.1 haad Add vgid to struct physical_volume and pass with vg_name to some functions. 1155 1.1 haad If two or more VGs are found with the same name, use one that is not exported. 1156 1.1 haad Whenever vgname is captured, also capture vgid and whether exported. 1157 1.1 haad Remove an incorrect unlock_vg() from process_each_lv(). 1158 1.1 haad Update extent size information in vgchange and vgcreate man pages. 1159 1.1 haad Introduce origin_from_cow() and lv_is_visible(). 1160 1.1 haad pvremove without -f now fails if there's no PV label. 1161 1.1 haad Support lvconvert -s. 1162 1.1 haad Suppress locking library load failure message if --ignorelockingfailure. 1163 1.1 haad Propagate partial mode around cluster. 1164 1.1 haad Fix archive file expiration. 1165 1.1 haad Fix dmeventd build. 1166 1.1 haad clvmd now uses libcman rather than cman ioctls. 1167 1.1 haad clvmd will allow new cman to shutdown on request. 1168 1.1 haad 1169 1.1 haad Version 2.02.02 - 7th February 2006 1170 1.1 haad =================================== 1171 1.1 haad Add %.so: %.a make template rule. 1172 1.1 haad Switchover library building to use LIB_SUFFIX. 1173 1.1 haad Only do lockfs filesystem sync when suspending snapshots. 1174 1.1 haad Always print warning if activation is disabled. 1175 1.1 haad vgreduce removes mirror images. 1176 1.1 haad Add --mirrorsonly to vgreduce. 1177 1.1 haad vgreduce replaces active LVs with error segment before removing them. 1178 1.1 haad Set block_on_error parameter if available. 1179 1.1 haad Add target_version. 1180 1.1 haad Add details to format1 'Invalid LV in extent map' error message. 1181 1.1 haad Fix lvscan snapshot full display. 1182 1.1 haad Bring lvdisplay man page example into line. 1183 1.1 haad Add mirror dmeventd library. 1184 1.1 haad Add some activation logic to remove_mirror_images(). 1185 1.1 haad lvconvert can remove specified PVs from a mirror. 1186 1.1 haad lvconvert turns an existing LV into a mirror. 1187 1.1 haad Allow signed mirrors arguments. 1188 1.1 haad Move create_mirror_log() into toollib. 1189 1.1 haad Determine parallel PVs to avoid with ALLOC_NORMAL allocation. 1190 1.1 haad Fix lv_empty. 1191 1.1 haad 1192 1.1 haad Version 2.02.01 - 23rd November 2005 1193 1.1 haad ==================================== 1194 1.1 haad Fix lvdisplay cmdline to accept snapshots. 1195 1.1 haad Fix open RO->RW promotion. 1196 1.1 haad Fix missing vg_revert in lvcreate error path. 1197 1.1 haad 1198 1.1 haad Version 2.02.00 - 10th November 2005 1199 1.1 haad ==================================== 1200 1.1 haad Extend allocation areas to avoid overflow with contiguous with other PVs. 1201 1.1 haad Stop lvcreate attempting to wipe zero or error segments. 1202 1.1 haad Added new lvs table attributes. 1203 1.1 haad Separated out activation preload. 1204 1.1 haad Moved activation functions into libdevmapper. 1205 1.1 haad Fixed build_dm_name. 1206 1.1 haad Add return macros. 1207 1.1 haad Added xen xvd devices. 1208 1.1 haad Clear up precommitted metadata better. 1209 1.1 haad A pvresize implementation. 1210 1.1 haad Fix contiguous allocation when there are no preceding segments. 1211 1.1 haad Add mirror_seg pointer to lv_segment struct. 1212 1.1 haad Only keep a device open if it's known to belong to a locked VG. 1213 1.1 haad Fix lvdisplay to show all mirror destinations. 1214 1.1 haad Replacement suspend code using libdevmapper dependency tree. 1215 1.1 haad Add DEFS to make.tmpl. 1216 1.1 haad Use dm_is_dm_major instead of local copy. 1217 1.1 haad Allow mapped devices to be used as PVs. 1218 1.1 haad Move set_selinux_context into libdevmapper. 1219 1.1 haad Fix automatic text metadata buffer expansion (using macro). 1220 1.1 haad Cache formatted text metadata buffer between metadata area writes. 1221 1.1 haad Add pe_start field to pvs. 1222 1.1 haad Add 'LVM-' prefix to uuids. 1223 1.1 haad Split lv_segment_area from lv_segment to permit extension. 1224 1.1 haad Replacement deactivation code using libdevmapper dependency tree. 1225 1.1 haad Simplify dev_manager_info(). 1226 1.1 haad Attempt to load missing targets using modprobe. 1227 1.1 haad Add -a to lvscan. 1228 1.1 haad Move mknodes into libdevmapper. 1229 1.1 haad Move bitset, hash, pool and dbg_malloc into libdevmapper. 1230 1.1 haad 1231 1.1 haad Version 2.01.15 - 16th October 2005 1232 1.1 haad =================================== 1233 1.1 haad Refuse to run pvcreate/pvremove on devices we can't open exclusively. 1234 1.1 haad Use ORPHAN lock definition throughout. 1235 1.1 haad Validate chunksize in lvcreate. 1236 1.1 haad Reduce chunksize limit to 512k. 1237 1.1 haad Fix chunksize field in reports. 1238 1.1 haad Don't hide snapshots from default 'lvs' output. 1239 1.1 haad Add is_dm_major() for use in duplicate device detection in lvmcache_add(). 1240 1.1 haad Really switch device number in lvmcache when it says it is doing so. 1241 1.1 haad Option for bitset memory allocation using malloc as well as pool. 1242 1.1 haad Don't assume exactly two mirrors when parsing mirror status. 1243 1.1 haad Suppress fsync() error message on filesystems that don't support it. 1244 1.1 haad Fix yes_no_prompt() error handling. 1245 1.1 haad Add lvm.conf comment warning against multiple filter lines. 1246 1.1 haad Tidy lvmconf.sh. 1247 1.1 haad Add format1 dev_write debug messages. 1248 1.1 haad Add clustered VG attribute to report. 1249 1.1 haad Move lvconvert parameters into struct lvconvert_params. 1250 1.1 haad Add clustered VG flag to LV lock requests. 1251 1.1 haad Change LV locking macros to take lv instead of lvid. 1252 1.1 haad Prepend 'cluster' activation parameter to mirror log when appropriate. 1253 1.1 haad Pass exclusive flag to lv_activate and on to target activation code. 1254 1.1 haad Prevent snapshot creation in a clustered VG for now. 1255 1.1 haad Factor out adjusted_mirror_region_size() and generate_log_name_format(). 1256 1.1 haad Move compose_log_line() into mirror directory. 1257 1.1 haad Factor out _get_library_path(). 1258 1.1 haad Don't kill idling clvmd threads. 1259 1.1 haad clvmd no longer takes out locks for non-clustered LVs. 1260 1.1 haad Recognise ATA over Ethernet (aoe) devices. 1261 1.1 haad 1262 1.1 haad Version 2.01.14 - 4th August 2005 1263 1.1 haad ================================= 1264 1.1 haad Fix lvconvert PV parameter in help string. 1265 1.1 haad Prevent snapshots getting activated in a clustered VG. 1266 1.1 haad Separate out _build_dev_string. 1267 1.1 haad Move zero_lv to toollib. 1268 1.1 haad Fix pool format handler to work with pv segment code. 1269 1.1 haad 1270 1.1 haad Version 2.01.13 - 13th July 2005 1271 1.1 haad ================================ 1272 1.1 haad Fix pvmove segment splitting. 1273 1.1 haad Abstract vg_validate. 1274 1.1 haad Only make one attempt at contiguous allocation. 1275 1.1 haad Fix lvm1 format metadata read. 1276 1.1 haad Fix lvm1 format non-mirror lvcreate. 1277 1.1 haad 1278 1.1 haad Version 2.01.12 - 14th June 2005 1279 1.1 haad ================================ 1280 1.1 haad Various allocation-related pvmove fixes. 1281 1.1 haad Log an error if clvmd can't resolve a host name got from CCS. 1282 1.1 haad Fix potential spin loop in clvmd. 1283 1.1 haad 1284 1.1 haad Version 2.01.11 - 13th June 2005 1285 1.1 haad ================================ 1286 1.1 haad Added lvmconf.sh. 1287 1.1 haad Use matchpathcon mode parameter. 1288 1.1 haad Don't defer closing dead FDs in clvmd. 1289 1.1 haad Remove hard-coded 64k text metadata writing restriction. 1290 1.1 haad Make VG name restrictions consistent. 1291 1.1 haad Introduce lvconvert. So far only removes mirror images. 1292 1.1 haad Allow mirror images to be resized. 1293 1.1 haad Allow mirror images to have more than one segment. 1294 1.1 haad Centralise restrictions on LV names. 1295 1.1 haad Always insert an intermediate layer for mirrors. 1296 1.1 haad Suppress hidden LVs from reports unless --all is given. 1297 1.1 haad Use square brackets for hidden LVs in reports. 1298 1.1 haad Allow the creation of mirrors with contiguous extents. 1299 1.1 haad Always perform sanity checks against metadata before committing it to disk. 1300 1.1 haad Split lv_extend into two steps: choosing extents + allocation to LV(s). 1301 1.1 haad Add mirror log region size to metadata. 1302 1.1 haad Use list_iterate_items throughout and add list*back macros. 1303 1.1 haad Introduce seg_ macros to access areas. 1304 1.1 haad Add segtype_is_ macros. 1305 1.1 haad Support tiny metadata areas for pool conversions. 1306 1.1 haad Mirror activation handles disk log as well as core. 1307 1.1 haad Activation code recognises mirror log dependency. 1308 1.1 haad Add mirror_log and regionsize fields to report. 1309 1.1 haad Fix non-orphan pvchange -u. 1310 1.1 haad Fix vgmerge to handle duplicate LVIDs. 1311 1.1 haad Move archiver code from tools into library. 1312 1.1 haad vgscan/change/display/vgs automatically create metadata backups if needed. 1313 1.1 haad Merge cloned allocation functions. 1314 1.1 haad Fix contiguous allocation policy with linear. 1315 1.1 haad Cope with missing format1 PVs again. 1316 1.1 haad Remove lists of free PV segments. 1317 1.1 haad Simplify pv_maps code and remove slow bitset algorithm. 1318 1.1 haad Red-Hat-ify the clvmd rhel4 initscript. 1319 1.1 haad %Zu->%zu 1320 1.1 haad Fix loopfiles alias alloc & mem debugging. 1321 1.1 haad Un-inline dbg_strdup. 1322 1.1 haad lv_reduce tidying. 1323 1.1 haad Remove some unnecessary parameters. 1324 1.1 haad Introduce seg_is macros. 1325 1.1 haad 1326 1.1 haad Version 2.01.10 - 3rd May 2005 1327 1.1 haad ============================== 1328 1.1 haad Don't create backup and archive dirs till needed. 1329 1.1 haad Reinstate full PV size when removing from VG. 1330 1.1 haad Support loopfiles for testing. 1331 1.1 haad Tidy lv_segment interface. 1332 1.1 haad pv_segment support. 1333 1.1 haad vgchange --physicalextentsize 1334 1.1 haad Internal snapshot restructuring. 1335 1.1 haad Remove unused internal non-persistent snapshot option. 1336 1.1 haad Allow offline extension of snapshot volumes. 1337 1.1 haad Move from 2-step to 3-step on-disk metadata commit. 1338 1.1 haad Scan ramdisks too and allow non-O_DIRECT fallback. 1339 1.1 haad Annotate, tidy and extend list.h. 1340 1.1 haad Alignment tidying. 1341 1.1 haad Make clvmd work around some "bugs" in gulm's node state notifications. 1342 1.1 haad Tidy clvmd's SIGHUP handler 1343 1.1 haad 1344 1.1 haad Version 2.01.09 - 4th April 2005 1345 1.1 haad ================================ 1346 1.1 haad Add --ignorelockingfailure to vgmknodes. 1347 1.1 haad clvmd: Don't allow user operations to start until the lvm thread is fully up. 1348 1.1 haad clvmd-gulm: set KEEPALIVE on sockets. 1349 1.1 haad 1350 1.1 haad Version 2.01.08 - 22nd March 2005 1351 1.1 haad ================================= 1352 1.1 haad Add clustered attribute so vgchange can identify clustered VGs w/o locking. 1353 1.1 haad Improve detection of external changes affecting internal cache. 1354 1.1 haad Add 'already in device cache' debug message. 1355 1.1 haad Add -a to pvdisplay -C. 1356 1.1 haad Avoid rmdir opendir error messsages when dir was already removed. 1357 1.1 haad Tighten signal handlers. 1358 1.1 haad Avoid some compiler warnings. 1359 1.1 haad Additional rename failure error message. 1360 1.1 haad read/write may be macros. 1361 1.1 haad clvmd: don't take out lvm thread lock at startup, it only protects jobs list. 1362 1.1 haad 1363 1.1 haad Version 2.01.07 - 8th March 2005 1364 1.1 haad ================================ 1365 1.1 haad Cope with new devices appearing by rescanning /dev if a uuid can't be found. 1366 1.1 haad Remove DESTDIR from LVM_SHARED_PATH. 1367 1.1 haad clvmd fixes: make FDs close-on-exec 1368 1.1 haad gulm unlocks VG & orphan locks at startup in case they are stale 1369 1.1 haad gulm now unlocks VG & orphan locks if client dies. 1370 1.1 haad 1371 1.1 haad Version 2.01.06 - 1st March 2005 1372 1.1 haad ================================ 1373 1.1 haad Suppress 'open failed' error messages during scanning. 1374 1.1 haad Option to suppress warnings of file descriptors left open. 1375 1.1 haad Fix default value of metadatacopies in documentation (2->1). 1376 1.1 haad Fix clvmd-gulm locking. 1377 1.1 haad ./configure --enable-debug now enables debugging code in clvmd. 1378 1.1 haad Fix clvmd-gulm node up/down code so it actually works. 1379 1.1 haad clvmd-gulm now releases locks when shut down. 1380 1.1 haad 1381 1.1 haad Version 2.01.05 - 18th February 2005 1382 1.1 haad ==================================== 1383 1.1 haad Static binary invokes dynamic binary if appropriate. 1384 1.1 haad Make clvmd config check a little more tolerant. 1385 1.1 haad gulm clvmd can now cope with >1 message arriving in a TCP message. 1386 1.1 haad 1387 1.1 haad Version 2.01.04 - 9th February 2005 1388 1.1 haad =================================== 1389 1.1 haad Add fixed offset to imported pool minor numbers. 1390 1.1 haad Update binary pathnames in clvmd_init_rhel4. 1391 1.1 haad lvm2cmd.so should skip the check for open fds. 1392 1.1 haad Remove unused -f from pvmove. 1393 1.1 haad Gulm clvmd doesn't report "connection refused" errors. 1394 1.1 haad clvmd does a basic config file sanity check at startup. 1395 1.1 haad Fix potential thread shutdown race in clvmd. 1396 1.1 haad 1397 1.1 haad Version 2.01.03 - 1st February 2005 1398 1.1 haad =================================== 1399 1.1 haad More 64-bit display/report fixes. 1400 1.1 haad More informative startup mesg if can't create /etc/lvm. 1401 1.1 haad Fix snapshot device size bug (since 2.01.01). 1402 1.1 haad clvmd announces startup and cluster connection in syslog. 1403 1.1 haad Gulm clvmd doesn't hang trying to talk to a rebooted node. 1404 1.1 haad Gulm clvmd doesn't print cman error on startup. 1405 1.1 haad 1406 1.1 haad Version 2.01.02 - 21st January 2005 1407 1.1 haad =================================== 1408 1.1 haad Update clvmd_init_rhel4: use lvm.static and don't load dlm. 1409 1.1 haad Fix some size_t printing. 1410 1.1 haad Fix 64 bit xlate consts. 1411 1.1 haad Split out pool sptype_names to avoid unused const. 1412 1.1 haad Always fail if random id generation fails. 1413 1.1 haad Recognise gnbd devices. 1414 1.1 haad Fix clvmd startup bug introduced in cman/gulm amalgamation. 1415 1.1 haad Improve reporting of node-specific locking errors. 1416 1.1 haad 1417 1.1 haad Version 2.01.01 - 19th January 2005 1418 1.1 haad =================================== 1419 1.1 haad Fix clvmd lv_info_by_lvid open_count. 1420 1.1 haad Store snapshot and origin sizes separately. 1421 1.1 haad Update vgcreate man page. 1422 1.1 haad 1423 1.1 haad Version 2.01.00 - 17th January 2005 1424 1.1 haad =================================== 1425 1.1 haad Fix vgscan metadata auto-correction. 1426 1.1 haad Only ask libdevmapper for open_count when we need it. 1427 1.1 haad Adjust RHEL4 clvmd init script priority. 1428 1.1 haad Enable building of CMAN & GULM versions of clvmd into a single binary 1429 1.1 haad 1430 1.1 haad Version 2.00.33 - 7th January 2005 1431 1.1 haad ================================== 1432 1.1 haad pvcreate wipes first 4 sectors unless given --zero n. 1433 1.1 haad gulm clvmd now uses new ccsd key names. 1434 1.1 haad gulm clvmd now doesn't ignore the first node in cluster.conf 1435 1.1 haad Improve clvmd failure message if it's already running. 1436 1.1 haad Allow user to kill clvmd during initialisation. 1437 1.1 haad Fix off-by-one error in cluster_locking that could cause read hangs. 1438 1.1 haad 1439 1.1 haad Version 2.00.32 - 22nd December 2004 1440 1.1 haad ==================================== 1441 1.1 haad Drop static/dl restriction for now. 1442 1.1 haad Fix an error fprintf. 1443 1.1 haad Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. 1444 1.1 haad Fix device reference counting on re-opens. 1445 1.1 haad Ignore sysfs symlinks when DT_UNKNOWN. 1446 1.1 haad Add clvmd init script for RHEL4. 1447 1.1 haad Skip devices that are too small to be PVs. 1448 1.1 haad Fix pvchange -x segfault with lvm2-format orphan. 1449 1.1 haad Cope with empty msdos partition tables. 1450 1.1 haad Add CONTRIBUTORS file. 1451 1.1 haad 1452 1.1 haad Version 2.00.31 - 12th December 2004 1453 1.1 haad ==================================== 1454 1.1 haad Reopen RO file descriptors RW if necessary. 1455 1.1 haad 1456 1.1 haad Version 2.00.30 - 10th December 2004 1457 1.1 haad ==================================== 1458 1.1 haad Additional device-handling debug messages. 1459 1.1 haad Additional verbosity level -vvvv includes line numbers and backtraces. 1460 1.1 haad Verbose messages now go to stderr not stdout. 1461 1.1 haad Close any stray file descriptors before starting. 1462 1.1 haad Refine partitionable checks for certain device types. 1463 1.1 haad Allow devices/types to override built-ins. 1464 1.1 haad Fix lvreduce man page .i->.I 1465 1.1 haad Fix vgsplit man page title. 1466 1.1 haad Fix clvmd man makefile. 1467 1.1 haad Extend dev_open logging. 1468 1.1 haad Make clvmd_fix_conf.sh UNDOable. 1469 1.1 haad 1470 1.1 haad Version 2.00.29 - 27th November 2004 1471 1.1 haad ==================================== 1472 1.1 haad xlate compilation fix. 1473 1.1 haad 1474 1.1 haad Version 2.00.28 - 27th November 2004 1475 1.1 haad ==================================== 1476 1.1 haad Fix partition table & md signature detection. 1477 1.1 haad Minor configure/makefile tidy. 1478 1.1 haad Export version.h from tools for clvmd. 1479 1.1 haad 1480 1.1 haad Version 2.00.27 - 24th November 2004 1481 1.1 haad ==================================== 1482 1.1 haad Trap large memory allocation requests. 1483 1.1 haad Fix to partition table detection code. 1484 1.1 haad Improve filter debug mesgs. 1485 1.1 haad Make clvmd_fix_conf.sh UNDOable 1486 1.1 haad 1487 1.1 haad Version 2.00.26 - 23rd November 2004 1488 1.1 haad ==================================== 1489 1.1 haad Improve pool debugging stats. 1490 1.1 haad Detect partition table signature. 1491 1.1 haad pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.) 1492 1.1 haad Separate out md superblock detection code. 1493 1.1 haad Prevent snapshot origin resizing. 1494 1.1 haad Improve a vgremove error message. 1495 1.1 haad Update some man pages. 1496 1.1 haad Allow y/n with -ae args (exclusive activation). 1497 1.1 haad Fixes to lvcreate vgname parsing. 1498 1.1 haad Fix dm_name string size calculation. 1499 1.1 haad Improve clvmd error reporting during startup. 1500 1.1 haad Make clvmd cope with large gaps in node numbers IDs. 1501 1.1 haad Make clvmd initialisation cope better with debugging output. 1502 1.1 haad Tidy clvmd socket callbacks so all work happens outside main loop. 1503 1.1 haad clvmd -V now displays lvm version too. 1504 1.1 haad Add optional gulm build for clvmd 1505 1.1 haad 1506 1.1 haad Version 2.00.25 - 29th September 2004 1507 1.1 haad ===================================== 1508 1.1 haad Fix return code from rm_link for vgmknodes. 1509 1.1 haad Make clvmd LV hash table thread-safe. 1510 1.1 haad Fix clvmd locking so it will lock out multiple users on the same node. 1511 1.1 haad Fix clvmd VG locking to it can cope with multiple VG locks. 1512 1.1 haad Remove spurious trailing dot in lvreduce man page. 1513 1.1 haad Fix vgremove locking. 1514 1.1 haad 1515 1.1 haad Version 2.00.24 - 16th September 2004 1516 1.1 haad ===================================== 1517 1.1 haad Fix pool_empty so it really does empty the memory pool. 1518 1.1 haad Rename old segtypes files to segtype. 1519 1.1 haad Some fixes to memory debugging code. 1520 1.1 haad Exclude internal commands formats & segtypes from install. 1521 1.1 haad 1522 1.1 haad Version 2.00.23 - 15th September 2004 1523 1.1 haad ===================================== 1524 1.1 haad Export dm name build & split functions. 1525 1.1 haad Use O_NOATIME on devices if available. 1526 1.1 haad Write log message when each segtype/format gets initialised. 1527 1.1 haad New commands 'segtypes' and 'formats'. 1528 1.1 haad Suppress pvmove abort message in test mode. 1529 1.1 haad Improve pvcreate/remove device not found error message. 1530 1.1 haad Allow pvmove to move data within the same PV. 1531 1.1 haad Describe how pvmove works on man page. 1532 1.1 haad Test for incompatible format/segtype combinations in lv_extend. 1533 1.1 haad Fix lvchange example on man page. 1534 1.1 haad 1535 1.1 haad Version 2.00.22 - 3rd September 2004 1536 1.1 haad ==================================== 1537 1.1 haad Fix /dev/vgname perms. 1538 1.1 haad Restructure xlate.h. 1539 1.1 haad Add clvmd man page. 1540 1.1 haad 1541 1.1 haad Version 2.00.21 - 19th August 2004 1542 1.1 haad ================================== 1543 1.1 haad Update cnxman-socket.h from cman. 1544 1.1 haad Recognise iseries/vd devices. 1545 1.1 haad Use 'make install_cluster' to install cluster extensions only. 1546 1.1 haad Cope with DT_UNKNOWN in sysfs. 1547 1.1 haad Fix extents_moved metadata size comment. 1548 1.1 haad Remove duplicate line in pvremove help text. 1549 1.1 haad Support variable mirror region size. 1550 1.1 haad Support PE ranges in pvmove source PV. 1551 1.1 haad Fixes to as-yet-unused LV segment splitting code. 1552 1.1 haad Change alloc_areas to pe_ranges and allow suppression of availability checks. 1553 1.1 haad Add dev_size column to pvs. 1554 1.1 haad Add report columns for in-kernel device number. 1555 1.1 haad 1556 1.1 haad Version 2.00.20 - 3 July 2004 1557 1.1 haad ============================= 1558 1.1 haad More autoconf fixes. 1559 1.1 haad Fix device number handling for 2.6 kernels. 1560 1.1 haad 1561 1.1 haad Version 2.00.19 - 29 June 2004 1562 1.1 haad ============================== 1563 1.1 haad Reduce severity of setlocale failure message. 1564 1.1 haad Recognise argv[0] "initrd-lvm" (pld-linux). 1565 1.1 haad Make -O2 configurable. 1566 1.1 haad Added --disable-selinux to configure script. 1567 1.1 haad LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script. 1568 1.1 haad Add init_debug to clvmd. 1569 1.1 haad 1570 1.1 haad Version 2.00.18 - 24 June 2004 1571 1.1 haad ============================== 1572 1.1 haad Fix vgchange activation. 1573 1.1 haad Add cluster support. 1574 1.1 haad 1575 1.1 haad Version 2.00.17 - 20 June 2004 1576 1.1 haad ============================== 1577 1.1 haad configure --enable-fsadm to try out fsadm. fsadm is not tested yet. 1578 1.1 haad Display all filtered devices, not just PVs, with pvs -a. 1579 1.1 haad Fix sync_dir() when no / in filename 1580 1.1 haad vgcfgbackup -f accepts template with %s for VG name. 1581 1.1 haad Extend hash functions to handle non-null-terminated data. 1582 1.1 haad Add local activation support. 1583 1.1 haad Tidy relative paths in makefile includes. 1584 1.1 haad fsadm support for fsck and resizing - needs testing. 1585 1.1 haad Add read-only GFS pool support. 1586 1.1 haad Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/ 1587 1.1 haad Fix rounding of large diplayed sizes. 1588 1.1 haad Suppress decimal point when using units of sectors/bytes. 1589 1.1 haad Additional kernel target checks before pvmove & snapshot creation. 1590 1.1 haad Add i2o_block. 1591 1.1 haad 1592 1.1 haad Version 2.00.16 - 24 May 2004 1593 1.1 haad ============================= 1594 1.1 haad Set area_count within alloc_lv_segment. 1595 1.1 haad Remove error labels from lvresize. 1596 1.1 haad Fix a pvs error path. 1597 1.1 haad xxchange -ae for exclusive activation. 1598 1.1 haad Don't return non-zero status if there aren't any volume groups. 1599 1.1 haad Add --alloc argument to tools. 1600 1.1 haad Rename allocation policies to contiguous, normal, anywhere, inherit. 1601 1.1 haad nextfree becomes normal; anywhere isn't implemented yet. 1602 1.1 haad LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal 1603 1.1 haad Additional status character added to vgs to indicate allocation policy. 1604 1.1 haad Add reset_fn to external_locking. 1605 1.1 haad Ensure presence of virtual targets before attempting activating. 1606 1.1 haad Attempt to fix resizing of snapshot origins. 1607 1.1 haad Restructure lvresize, bringing it closer to lvcreate. 1608 1.1 haad A quick sanity check on vg_disk struct when read in. More checks needed. 1609 1.1 haad Only include visible LVs in active/open counts. 1610 1.1 haad Add virtual segment types, zero and error. A large sparse device can be 1611 1.1 haad constructed as a writeable snapshot of a large zero segment. 1612 1.1 haad Add --type to lvcreate/resize. 1613 1.1 haad Push lv_create & alloc policy up to tool level. 1614 1.1 haad Fix pvdisplay return code. 1615 1.1 haad Detect invalid LV names in arg lists. 1616 1.1 haad Reporting uses line-at-a-time output. 1617 1.1 haad lvm2 format sets unlimited_vols format flag. 1618 1.1 haad Internal-only metadata flag support. 1619 1.1 haad Basic checking for presence of device-mapper targets. 1620 1.1 haad Separate out polldaemon. 1621 1.1 haad Revise internal locking semantics. 1622 1.1 haad Move find_pv_by_name to library. 1623 1.1 haad Rename move->copy. 1624 1.1 haad Add devices to segments report. 1625 1.1 haad Begin separating out segment code. There's a lot of change here. 1626 1.1 haad Compress any (obsolete) long LVM1 pvids encountered. 1627 1.1 haad Support for tagged config files. 1628 1.1 haad Don't abort operations if selinux present but disabled. 1629 1.1 haad Fix typo in configure which left HAVE_LIBDL unset. 1630 1.1 haad 1631 1.1 haad Version 2.00.15 - 19 Apr 2004 1632 1.1 haad ============================= 1633 1.1 haad configure --with-owner= --with-group= to avoid -o and -g args to 'install' 1634 1.1 haad 1635 1.1 haad Version 2.00.14 - 16 Apr 2004 1636 1.1 haad ============================= 1637 1.1 haad Use 64-bit file functions by default. 1638 1.1 haad 1639 1.1 haad Version 2.00.13 - 16 Apr 2004 1640 1.1 haad ============================= 1641 1.1 haad Set devices/md_component_detection = 1 to ignore devices containing md 1642 1.1 haad superblocks. [Luca Berra] 1643 1.1 haad Ignore error setting selinux file context if fs doesn't support it. 1644 1.1 haad 1645 1.1 haad Version 2.00.12 - 14 Apr 2004 1646 1.1 haad ============================= 1647 1.1 haad Install a default lvm.conf into /etc/lvm if there isn't one already. 1648 1.1 haad Allow different installation dir for lvm.static (configure --staticdir=) 1649 1.1 haad Fix inverted selinux error check. 1650 1.1 haad Recognise power2 in /proc/devices. 1651 1.1 haad Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.] 1652 1.1 haad 1653 1.1 haad Version 2.00.11 - 8 Apr 2004 1654 1.1 haad ============================ 1655 1.1 haad Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback) 1656 1.1 haad to run lvm1 binaries if running a 2.4 kernel without device-mapper. 1657 1.1 haad 1658 1.1 haad Version 2.00.10 - 7 Apr 2004 1659 1.1 haad ============================ 1660 1.1 haad More fixes for static build. 1661 1.1 haad Add basic selinux support. 1662 1.1 haad Fix sysfs detection. 1663 1.1 haad 1664 1.1 haad Version 2.00.09 - 31 Mar 2004 1665 1.1 haad ============================= 1666 1.1 haad Update copyright notices for Red Hat. 1667 1.1 haad Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd). 1668 1.1 haad Add LVM1-style colon output to vgdisplay. 1669 1.1 haad lvchange --refresh to reload active LVs. 1670 1.1 haad Add string display to memory leak dump. 1671 1.1 haad Add locking flags & memlock option. 1672 1.1 haad Add list_versions to library. 1673 1.1 haad Ignore open hidden LVs when checking if deactivation is OK. 1674 1.1 haad Suppress move percentage when device inactive. 1675 1.1 haad Add lv_info_by_lvid. 1676 1.1 haad Various tidy-ups to the build process. 1677 1.1 haad Rebaseline internal verbose level. 1678 1.1 haad Add --nolocking option for read operations if locking is failing. 1679 1.1 haad Add option to compile into a library. 1680 1.1 haad When compiled without libdevmapper, only print warning message once. 1681 1.1 haad Fix lvreduce PV extent calculations. 1682 1.1 haad Fix DESTDIR to work with configure path overrides. 1683 1.1 haad Always use / as config file separator & rename internal config file variables. 1684 1.1 haad Add support for tagging PV/VG/LVs and hosts. 1685 1.1 haad Fix rare bug in recognition of long cmdline argument forms. 1686 1.1 haad Add basic internationalisation infrastructure. 1687 1.1 haad Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels. 1688 1.1 haad Update autoconf files. 1689 1.1 haad Add sysfs block device filtering for 2.6 kernels. 1690 1.1 haad Update refs for move to sources.redhat.com. 1691 1.1 haad 1692 1.1 haad Friday 14th November 2003 1693 1.1 haad ========================= 1694 1.1 haad Some bug fixes & minor enhancements, including: 1695 1.1 haad Backwards compatibility with LVM1 metadata improved. 1696 1.1 haad Missing man pages written. 1697 1.1 haad Tool error codes made more consistent. 1698 1.1 haad vgmknodes written. 1699 1.1 haad O_DIRECT can be turned off if it doesn't work in your kernel. 1700 1.1 haad dumpconfig to display the active configuration file 1701 1.1 haad 1702 1.1 haad You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'. 1703 1.1 haad If your root filesystem is on an LV, you should run one of those two 1704 1.1 haad commands to fix up the special files in /dev in your real root filesystem 1705 1.1 haad after finishing with your initrd. Also, remember you can use 1706 1.1 haad 'vgchange --ignorelockingfailure' on your initrd if the tool fails because 1707 1.1 haad it can't write a lock file to a read-only filesystem. 1708 1.1 haad 1709 1.1 haad Wednesday 30th April 2003 1710 1.1 haad ========================= 1711 1.1 haad A pvmove implementation is now available for the new metadata format. 1712 1.1 haad 1713 1.1 haad When running a command that allocates space (e.g. lvcreate), you can now 1714 1.1 haad restrict not only which disk(s) may be used but also the Physical Extents 1715 1.1 haad on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000 1716 1.1 haad 1717 1.1 haad 1718 1.1 haad Monday 18th November 2002 1719 1.1 haad ======================== 1720 1.1 haad 1721 1.1 haad The new format of LVM metadata is ready for you to test! 1722 1.1 haad We expect it to be more efficient and more robust than the original format. 1723 1.1 haad It's more compact and supports transactional changes and replication. 1724 1.1 haad Should things go wrong on a system, it's human-readable (and editable). 1725 1.1 haad 1726 1.1 haad Please report any problems you find to the mailing list, 1727 1.1 haad linux-lvm (a] sistina.com. The software has NOT yet been thoroughly 1728 1.1 haad tested and so quite possibly there'll still be some bugs in it. 1729 1.1 haad Be aware of the disclaimer in the COPYING file. 1730 1.1 haad 1731 1.1 haad While testing, we recommend turning logging on in the configuration file 1732 1.1 haad to provide us with diagnostic information: 1733 1.1 haad log { 1734 1.1 haad file="/tmp/lvm2.log" 1735 1.1 haad level=7 1736 1.1 haad activation=1 1737 1.1 haad } 1738 1.1 haad 1739 1.1 haad You should schedule regular backups of your configuration file and 1740 1.1 haad metadata backups and archives (normally kept under /etc/lvm). 1741 1.1 haad 1742 1.1 haad Please read docs/example.conf and "man lvm.conf" to find out more about 1743 1.1 haad the configuration file. 1744 1.1 haad 1745 1.1 haad To convert an existing volume group called vg1 to the new format using 1746 1.1 haad the default settings, use "vgconvert -M2 vg1". See "man vgconvert". 1747 1.1 haad 1748 1.1 haad -M (or --metadatatype in its long form) is a new flag to indicate which 1749 1.1 haad format of metadata the command should use for anything it creates. 1750 1.1 haad Currently, the valid types are "lvm1" and "lvm2" and they can be 1751 1.1 haad abbreviated to "1" and "2" respectively. The default value for this 1752 1.1 haad flag can be changed in the global section in the config file. 1753 1.1 haad 1754 1.1 haad Backwards-compatible support for the original LVM1 metadata format is 1755 1.1 haad maintained, but it can be moved into a shared library or removed 1756 1.1 haad completely with configure's --with-lvm1 option. 1757 1.1 haad 1758 1.1 haad Under LVM2, the basic unit of metadata is the volume group. Different 1759 1.1 haad volume groups can use different formats of metadata - vg1 could use 1760 1.1 haad the original LVM1 format while vg2 used the new format - but you can't 1761 1.1 haad mix formats within a volume group. So to add a PV to an LVM2-format 1762 1.1 haad volume group you must run "pvcreate -M2" on it, followed by "vgextend". 1763 1.1 haad 1764 1.1 haad With LVM2-format metadata, lvextend will let you specify striping 1765 1.1 haad parameters. So an LV could consist of two or more "segments" - the 1766 1.1 haad first segment could have 3 stripes while the second segment has just 2. 1767 1.1 haad 1768 1.1 haad LVM2 maintains a backup of the current metadata for each volume group 1769 1.1 haad in /etc/lvm/backup, and puts copies of previous versions in 1770 1.1 haad /etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to 1771 1.1 haad create and restore from these files. If you fully understand what 1772 1.1 haad you're doing, metadata can be changed by editing a copy of a current 1773 1.1 haad backup file and using vgcfgrestore to reload it. 1774 1.1 haad 1775 1.1 haad Please read the pvcreate man page for more information on the new 1776 1.1 haad format for metadata. 1777 1.1 haad 1778 1.1 haad All tools that can change things have a --test flag which can be used 1779 1.1 haad to check the effect of a set of cmdline args without really making the 1780 1.1 haad changes. 1781 1.1 haad 1782 1.1 haad 1783 1.1 haad What's not finished? 1784 1.1 haad ==================== 1785 1.1 haad The internal cache. If you turn on debugging output you'll see lots of 1786 1.1 haad repeated messages, many of which will eventually get optimised out. 1787 1.1 haad 1788 1.1 haad --test sometimes causes a command to fail (e.g. vgconvert --test) even 1789 1.1 haad though the real command would work: again, fixing this is waiting for 1790 1.1 haad the work on the cache. 1791 1.1 haad 1792 1.1 haad Several of the tools do not yet contain the logic to handle full 1793 1.1 haad recovery: combinations of pvcreate and vgcfgrestore may sometimes be 1794 1.1 haad needed to restore metadata if a tool gets interrupted or crashes or 1795 1.1 haad finds something unexpected. This applies particularly to tools that 1796 1.1 haad work on more than one volume group at once (e.g. vgsplit). 1797 1.1 haad 1798 1.1 haad Display output. Some metadata information cannot yet be displayed. 1799 1.1 haad 1800 1.1 haad Recovery tools to salvage "lost" metadata directly from the disks: 1801 1.1 haad but we hope the new format will mean such tools are hardly ever needed! 1802