Gitweb:
http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=b0d2a9992e413c...
Commit: b0d2a9992e413c2f51dda8647b2485d1f07fb635
Parent: 0000000000000000000000000000000000000000
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: 2013-08-13 10:42 +0000
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: 2013-08-13 10:42 +0000
annotated tag: v2_02_100 has been created
at b0d2a9992e413c2f51dda8647b2485d1f07fb635 (tag)
tagging 297907899c389fef074eeb56fd0d7b60d66dbb35 (commit)
Release 2.02.100
84 files changed, 1540 insertions(+), 442 deletions(-)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJSCg2iAAoJEK2W1qbAHj1nnXAP/i3ttt8LqYExgqm+TRi0zeC5
0bzhZtlzCmR7RGqZj2Myr5pYEFcV29DuRkDyoLROmGw3A1FEIPk7KulsnGPSGjmF
R7fzio86y6allQ2rsxxHCp5epzsp5vYd8WLVj2DR/eHTkT297rHjSIS4WgBgNQdq
TPLg3Alkt/+lCbU8MdJH4pXgh3Uofolhw0C2C01qAaWhP/9EqBJ0Puzjyy0w7Ect
UWf1OumcrNMHb4VtbKsEbQ/dehgwwbTxxQovCxrThFZFp678N5jeH3fKZbTE+u1g
jRB6eGy23h48oNN6TGo6zfNE6CMH2u6LsmeUsXRxZgim6xpW0FcoLmbsLXPpn8eS
6a8C3uQcpMEJkwBfVGqG6y7TV1M56M2eWJriPv1ykGDNQ91+vurHiQhpqb6Ik8nq
yN7tOVCzXD9iI+a3Pdhc7DoogCEuUmk9zEzp3LgqSKyWu+NcUksDnp0L6Z168IjW
NRtsdZj/699m03oE/sPB9CUnepuyltjDw2IbCvgnSBlsVvYIpGsbPaPoZxdJk/dr
Kgv8b//TQFMlAbjbS2jEK4Xuzmte0neAW8S50sQ8P5vdrSefsYjgzE/+KNuDYH5e
YAXLfL8IWz53glfJt/FbTPCb149Bf+vgSCqLBAWvOBD8xobJSltCAWPDi9nDolTG
DJBjgtEMmtylUFjhhOxQ
=o9FD
-----END PGP SIGNATURE-----
AJ Lewis (29):
o Basic README..
o initial subdir population
o Populating with stuff from experimental
o Added _basic_ config file support to the device manager
o Brought hash table code over from experimental
o Added a basic makefile to build liblvm.a again
o Quick and dirty hack to get lvm_check_dev code into the dev-manager
o Quick and dirty *UGLY* hack of a /proc/devices cache using a linked list
o Ok, this seems to be a much better method for caching valid
o Enable building dm modules (called dm-mod)
o Updated *display output for LVM1 compatibility
o Will now correctly remove expired achive files from the system when
o Added function find_snapshots to snapshot_manip.c that returns a list
o header should only be printed once...
o Actually read snapshot percentage from the kernel - what a pain! :)
o the _status fxns now take more arguments - this way i don't get the
o fix changed function names
o This resolves bug #79
o Build dmeventd against multilog
o stick multilog into the dm-event lib and dmeventd code again
o Changed the multilog API a bit (I warned you)
Fixes bz#155478
updated to reflect clvmd rhel4 initscript being redhatified
more clvmd rhel4 initscript cleanup
Change the multilog code to toggle between async and sync writes for all
o script to adjust items in lvm.conf file - currently only handles turning
o set umask and make tempfiles a bit nicer to deal with
o print the context along with the path when setting selinux context
fix pool format handler to work with pvseg code
Adam Manthei (1):
o cluster lvm requires that /usr/sbin/$TOOL is used instead of
Alasdair G Kergon (104):
Upstream source repo move to
fedorahosted.org git.
Update source code location in README.
Remove obsolete CVS helper script.
Edit WHATS_NEW.
Update VERSION date.
Mention old source code web location in README.
Add .gitignore files for an in-source-tree build.
More .gitignore files for an in-source-tree build.
Rename git report from LVM2.git to lvm2.git.
dmeventd: Improve comment about repeated DIE msgs
gitignore: add .swp
WHATS_NEW_DM: Update for release.
VERSION: Update for release.
gitignore: Remove redundant test dir entry
release: WHATS_NEW tidy
release: post-release update version
veritysetup: Remove code as now in cryptsetup.
gitignore: Ignore files ending in ~
kernel docs: Refresh kernel target documentation
allocation: allow release_lv_segment_area to fail
discards: split discard from release_pv_segment
discards: don't discard reconfigured extents
WHATS_NEW: update
alloc: fix raid --alloc anywhere double allocs
toollib: fix ignored_mdas process_each_pv rescan
filters: Add Micron PCIe SSDs (mtip32xx)
filters: Add Micron PCIe SSDs (mtip32xx) [part2]
filters: move device_info_t definition to header
dmsetup: allow --noflush with status/wait for thin
reports: invalid snaps do not capitalise lv_attr
version: update
version: update
version: update
version: update
man: document allocation process in lvm.8
comments: misc updates
thin: order discard enum alphabetically
thin: tighten discard string conversions
activation: log target version present
report: provide discard field value in full
whitespace
thin: mention discard/zero in lvchange errmsg
thin: tidy commands.h arg lists
man: expand lvchange --discard entry
thin: tidy thin discard code
release: update version/WHATS_NEW
thin: use discards as plural rather than singular
thin: fix recent commits
version: update
config: add silent mode
buffering: use unbuffered silent mode for liblvm
setvbuf: close and reopen stream before change
discards: skip when removing LVs on missing PVs
lvs: add partial attribute
python: Add bindings for liblvm2app.
lvmetad: document and tidy cmdline args
lvmetad: use -l for logging level not -d
Makefiles: fix distclean dir dependency
lvmetad: rename DEBUG() to DEBUGLOG()
release: prepare for release
docs: host tags has a default volume_list
filters: Add STEC skd and Violin vtms devices
lvmetad: lvm depends on libdaemonclient.a
lvmetad: improve client logging when connecting
libdaemon: add logging to daemon_open
lvmetad: rename device vars and move _token_update
lvmetad: add basic client-side debug logging
lvmetad: fix format1 updates
logging: add debug classes
logging: classify log_debug messages
filters: power2 devs get precedence if PVIDs match
Revert "cleanup: simplify option matching function"
commands: accept --yes globally
make: fix exported symbols regex for non-GNU sed
rephrasing: miscellaneous changes
activation: fix lv_is_active regressions
doc: update dm kernel files to 3.10-rc1
ioctl: add DM_DATA_OUT_FLAG to dm-ioctl.h
report: revert lvs origin_size sort order change
text: miscellaneous comments & message tweaks
locking: fix cluster lock_resource fn prototype
lvresize: separate validation from action
report: remove LV_CREATE_PARAMS report type
pvcreate: remove metadata.h header
tools: remove metadata.h from pvresize/vgck
tools: remove metadata.h
tools: remove metadata-exported.h
metadata: cleanup comments and formatting
display: fix units for sizes <1k
reporting: tidy recent new fields
commandline: add prefix aliases for raid options
cmdline: support ARG_GROUPABLE in merge_synonym
cleanup: suppress compiler warning
thin: rename extend_pool to create_pool
deptree: don't remove live node on resume failure
Revert "lvm2app: lvm_vg_list_lvs filter hidden LVs"
python: fix Makefile installation path
python: Introduce pyexecdir
cleanup: comments and a message
release 2.02.99
post-release
alloc: fix lvextend when stripe number varies
logging: tidy log_sys_error when string empty
release 2.02.100
Alasdair Kergon (2738):
o Initialisation tweaks.
Return 0 on success now.
Tweak permissions - currently root-only. (no support for non-root ownership
Add dm-parse
o Remove hard-coded mount point
Add dm-parse to makefile
is_identifier characters
o kmalloc error check
Always truncate error file.
Use dmfs_ function name prefix (in line with other file systems).
o Arbitrary mount path.
Error checking: only allow block devices & test for 'nodev'.
Fix allocation & list-handling.
hardsect/blksize handling
Unused variables.
Initialise root node pointer.
Makefiles & autoconf.
Fix dependencies.
Another missing dependency.
lvactivate checkpoint commit
fix memory leak
Create symlinks to .h files in an include directory
Tidy include files
Merge fixes
Tidy includes
merge partition code
Misc structural changes.
Misc structural changes.
Another step towards consistency & compilation.
pvscan framework
lvremove outline
vgrename & pvchange outlines
vgcreate & lvmchange outlines
makefile support for tests
metadata status flags regrouping & comments; misc tool changes
revised flags and comments
Sync include file changes.
vgrename & vgck
o vgremove.
Tidy metadata diagnostic messages.
standardise some log messages
vgreduce, vgremove, vgrename & vgscan
sync
vgcreate
o lvm readline error-case tidy-up
More vgcreate error trapping
vgcreate basic extent size validation
vgextend
vgchange
pvscan
pvchange
pvdisplay
reinstate a removed line
filter integration into tools
deallocations
persistent filter & some log message changes
persistent cache fully incorporated. Goodbye to scanning /dev/cdrom :-)
o fopen error message
o log/overwrite=1 in config file to overwrite instead of append to log
lvremove
prefix & vgname in lvname
basic lvscan
lvchange
o Changes to activation interface
Link in the activation library.
lvcreate prototype
Reinstate size of lv
lvcreate
o Always set LVM_READ.
lvdisplay & lvreduce
o Added lvextend
iospace restructured
Remove hard-coding and create device-mapper directory if required
Merge lvreduce & lvextend into lvresize.
o lvdisplay now shows LE / PV map
Miscellaneous tidying
Avoid generating duplicate lv names
More LV-related tidying. lvdisplay without args now shows all LVs.
Use inttypes.h
lvrename (without reactivation)
Zero first 4k of new LVs.
vgdisplay
Tidy makefiles
dmdir path
o activation & active status tests
additional patch required
LV create/extend prototype changes for striping
Tool support for multiple (striped) segments (incomplete).
vgmerge first cut
Fix a memory smash.
Use CFLAGS during make rule generation.
o Tool support for segments.
Make source files depend on makefiles.
Fix single stripe resizing.
Add -t or --test arg to all tools that update metadata to avoid
Add autoconf & makefile structure like LVM2.
configure --with-interface=ioctl (default) or =fs to choose kernel interface
More striping support & fixes.
Tweaks for make install. -m args replaces verbose to display maps.
Added more log messages.
Correct activation message.
Various fixes & restructure to extract common code.
Moved across to device-mapper repository.
Fixes for library compilation.
Fixes for allocation of striped volumes.
Apply make distclean to test subdirs too.
fix for clean compilation
Add internal cache holding a 'hint' list of the PVs belonging to each VG.
Handle orphan PVs too, so hints remain valid after vgreduce.
o Include dmsetup man page in build
Revised ioctl/dmfs merge with fixes for bugs found in tests.
Remove unused --with_kernel_dir
Fixes for compilation.
Fix C99 error case handling (snprintf ret value >= buffer size).
o Allow more default values to be overridden from config file.
Outline docs
Document lvm.conf fields
Redundant.
Remove some old files.
o Use lvm_snprintf wherever return value is used
vgcache.h inclusion (avoid compiler warning)
o Add autobackup support to tools (follows most vg_write calls).
Add test mode parm.
Tidy makefiles - $DESTDIR & shared library version (like LVM1)
Fix $DESTDIR support
o Allow the definition of read-only devices (ioctl interface only) (Joe)
*** empty log message ***
Fix final comma in arrays.
stub for read-only functions with fs interface
Put device name in quotes.
Document remaining configuration file parameters.
The start of an lvm man page.
Imported man pages from LVM1 with some quick LVM2 updates.
tidying
Missing close() in error case.
Support for read-only.
If a device somehow became suspended, lvchange -ay now reactivates it.
Sync tidy.
Sync.
fixes for compilation
call archive_exit() & backup_exit() on exit
Another attempt to support both readline versions.
Allow pool_begin_object in empty pool.
Explicitly close (=>flush) files.
o Try to improve NFS-safety for temporary file creation (unique name; O_APPEND
Add archiving.
Accept octal values for numbers (such as umask).
o Rename many occurrences of 'backup' to 'archive' to reduce
confusion.
Renamed to archive.c
Temporary file creation & renaming.
Allow for multiple spellings / backwards compatibility of renamed
Clarify terminology:
Separate constant fields from variable ones.
More detail in error msgs.
Add 'get' functions.
More steps towards successful compilation.
o ACTIVE is no longer a status flag - lv_active() used to check if an LV
Support the renaming of active mapped devices (ioctl interface only).
o Add rename support to dmsetup.
Some ioctl interface changes. (Do we want these?)
Another ioctl interface update:
o missing labeller free
o More comprehensive config parameter debugging messages.
Fix function typecasts.
Reduce 'no label found' message severity to debug level.
Remove a duplicate disk read (can_handle).
o Don't update vgcache when (not really) writing in test mode.
Move test flag from log to global section of config file.
o pvcreate --uuid to specify the uuid (required before using vgcfgrestore
Use additional version numbers.
Add another level of symlink to library name (like LVM1) so people who find
Add function that returns the library version.
Support --version argument and 'version' shell command.
beta1-pre1 tagged, but there's still some documentation to update/write.
More updates.
Allow compilation against a device-mapper that was installed into $DESTDIR
Use same log levels as LVM2.
Display something in the "hypothetical" unknown log level case.
Allow syslog facility to be set, or turned off, from the config file.
Is this sufficient to fix make -j?
Insert a missing hash_remove.
No need for file output to default to stderr now that log file can be
Update. Ready to release?
old file
Customisable message output prefix / indentation.
New config options to customise message output.
Reviewed interaction with lib/activate now that the interface has settled down.
Update with info on how to configure command output to look like LVM1
Silently remove any existing symlink before creating a new one.
*** empty log message ***
Avoid using VG metadata on PVs that are not in VGs.
o Remove redundant symlink-handling code.
Remove any core files on distclean.
Fix dev_close arg.
Ignore all except one PV found with the same UUID. Use one which
Impose max PE limit for each PV.
Improve allocation error messages when PVs in a VG have the allocatable
Clear a FIXME about checking for identical devices by comparing dev_t
Fix the device cache to cope reasonably safely with device name changes.
Don't bother to write out an empty cache.
Have a pe_total check using theoretically big number instead of the
Only remove symbolic links when deactivating.
Set pv->pe_size when reading in text-file backup.
The latest attempt at making extended striped LVs work portably with LVM1.
Prevent lvextend from adding segments with different stripe characteristics
If lv isn't active, skip reactivation.
Tweak some error message levels.
*** empty log message ***
Add list_iterate that's safe with deletions.
Display 'exported' status.
o Basic support for exporting (but importing not completed yet).
o A vgimport implementation
add vgimport
Correct statement order for case when 'stripes' parameter is not supplied.
Allocate fixed space for vg->system_id when vg is created, instead of
Basic support for (read-only) partial activation if any PVs are
Propagate volume group read-only setting down to its logical volumes.
Remove stray comma.
"exit" means "quit" (lamer)
Remove gcc -D to support as different gcc versions handle it differently.
Display error when running unimplemented functions.
Failure signalled by -1 not 0; MAX_DEVICES 256 (was 64); change a '>' to
'>='.
Basic support for persistent minor numbers;
lv->minor >= 0 (ejt)
Another release (includes some fixes from last week; persistent minors,
Move defaults.h
move defaults.h
Locking prototypes.
o Support locking with local lock files
Document return codes.
dbg_free(tc->desc)
Now that most of the usage of 'stack' only occurs when there's an
error,
Preparation for an LVM2 liblvm - pass cmd_context into each tool and
Run through indent - no (intentional) changes to any code.
o Use 'pvcreate --setphysicalvolumesize' with no short form (instead of -s)
Remove VG arg from lv_is_cow() and lv_is_origin() - use lv->vg instead.
lvd->lv_access & LV_SNAPSHOT not lvd->lv_status
Suppress meaningless <backtrace> msg on screen (no prog/line number given)
Remove lv_update_write_access: use lv_reactivate directly now instead.
Try out using LV locking for reactivation.
Generate LV uuid from lv_number when reading in LVs.
o Convert lv->id back to lv_number when writing back to disk
indent
Begin conversion so LV id is passed to activation unit instead of
Clearer link pathname display.
Running out of filehandles? Close /dev/device-mapper/control then.
o Lock mechanism for LV activation
Fix unlock parameter.
More use of LV locking.
Remove unused fns.
snapshot/zero logic
Fix activation for VG with more than one LV.
o Use new LCK_HOLD flag to indicate whether lock should be held on return
Kernel functionality that returns device dependencies (ejt).
o dm_destroy_all() called on exit - but doesn't touch suspended devices yet.
o activate/reactivate merge
lv_info replaces lv_active etc.
Move is_empty_dir to lvm-file
Let dmsetup store the uuid on device creation.
Set LV uuid.
dmsetup display uuid
A missing free() found by Valgrind. (
http://developer.kde.org/~sewardj/ )
Suppress verbose/debug messages from libdevmapper.
Integrate suspend.
distclean also to remove libdm-common.h
Reduce the number of dm info calls.
Review locking: block signals instead of ignoring them and restore state
New function to enable suppression of messages to stdout/stderr.
Cut the number of device-mapper calls.
s/Removing/Unloading/ in messages to reduce confusion
Tie all snapshot (de)activation requests to (de)activation of origin device.
lvrename works on snapshots now
Support device queries by uuid as well as by name. (Used by lvrename.)
Better support for LVs with hyphens in names.
Improve log messages.
Fix typo.
o read-only device support
New-style persistent minor support.
Snapshots are now attached to their origin device for locking purposes
Cope with creation of additional snapshots while active.
Tidying.
Rename LCK_NONE to LCK_UNLOCK
Fix lv_setup() not to generate a new lvid each time if asked to setup the
Implement a no_locking module that *does* attempt activation.
Missing VG lock when iterating through all LVs.
Allow deactivation of final snapshot.
Missing seg->lv gives segfault when activating from text format.
Commit snapshot-related changes preparing for the next beta release.
Prepare for another beta release.
Merge with text format branch.
Update example config
get_vgs must check for text format VGs when no lvm1 format VGs present
Some partial VG support with format_text.
Update.
Tweaks
Default values for some display output settings
log/{prefix,command_names} use defaults.h & reset between shell cmds
Always call init_log() to initialise logging defaults.
Remove a no-op.
Import snapshot status & persistence + indent etc.
Rewrite missing/corrupt metadata in more cases.
Update version.
Revert to standard linux macros (for correct behaviour on rare architectures).
Rename; add some FIXMEs.
Fix LVM1 backwards compatibility issue when LV with a low LV number is deleted.
update
Fix vgcfgrestore segfault (wrong variable used).
Remember to update VG free_count when reducing size of an LV.
Tidy
Tidy/fix segment rounding.
Add vgsplit.
Increment version.
o Long-awaited ioctl interface clean-up. *** Not backwardly compatible ***
Tidy up for another release: updated documentation; removed old files;
Merge adjacent "Missing" segments.
Add --ignorelockingfailure
Add get_config_str
tidy
Improved snapshot-related arg validation
Remove hard-coded extent_size from snapshot target (field no longer used).
Support alternative lvrename syntax.
Improve missing-kernel-driver error message.
Don't let LVM2 access a VG if the original LVM driver appears to be using it.
Fix includes after DM_DIR definition move.
Only functions listed in libdevmapper.h should get exported.
A new cache.
Refactoring.
Some new features.
Missing sector->k conversion in "logical volumes cannot be larger than"
mesg.
Remove 2 TB LV size restriction message.
Fix snapshot lvcreate activation check.
Skip config file reload attempt if no config file location.
Show stripesize in KB.
Further help text tidying & support for -?.
Suppress a (normally) unnecessary warning.
Default size unit normally MB not KB.
More restore hints.
Show PV uuid; single stripe is 'linear'; suppress snapshot fields for
origin.
tidy
New devices/types config file entry to add new types of block devices.
Keep some ld versions happy.
Keep certain versions of ld happy.
Maintain snapshot_count correctly.
Fix long arg processing.
Remove an unused .h file.
Fix display alignment of zero.
Add sync_dir()
Use sync_dir().
New column-based reporting tools: lvs, pvs & vgs.
Default stripesize 64k & config file setting for it;
When activating an LV, remove any stray LVM1 /dev nodes and group file.
Also lock memory during LV updates.
When there are device name aliases, choose the "nicest" to display.
Correct error message for non-snapshot activation failure.
More docn for filter changes.
Ignore filter cache at startup if config file is newer than cache.
Detect duplicate PV uuids - select the one on an md device if appropriate.
Update date.
o Additional device/filter-level debugging messages + duplicate alias fix
configure --disable-devmapper if you don't have libdevmapper
Fix segfault in uuid display (substitution missed during bulk change)
Fix (rare) cache bug on machines with large /dev directories.
Update
Activation commands now return success in test mode.
Add success message; validate given VG name.
vgreduce --removemissing to remove missing PVs & deps & make VG consistent
Indicate full (dropped) snapshot.
Add --enable-debug --disable-compat
Allow optional verbose logging
Allow optional verbose logging.
Prepare for ioctl version number change.
merge back accidentally overwritten r1.2 change
Treat 'section{' as equivalent to 'section {'
Allow strings in single quotes too
Identifiers may now start with digits etc.
LV name validation
Fix table output bug in last commit.
Fix typo.
Fix incomplete munmap. (pjc)
Tidy various pre-processing incl. making libdl optional.
Avoid report segfault with non-partial inconsistent VG.
Proposed changes to the ioctl interface to fix alignment issues on some
Reinstate lost vg_write() in lvchange --permission.
Allow device major to be set too.
size_t tidying
Allow for specification of major number as well as minor.
Add major arg
alignment fixes
Display read-only state.
Support snapshot status fraction.
Cope with intentionally missing /proc.
Abort if any filter creation fails.
Improve build robustness.
Improve message for pvcreate of empty device.
Some ioctl code tidying: removing duplicate internal buffers; making bounds
DM_EXISTS_FLAG replaced by ENXIO
Add pool_strndup
fix optind after last change to it
indent
o Rejig activation code device dependencies to make things a bit more robust
stripe filler parameter
Stop more gracefully when in test mode.
o Metadata area struct change.
Update segment area length when merging consecutive segments.
Version 1.95.17 (new <PV>:<PE range list> allocation restriction
feature).
Revert to data_start
Extra metadata-reading debug message.
Try alternative syncs if BLKFLSBUF fails.
Event number support.
Display event number.
Up interface to major version number 4.
Up interface to major version number 4.
Add comment
mirror display type
mirror type
pvmove flag
basic pvmove support
Outline pvmove man page
Add mirror.c
use pvmove flag
pvmove support
configurable region size
add region size & interval
Add pvmove
Don't move snapshots
Update
Missing 'make install' dependency.
Distinguish between visible & top level devices.
Add argv
list_next
Move fields.
reset_locking()
move fields
--abort --background
Store argv
Don't process locked LVs
Prevent renaming active VGs for now.
unsigned
Check for locked LVs/pvmoves.
remove global pvmove lock & poll for completion
move functions
Support for v4 interface
Synchronise repository / 2.4.21 support
Another sync point - numerous fixes & clean ups.
Backwards compatibility fix for version1 suspend/resume.
Driver version 1 compatibility fix for snapshots.
update
Fix inactive snapshot display.
Restrict active lvchange -My with -f
vsn 2.00.02 (rc3)
Fix detection of exported LVM1 volume groups.
update
Fix vgimport fix to work outside debug mode.
update
Accept signed numbers in config file.
update
Missing check for inconsistent VG in pvmove.
Also allow pvmove --abort when pvmove mirror not active (e.g. after a reboot).
Remove small hard-coded activation target line parameter limit.
Some tidyups and minor fixes.
Update.
Log each command & args.
Cope better when format functions are missing.
Remove unnecessary file.
Fix unsafe list iteration in segment merge code. [HM]
Additional validation of LV segments read from metadata. [HM]
Fix makefile install mesg displayed for man5
Don't use !# in randomly-generated uuids.
Correct order of consistency/exists checks.
Generalise 'invalid chars' error mesg to just say 'invalid'
Missing ] in pvmove usage display
Prevent cmdline flags that take args getting repeated.
vgcfgrestore -l lists backup file too
Missing vg_commit()
Ensure more args aren't negative.
Don't install the pvdata stub; update built-in mesg.
Improve segment merge/split code.
Make dev_name optional to show details for all devices.
Fix read-only snapshot creation.
Update
out-of-date
Remove incorrect comments.
Update to incorporate most of version 4 interface changes.
Extract some common functions.
str_list_del
macro changes
more str_list fns
Don't forget to set 64-bit arg values too.
Prevent creation of MDA bigger than disk.
Fix >32bit lvcreate size calculation.
relax a scanning restriction
dumpconfig to dump active configuration
Dump active configuration
Inherit CFLAGS at make time
Check no fs mounted before deactivating.
More consistent error code usage.
Fix exported format1 VG recognition.
Cope better with LVM1 minor numbers & LV numbers.
Don't trigger error if changing PV allocation to the state it already is.
Fix pvchange segfault with orphans.
Ban vgcreate -s 0
Fit locking bits into 1 byte.
Add drbd.
Configuration-time O_DIRECT setting.
Fix vgremove 'all OK' check
Prevent PV allocation bit getting changed for format_text orphans.
Default to unlimited number of LVs/PVs in lvm2 format.
Exclude v1 compatibility code when configured with --disable-compat
Accept tables from stdin with dmsetup.
The LVM2 part of vgmknodes [still to do the non-devfs device-mapper bit].
dmsetup mknodes
vgmknodes also creates necessary nodes in /dev/mapper
Missing include.
Immediate error on big memory allocations when --enable-debug.
Fix dev_zero() offset.
vgscan --mknodes
Add/update some man pages.
lvcreate should close the initialised snapshot device immediately.
Ready for another release.
Update dmsetup man.
Don't remove mirror LV until after other LVs reloaded.
dumpconfig
Fix support for PVs on read only devices. [Still must set LVs read only]
Relax restriction on pe_start location when re-writing LVM1 metadata.
Remove undocumented -m abbreviation.
Change pvscan to show total of usable device size (instead of free data space).
Option to revert to default logging function after using a custom one.
Log full details when "VG data differs between PVs" error message occurs.
If PV/VG uuids are missing, generate them from the pv/vg numbers.
pv/vgchange --uuid to change (non-random) UUIDs to random values
Document that sector size is always 512 bytes. [AJ]
Add event number arg to dmsetup wait.
Userspace support for LIST_VERSIONS ioctl.
Define BLKGETSIZE64 on systems with out-of-date header files.
Static build too.
Update CVS info for move to
sources.redhat.com.
split_words()
Sysfs block device filtering option for 2.6.
Don't inline hash _find
don't inline pool_zalloc(); lift duplicated pool_str(n)dup to pool.c
Update autoconf files
Don't recurse symlinked dirs such as /dev/fd on 2.6.
Basic internationalisation support.
File missed from last checkin.
more makefile syncing
Extract log.h and tweak funcs to be like lvm2 ones.
more syncing with lvm2 build process
Update man page incl. 'targets', event_nr.
Detailed changelog.
Fix (rare) bug in recognition of long argument forms.
More str_list fns.
tagging
move hostname into global
host tags
rename config file vars & always use / as separator
additional activation functions
Fix DESTDIR with configure path overrides.
Avoid sscanf %as for uClibc
Fix lvreduce pv extents calculations.
Only print warning message once when compiled without libdevmapper.
Document metadata tagging.
Rebaseline internal verbose level.
Indent; _init -> _init_lvm
Move main() into separate file.
Add --nolocking option for read operations if locking is failing/unavailable.
Add cmdlib code.
Rename some files to avoid duplicate filenames in tree.
Update makefiles (incl. cmdlib).
update configure for cmdlib
cmdlib logging function
.export.sym generation
cmdlib prototypes
lv_info_by_lvid
indent
Tidy sysfs includes
Suppress move percentage when inactive
Ignore open hidden LVs when checking if deactivation is OK.
Add list_versions to library
makefile spacing
Add locking flags + memlock option.
LV allocation variable renaming
move lock_lvs; add lock memlock code
indent
Add string display to mem leak dump.
tweak memlock includes
lvchange --refresh
missing definition
typo
and another typo
Move full mknodes functionality from dmsetup into libdevmapper.
vgdisplay_colons
spelling corrections
Rename dev_manager_mknodes -> dev_manager_lv_mknodes etc.
Fix vgmknodes to remove dud /dev/mapper entries
Update copyright messages.
Update changelog.
Update copyright notices.
Example cmdlib program.
Update changelog.
Missing dev_close_all()s
Add 2.4 support for DM_LIST_VERSIONS (dmsetup targets).
Update VERSION
update text for release
updates for release
Build process fixes/tidy-ups.
update for 1.00.10
Move library targets definition into template.
accept argv[0] lvm.static
Fix shared format1 build.
Combine static/dynamic build.
Version 1.00.11
Fix dmsetup.static install.
More build fixes
Update to 2.00.10
Fix sysfs filter to check fs type.
add some selinux support
1.00.13
fix static selinux build
Fix status overflow check in kernel patches.
Basic selinux support
update for 2.00.10
Option for auto-fallback to LVM1 tools if running 2.4 without device-mapper.
Update version
fix patch that misapplied
Fix lvs_in_vg_opened counting.
Add power2
Install example config file by default if there isn't one already.
lvm.static can be installed in different dir from rest of tools
fix selinux error mesg
update
2.00.12
Ignore error setting selinux file context if fs doesn't support it.
Set devices/md_component_detection = 1 to ignore devices containing md
Use 64-bit file functions.
config option to avoid using install -o -g
fix selinux library linking
Missing $ => HAVE_LIBDL unset
Don't abort operations if selinux is present but disabled.
Support tagged config files.
Compress any (obsolete) long LVM1 pvids encountered.
Begin to separate out segment types.
Add devices to segments report; some move->copy renaming.
move find_pv_by_name to lib
Revise internal locking semantics.
Separate out polldaemon.
Some basic checking for presence of device-mapper targets.
Internal-only metadata flag support.
lvm2 format sets unlimited_vols format flag.
Reporting uses line-at-a-time output.
stray space
Detect invalid LV names in arg lists.
Skip mirror LV. Comments.
comments
fix return code
Push lv_create & alloc policy up to tool level.
Add --type to lvcreate/resize.
Only include visible LVs in active/open counts.
A quick sanity check on vg_disk struct when read in. More checks needed.
update comment
indent
Restructure lvresize, bringing it closer to lvcreate.
Attempt to fix resizing of snapshot origins.
Ensure presence of virtual targets before attempting activation.
indent
Add reset_fn to external_locking.
Rename allocation policies; add --alloc to cmdline; LV inherits from VG.
Don't return non-zero status if there aren't any volume groups
xxchange -ae to activation exclusively
Fix a pvs error path.
Remove error labels.
Set area_count within alloc_lv_segment
v2.00.16
Additional kernel target checks before pvmove & snapshot creation.
Suppress decimal point when using units of sectors/bytes.
i2o_block
Fix rounding of large displayed sizes.
lvm2create_initrd submitted by Jeff Layton <jtlayton(a)poochiereds.net>
Add read-only GFS pool support.
mark pool support read-only; fix makefile typo
Support new target message ioctl.
Clear message buffer before use.
lvresize + fsadm support - needs testing
tidy relative paths in makefile includes
fsadm
Add dmsetup -C for column-based output.
Add local activation support.
Extend hash functions to handle non-null-terminated data.
vgcfgbackup -f accepts template with %s for VG name.
Fix sync_dir() when no / in filename.
Display all filtered devices, not just PVs, with pvs -a.
fsadm configurable (default disabled as untested)
Fix targets string size calc in driver.
Remove pv segments line from backport.
Add cluster support.
Missing .exported_symbols
Fix vgchange (de)activation of (open) LVs.
update version
Fix LD_FLAGS->LDFLAGS. LD_DEPS->LDDEPS.
Add initrd-lvm to list of recognised argv[0]s. [pld-linux]
Reduce severity of setlocale failure message (ie suppress during boot).
make -O2 optimisation flag configurable.
update version
Fix device number handling for 2.6 kernels.
set_selinux_context() return code fix
fix a newline
misc autoconf fixes
Fix ftp urls
Misc autoconf fixes
update version
Add report columns for in-kernel device number.
Add dev_size column to pvs.
Add a const.
Change alloc_areas to pe_ranges and allow suppression of availability checks.
Remove duplicate line in pvremove help text.
Support for PE ranges in pvmove source PV.
Update pvmove prototype.
Cope with DT_UNKNOWN in sysfs.
Cluster-extension-only installation.
Recognise iseries/vd devices.
2.00.21
post-2.4.21
Restructure xlate.h
clvmd man page tweaks
Fix /dev/vgname mkdir perms.
2.00.22
post 2.00.22
Test for incompatible format/segtype combinations in lv_extend.
Describe how pvmove works on man page.
Allow pvmove to move data within the same PV.
Improve pvcreate/remove device not found error message.
Suppress pvmove abort message in test mode.
New commands 'segtypes' and 'formats'.
Write log message when each segtype/format gets initialised.
Use O_NOATIME on devices if available.
Export dm name build & split functions.
Add formats & segtypes files.
2.00.23
post-2.00.23
Some fixes to memory debugging code.
Rename old segtypes files to segtype.
Fix pool_empty so it really does empty the memory pool.
2.00.24
post-2.00.24
Fix return code from rm_link for vgmknodes.
Use macro in vgremove locking fix.
2.00.25
post-2.00.25
printf->fprintf
Support device referencing by uuid or major/minor.
Fix size of dm_name string.
Add --noheadings option to dmsetup -c for colon-separated output.
Fixes to lvcreate vgname processing.
update
Also accept y/n with -ae.
Update some man pages.
update WHATS_NEW
More man page updates.
More lvm.conf and tagging documentation.
More tagging documentation, with some cluster examples.
Improve a vgremove error message.
Prevent snapshot origin resizing.
Separate out md superblock detection code.
pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.)
Only wipe signature bytes when destroying md superblock, so process
Detect partition table signature.
update pofile
fix a md filter log mesg
2.00.26
pool debugging
update po
post-release
Improve filter debug msgs.
Fix to partition table detection code.
Trap large memory allocation requests.
update pofile
fix partition table signature size
Configure/makefile tidy.
Endian fix to signature detection.
update version
xlate compilation fix
post-29
Extend dev_open logging.
Fix clvmd man makefile.
Fix vgsplit man page title.
Fix lvreduce man page .i->.I
Additional device-handling debug messages.
2.00.30
update pofile
post-2.00.30
Reopen RO file descriptor RW if necessary.
2.00.31
update pofile
post-2.00.31
Cope with empty msdos partition tables.
Fix pvchange -x segfault with lvm2-format orphan.
Add CONTRIBUTORS file.
Skip devices that are too small to be PVs.
Add RHEL4 clvmd init script.
Ignore sysfs symlinks when DT_UNKNOWN.
Fix device reference counting on re-opens.
Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now.
Fix an error fprintf.
update version
Drop static/dl config restriction for now.
update pofile
post-2.00.32
pvcreate wipes first 4 sectors unless given --zero n.
Configuration-time option for setting uid/gid/mode for /dev/mapper nodes.
Attempt to fix /dev/mapper/control transparently if it's wrong.
1.00.20
post-1.00.20
Fix /proc/devices parsing.
1.00.21
post-1.00.21
2.00.33
post-2.00.33
Adjust RHEL4 clvmd init script priority.
Add dm_task_no_open_count() to skip getting open_count.
Only ask libdevmapper for open_count when we need it.
Fix vgscan metadata auto-correction.
1.01.00
post-1.01.00
2.01.00
update po
Post-2.01.00
Update vgcreate man page.
Store snapshot and origin sizes separately.
move recover_vg
Add some comments.
fix clvmd lv_info_by_lvid open_count
Recognise gnbd.
Always fail if random id generation fails.
Split out pool sptype_names to avoid unused const.
Fix 64 bit xlate consts.
Fix some size_t printing.
Update clvmd_init_rhel4: use lvm.static and don't load dlm.
pre-release
update pofile
postrelease
Fix snapshot device size bug (since 2.01.01).
More informative startup mesg if can't create /etc/lvm.
Fix DM_LIB_VERSION sed
Add option to compile without ioctl for testing.
More 64-bit display/report fixes.
2.01.03
pofile
post-release
Remove unused -f from pvmove
lvm2cmd.so should skip the check for open fds.
Add fixed offset to imported pool minor numbers.
post-release
Static binary invokes dynamic binary if appropriate.
post-release
Fix default value of metadatacopies in documentation (2->1).
Suppress 'open failed' error messages during scanning.
Option to suppress warnings of file descriptors left open.
2.01.06
post-release
Remove DESTDIR from LVM_SHARED_PATH.
Cope with new devices appearing by rescanning /dev if a uuid can't be found.
update pofile
post-release
read/write may be macros
Additional rename failure error message.
Avoid some compiler warnings.
Fix WHATS_NEW.
Tighten signal handlers.
Avoid rmdir opendir error messsages when dir was already removed.
Add -a to pvdisplay -C.
Add 'already in device cache' debug message.
Improve detection of external changes affecting internal cache.
Add clustered attribute so vgchange can identify clustered VGs w/o locking.
2.01.08
update pofile
post-release
Drop-in devmap_name replacement.
Update dmsetup man page.
1.01.01
post-release
Add --ignorelockingfailure to vgmknodes.
2.01.09
post-release
Alignment tidying.
Annotate, tidy and extend list.h.
more refinements
_vg_posn -> _find_vg_rlocn
Add ramdisk.
Move from 2-step to 3-step on-disk metadata commit.
Allow offline extension of snapshot volumes.
store snapshot id as lvid internally
fix unused o_direct label
Remove unused internal non-persistent snapshot option.
add lvid to lv_create_empty
Internal snapshot code restructuring.
get_pv_from_vg_by_id
extract compose_log_line
vgchange --physicalextentsize (but only if it's an exact fit - may need to
_copy_pv -> int
initial pv_segment defns
Initial pv_segment code.
set_lv_segment_area_pv/lv
extend alloc_lv_segment
Prototype for a device-mapper event-handling daemon.
o adds dm_get_next_registered_device() (not functional yet)
test.c->dmevent.c
build libdmeventnoop.so for testing
Reinstate full PV size when removing from VG.
Don't create backup and archive dirs till needed.
2.01.10
post-release
lv_reduce tidying.
Un-inline dbg_strdup.
Fix loopfiles mem alloc.
fix compiler warnings
%Zu->zu
Remove lists of free PV segments.
Cope with missing format1 PVs again.
Fix contiguous allocations with linear.
Add --target <target_type> filter to dmsetup table/status.
Call dm_lib_exit() and dm_lib_release() automatically now.
Add --target to dmsetup ls.
Add dmsetup ls --exec.
vgscan/change/display/vgs automatically create metadata backup if out-of-date or
missing.
Move archiver code from tools into library.
Start merging cloned allocation functions.
1.01.02
Fix vgmerge to handle duplicate LVIDs.
Fix mem allocs after archiver code move.
Fix non-orphan pvchange -u.
Basic support for mirrors.
Always insert an intermediate layer for mirrors.
lvremove mirror images
Allow mirror images to have more than one segment.
Allow mirror images to be resized.
prevent active mirror resize for now
Introduce lvconvert. So far only removes mirror images.
Make VG name restrictions consistent.
Remove hard-coded 64k text metadata writing restriction.
fix configure script to reenable selinux
update version
Use matchpathcon mode parameter
Use matchpathcon mode parameter.
2.01.11
post-release
Various allocation-related pvmove fixes.
2.01.12
post-release
missing fn defs
preset pl to NULL
fix lvm1 non-mirror lvcreate
Fix lvm1 format metadata read.
Only make one attempt at contiguous allocation.
Fix pvmove segment splitting.
2.01.13
update po
post-release
Fix dmsetup ls -j and status --target with empty table.
update vsn
post-release
Move zero_lv to toollib.
Separate out _build_dev_string.
Prevent snapshots getting activated in a clustered VG.
fix last checkin
Fix lvconvert PV parameter in help string.
update po
post-release
Recognise aoe devices.
aoe
Report 'buffer full' condition with v4 ioctl as well as with v1.
Factor out _get_library_path().
Don't kill idling clvmd threads.
Move compose_log_line() into mirror directory.
Factor out adjusted_mirror_region_size()
Factor out generate_log_name_format().
Prepare tools to support clustered mirrors.
Change LV locking macros to take lv instead of lvid.
Add clustered VG flag to LV lock requests.
Move lvconvert parameters into struct lvconvert_params.
Add clustered VG attribute to report.
Add format1 dev_write debug messages.
Add copyright notice to lvmconf.sh and use unique exit codes.
lvmconf.sh
Fix termination of getopt_long() option array.
add comments to example conf file to warn about common filter line mistakes
Fix yes_no_prompt() error handling.
Suppress fsync() error message on filesystems that don't support it.
Don't assume exactly two mirrors when parsing mirror status
Option for bitset memory allocation using malloc as well as pool.
Really switch device number in lvmcache when it says it is doing so.
Add is_dm_major() for use in duplicate device detection in lvmcache_add().
On 'buffer full' condition, double buffer size and repeat ioctl. [Untested]
Explicitly initialise no_open_count
Remember increased buffer size and use for subsequent calls.
Resync list.h with LVM2.
Don't hide snapshots from default 'lvs' output.
Fix chunksize field in reports.
1.01.05
post-release
Reduce chunksize limit to 512k.
Impose chunk size limitation.
Validate chunksize in lvcreate.
Use ORPHAN lock definition throughout.
Refuse to run pvcreate/pvremove on devices we can't open exclusively.
Add dmsetup --nolockfs support for suspend/reload.
Code to build and display device dependency tree.
pre-release
post-release
export bitset, pool, hash, malloc
Use hash, bitset, malloc, pool from libdevmapper.
lvscan -a
Attempt to load missing targets using modprobe.
Attempt to load missing targets using modprobe.
dm_driver_version
Only one dump_memory.
Replacement deactivation code - untested.
some deactivation fixes
Add deactivation functions
Move deactivation code into libdevmapper.
Tidy some log mesgs.
Split lv_segment_area from lv_segment to permit extension.
use seg_type macro
cope with null uuid_prefix
Add 'LVM-' prefix to uuids.
fix dev no printf
zero suppress
Fix LVM2- prefix changes; export build_dlid.
Add pe_start to pvs.
Fix automatic text metadata buffer expansion (using macro). [stdarg usage bug]
Move set_selinux_context into libdevmapper
Export dm_set_selinux_context.
Add DEFS
Use dm_is_dm_major instead of local copy.
unfinished suspend functions
check parents suspended
switch in new suspend code (untested)
new suspend code
Attempt to cope with LVM- prefix transition.
attempt to cope with uuid transition
a missing lvid/dlid conversion
Fix lvdisplay to show all mirror destinations.
remove remaining hard-coded prefix lengths
also suppress error if device doesn't exist with STATUS
Also suppress error if device doesn't exist with DM_DEVICE_STATUS.
suppress status err mesg when LVM- uuid prefix is missing
Fix strncmps.
Fix incorrect checkin
fix strncmps
remove unused suspend code path
Export vgname_is_locked
Only keep devices open if known to belong to a locked VG now.
Only keep a device open if it's known to belong to a locked VG.
Add mirror_seg pointer to lv_segment struct. (incomplete & untested)
Fix new mirror_seg pointer.
Fix contiguous allocation without preceding segments.
Fix contiguous allocation when there are no preceding segments.
more mirror library functions
reorder commit
A pvresize implementation (Zak Kipling).
missing vg_revert
revert unfinished change
pvresize man
Clear up precommitted metadata better on disk after use.
precommitted flag
New activation code. [Not ready to be used yet.]
Replacement activation code. [Don't use this yet!]
xen xvd
rename deptree
rename deptree
rename deptree
fix last checkin
some fixes for mirrors
more mirror fixing
workaround for pvmove with new activation code
revert - alternative pvmove fix, disabling preloading completely for now
Extend allocation areas to avoid overflow with contiguous with other PVs.
remove a debugging line
pre-release
post-release
fix debug linking
Fix selinux compile.
more debug fixes
A missing vg_revert in an error path.
lvcreate vg_revert
Additional LVM- prefix matching for transitional period.
Drop leading zeros from dm_format_dev.
Suppress unnecessary resumes.
Remove a resolved FIXME.
Resume snapshot-origins last.
Fix open RO->RW promotions.
Fix lvdisplay cmdline to accept snapshots.
1.02.01
2.02.01
post-release
post_release
_find_parallel_space -> _find_segment_space
Fix lv_empty.
preparation for parallel_areas changes to allocation code
alloc avoids parallel pvs when supplied
Determine parallel PVs to avoid with ALLOC_NORMAL allocation. (untested)
Allow signed mirrors arguments.
more lvconvert mirror code
Add some FIXMEs to libdm-event.
Export dm_task_update_nodes.
dmeventd updates
dmeventd
1.02.02
post-release
Add mirror dmeventd library
More dmeventd support.
fix exports
Fix dmeventd build.
Fix lvscan snapshot full display.
comment
comments
Add sync, nosync and block_on_error mirror log parameters.
ability to pass log flags to libdevmapper
Add details to format1 'Invalid LV in extent map' error message.
Set block_on_error parameter if available.
Change dm_tree_node_add_mirror_target_log parm order
fixme
read/write loop fixes
vgreduce replaces active LVs with error segment before removing them.
fix libdevmapper-event include
some fixes
Add --mirrorsonly arg to vgreduce. (Doesn't handle mirrors yet.)
Always print warning if activation is disabled.
Fix dmsetup version driver version
Fix libdevmapper.h #endif
Don't inline _find in hash.c and tidy signed/unsigned etc.
vgreduce remove mirror images
Fix hash function to avoid using a negative array offset.
Fix dm_strdup debug definition.
Fix dm_strdup debug definition.
Rename register_dev; fix missing initialisation; reduce number of ifdefs.
Add config file setting: dmeventd/mirror_library
fix dmevent registration return codes
Fix dmeventd sharedlib path & start tidying registration code.
When suspending, dmeventd deregistration needs to use existing details
Use split_dm_name in dmeventd mirror code.
Replace deprecated signal functions.
Fix libdevmapper event daemon_running status.
Remove avoidable dmeventd mirror forking.
More dmeventd mirror cleanups.
some init_client cleanup
dmeventd thread termination fix
Fix renamed dso.
Tidy some comments/messages.
Add dm_tree_skip_lockfs.
Rename _log to dm_log and export.
Only do lockfs filesystem sync when suspending snapshots.
remove unnecessary 0 in format string
autoconf LIB_SUFFIX
Add %.so: %.a make template rule.
Add exported functions to set uid, gid and mode. [Bastian Blank]
fix libdevmapper-event-mirror liblvm2cmd link search path
suspend using existing LV metadata; vgreduce then needs partial flag
Use supplied full dso name.
Temporary device_exists() fixes.
tweak clvmd makefile
fix tabs
Change prefix for clustered log from "clustered " to
"clustered_"
remove a dmeventd_mirror syslog message
add clustered log uuid
release
fix mirror log parm count
post-release
post-release
A setgeometry implementation. [untested]
Add file & line to dm_strdup_aux().
Fix archive file expiration.
dmeventd thread/fifo fixes.
Propagate partial mode around cluster.
Remove an incorrect unlock_vg() from process_each_lv().
If _create_and_load_v4 fails part way through, revert the creation.
Use name-based device refs if kernel doesn't support device number refs.
Suppress locking library load failure message if --ignorelockingfailure.
Support lvconvert -s.
pvremove without -f now fails if there's no PV label.
Introduce origin_from_cow()
more snapshot code tidying
Bring dmsetup man page up-to-date.
Update extent size information in vgchange and vgcreate man pages
missing vg_name initialisation
lv_is_visible()
Capture vgid in more places.
Whenever vgname is captured, also capture vgid.
Use lvmcache_update_vgname_and_id throughout.
When scanning, also record whether or not VG is exported.
tidy
If two or more VGs are found with the same name, use one that is not exported.
Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct.
When choosing between identically-named VGs, also consider creation_host.
Add --partial to pvs.
vgrename accepts vgid and exported VG.
pre-release
post-release
configure/makefile tidying + pkg-config support.
Check for libsepol.
make pkgconfig installation step optional, and clean up generated files
update version
fix makefile
post-release
fix makefile
fix makefile
pre-release
remove inlines
post-release
Increase dmsetup line buffer to 4k.
Fix vgid string termination in recent cache code.
pre-release
terminate vgid in debug mesg
Invalidate cache if composition of VG changed externally.
remove redundant list_init
Require non-zero regionsize and document parameter on lvcreate man page.
Ignore empty strings in config files.
_register_dev_for_events to return error on failure
tweak .so loading messages; extra device_exists() sanity check
Tighten region size validation.
Fix activation code to check for pre-existing mirror logs.
validate region size against page size
missing {
Improve stripe size validation.
fix stripesize const
sign fix
Make SIZE_SHORT the default for display_size().
coverity fixes
Fix uuid_from_num() buffer overrun.
more coverity fixes
fix last commit
Move DEFS into configure.h.
pre-release
post-release
Add mirror_library description to example.conf.
Create a log header for replacement in-sync mirror log.
Add --corelog to lvcreate and lvconvert.
Check in-sync status before changing disk log.
Allow vgreduce to handle mirror log failures.
Propagate nosync flag around cluster.
Avoid a dmeventd compiler warning.
Add DM_CORELOG flag to dm_tree_node_add_mirror_target().
Add mirror log fault-handling policy.
Use mirror's uuid for a core log.
Add --nosync to lvcreate with LV flag NOTSYNCED.
M for unsynced mirror
Pre-release.
fix compile
Add --monitor to vgcreate and lvcreate to control dmeventd registration.
pre-release
not reqd
fix dev->device
post-release
fix compile
Fix corelog segment line.
Fix lvcreate corelog validation.
fix error path
Add DISTCLEAN_TARGETS to make template for configure.h.
Prevent snapshots of mirrors.
Fix target_register_events args.
test one change
test
change two files in different directories
Fix an extra dev_close in a label_read error path.
checkin test
test checkin
test checkin
test checkin
Fix PV tools to include orphaned PVs in default output again.
Fix return code if VG specified on command line is not found.
Don't suppress identical table reloads if permission changes.
dmsetup remove_all also performs mknodes.
Add --force to dmsetup remove* to load error target. [Untested.]
force remove fixes
If VG is already consistent with --removemissing, return success not failure.
Add mutex to dmeventd_mirror to avoid concurrent execution.
Add some forgotten memlock checks to _vg_read to protect against full scans.
Use RTLD_GLOBAL when loading shared libraries.
Differentiate between the two 'log device failed' cases in vgreduce.
add dlerror to another error path
Avoid duplicate dmeventd subdir with 'make distclean'.
Append full patch to checkin emails.
test
test
Don't ignore persistent minor numbers when activating.
Fix activation logic in lvchange --persistent.
pre-release
post-release
Fix clvmd_init_rhel4 'status' exit code.
Fix locking for mimage removal.
Add --trustcache option to reporting commands in preparation for supporting
Fix missing lockfs on first snapshot creation.
Add lockfs indicator to debug output.
Add checks for duplicate LV name, lvid and PV id before writing metadata.
Add --table argument to dmsetup for a one-line table.
fix getopt_long error check
pre-release
post-release
pre-release
post-release
Add --maxphysicalvolumes to vgchange.
Add lvm_getpagesize wrapper.
Separate out LVM1_PE_ALIGN.
wrap PE_ALIGN
Fix PE_ALIGN for pagesize over 32KB.
pre-release
wrappers files
post
Move CMDLIB code into separate file and record whether static build.
Prevent mirror renames.
reorder bounds check code
Add mirroring into man pages
mirror man page tweaks
fix lvm.conf (5) refs
Add dm_split_words() and dm_split_lvm_name() to libdevmapper.
Add dm_snprintf
Move lvm_snprintf into libdevmapper.
stub.h shouldn't be here
Add skip_dev_dir() to process command line VGs.
Change default locking_lib to liblvm2clusterlock.so.
lvm.static uses built-in cluster locking instead of external locking.
When using local file locking, skip clustered VGs.
fix vgreduce clustered check
Fix several incorrect comparisons in parallel area avoidance code.
Extend _check_contiguous() to detect single-area LVs.
Reorder mm bounds_check code to reduce window for a dmeventd race. (dm_free_aux)
pre-release
post-release
Fix lvconvert mirror change case detection logic.
pre-release
post-release
Supply missing comma. [via Debian]
Separate --enable-cluster from locking lib options in lvmconf.sh.
Fix two potential NULL pointer derefs in error cases in vg_read().
Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg.
Add timestamp functions with --disable-realtime configure option. [AJ]
Fix compiler warnings in percent arg. [pjc]
Show available fields if report given invalid field. (e.g. lvs -o list)
Add LV column to reports listing kernel modules needed for activation.
exclude targets that are always built-in
Test. Future commit messages should now also go to the dm-devel list
Remove unused #defines from filter-md.c.
Add lvm_dump.sh script to create a tarball of debugging info from a system.
Fix _for_each_pv() for mirror with core log.
Fix format_text mda_setup pv->size and pv_setup pe_count calculations.
Add report columns with underscore before field names ending 'size'.
Correct regionsize default on lvcreate man page (MB).
Accept regionsize with lvconvert
Remove duplicated pv arg from _check_contiguous().
move _for_each_pv()
abstract _is_contiguous()
Extend _for_each_pv() to allow termination without error.
more refactoring
Accept regionsize with lvconvert.
rely on pv_setup functions to fix up pe_count
More work towards pv->size always holding the same value in internal metadata.
check_contiguous to use for_each_pv
.
add cling allocation policy
Test message to lvm-devel list.
Add suspend noflush support.
fix dmsetup usage display (missing
and --noflush wrong place)
remove unused variable
noflush code fixes: missing debug log; non-standard variable name
pre-release
missing mesg
.
pre-release
fix realtime msg alignment
post-release
Propagate clustered flag in vgsplit and require resizeable flag.
Avoid deptree attempting to suspend a device that's already suspended.
pre-release
post-release.
Retain activation state after changing LV minor number with --force.
Fall back to internal locking if external locking lib is missing or fails.
Fix pvdisplay to use vg_read() for non-orphans
pre-release
revert
post-release
Add segment parameter to target_present functions.
Set PV size to current device size if it is found to be zero.
Suppress encryption key in 'dmsetup table' output unless --showkeys
supplied.
getline debug free
Cope if same PV is included more than once in cmdline PE range list.
Perform high-level free space check before each allocation attempt.
Add lvchange --forcesync.
fix forcesync local active detection
reword --resync desc a bit
try forcesync -> resync
resync alphabetical order
Add dev_flush() to set_lv()
.
When adding snapshot leave cow LV mapped device active after zeroing.
dd couple of missing files to tools/Makefile CLEAN_TARGETS.
pre-release
post-release
Fix high-level free space check for partial allocations.
Fix clustered VG detection and default runlevels in clvmd_init_rhel4.
Fix mirror log LV writing to set all bits in whole LV.
fix last check-in: lv->size is in sectors
fix shift
Protect .cache manipulations with fcntl locking.
Add some missing bounds checks on 32 bit extent counters.
Fix adjusted_mirror_region_size() for 64-bit size.
fix cast
pre-release
post-release
Fix a label_verify error path.
Fix --autobackup argument which could never disable backups.
Enhance lvm_dump.sh for sysreport integration and add man page.
Warn if certain duplicate config file entries are seen.
Fix pvremove error path for case when PV is in use.
Fix check for snapshot module when activating snapshot.
pre-release
Install lvmdump by default.
post-release
fix _find_config_node: null parameter is permitted
Fix clvmd_init_rhel4 line truncation (2.02.14).
.
Update lvm2create_initrd to support gentoo.
Improve lvm_dump.sh robustness.
mention new env vars on man page
Update dmsetup man page (setgeometry & message)
pre-release
post-release
Fix mirror segment removal to use temporary error segment.
Adjust some alignments for ia64 and sparc.
Fix VG clustered read locks to use PR not CR.
clvmd ia64 alignment fixes etc. (pjc)
pre release
post-release
Fix detection of smallest area in _alloc_parallel_area() for cling policy.
When lvconvert allocates a mirror log, respect parallel area constraints.
Add missing pvremove error message when device doesn't exist.
pre-release
post-release
Fix dmeventd mirror to cope if monitored device disappears.
Fix some activate.c prototypes when compiled without devmapper.
Add dmeventd_mirror register_mutex, tidy initialisation & add memlock.
Lots of dmevent changes.
fix last checkin
Add dm_tree_use_no_flush_suspend().
Add configure --with-dmdir to compile against a device-mapper source tree.
Free memory in _raw_read_mda_header() error paths.
Remove 3 redundant AC_MSG_RESULTs from configure.in.
Avoid vgreduce error when mirror code removes the log LV.
dumpconfig accepts a list of configuration variables to display.
Prevent permission changes on active mirrors.
Use CFLAGS when linking so mixed sparc builds can supply -m64.
Use CFLAGS when linking so mixed sparc builds can supply -m64
Remove dmeventd mirror status line word limit
fail if status args are missing
Lots of dmeventd-related changes.
updated dmeventd interface
pre-release
post-release
Reinstate dm_event_get_registered_device
Report dmeventd mirror monitoring status.
Report error if NULL pointer supplied to dm_strdup_aux().
More libdevmapper-event interface changes and fixes.
Some libdevmapper-event interface changes.
static naming
use DMEVENTD_PATH
fail registration if timeout thread cannot be started
fix recent checkins
Fix partition table processing after sparc changes (introduced in 2.02.16).
Fix a malloc error path in dmsetup message.
reduce some if/else complexity
Add basic reporting functions to libdevmapper.
Move basic reporting functions into libdevmapper.
dmeventd oom_adj + reduce thread stack size
clean up global mutex usage and fix a race in thread finalisation code
more little fixes
more fixes
use updated dm_event_get_registered_device interface
stat oom_adj and stay silent if it doesn't exist
merge _target_*register_events
Fix a segfault if an empty config file section encountered.
pre-release
post-release
Some internal renaming.
No longer necessary to specify alignment for report fields.
fix last checkin
Suppress 'Unrecognised field' error if report field is 'help'.
Update reporting man pages.
Add DM_LIB_VERSION definition to configure.h.
Add cmdline debug & version options to dmeventd.
fix exit status; always print message on child failure
var dev_name->device_name (lvm2 has dev_name())
register->monitor etc.
Add dm_event_handler_[gs]et_timeout functions.
Streamline dm_report_field_* interface.
Add --clustered to man pages.
Fix refresh_toolcontext() always to wipe persistent device filter cache.
Long-lived processes write out persistent dev cache in refresh_toolcontext().
add a dso-private variable to dmeventd interface
Add private variable to dmeventd shared library interface.
Add descriptions to reporting field definitions.
fix earlier checkin
Adjust report field help description layout.
Add field definitions to report help text.
Migrate dmsetup column-based output over to new libdevmapper report framework.
fix earlier checkin
lvm.static no longer interacts with dmeventd unless explicitly asked to.
Add init script for dmeventd monitoring.
Add some missing close() and fclose() return value checks.
Add some missing close() and fclose() return code checks.
don't remove libdm-common.h any more
Add devices/ignore_suspended_devices to ignore suspended dm devices.
also ignore mirrors
dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors.
pre-release
post-release
Fix md signature check to handle both endiannesses.
Fix vgs to treat args as VGs even when PV fields are displayed.
fix pvsegs report too
Use fixed-size fields in report interface.
reorder report field definitions
Add dmsetup 'help' command and update usage text.
add help -c for field list
help unused attr
help on help
Add recent reporting options to dmsetup man page.
pre-release
post-release
Fix vgsplit to handle mirrors.
Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring.
pre-release
post-release
Fix some &->&& vgreduce cmdline validation. [Andre Noll]
Improve dmeventd messaging protocol: drain pipe and tag messages.
If a PV reappears after it was removed from its VG, make it an orphan.
Fix loading of segment_libraries. [gentoo]
Correct -b and -P on a couple of man pages.
pre-release
post-release
Fix a few leaks in reporting error paths.
Fix a leak in a reporting error path.
Exclude readline support from lvm.static
Move .cache file into a new /etc/lvm/cache directory by default.
Fix two more segfaults if an empty config file section encountered.
Remove no-longer-used uuid_out parameter from activation info functions.
Fix vgrename active LV check to ignore differing vgids.
pre-release
post-release
Support the /dev/mapper prefix on most command lines.
Add a few missing pieces of vgname command line validation.
Try to fix reading in of lvm1 striped LVs.
Remove unnecessary memset() return value checks. [Jim Meyering]
pre-release
post-release
Update lists of attribute characters in man pages.
Introduce _add_field() and _is_same_field() to libdm-report.c.
Add devices/preferred_names config regex list for displayed device names.
add preferred_names to man page.
Deal with some more compiler warnings. Hope this doesn't break anything...
Fix segfault in 'dmsetup status' without --showkeys against crypt target.
[nec]
Avoid trailing separator in reports when there are hidden sort fields.
Change some #include lines to search only standard system directories.
configure.h isn't a system header
Add regex functions to library.
Move regex functions into libdevmapper.
Standardise protective include file #defines.
Add -Wformat-security and change one fprintf() to fputs().
Fix get_config_uint64() to read a 64-bit value not a 32-bit one.
pre-release
post-release
Add capability for tree-based fields to dmsetup reports.
Fix default dmsetup report buffering and add --unbuffered.
pre-release
pre-release
post-release
Add --ignoremonitoring to disable all dmeventd interaction.
Fix dmsetup -o devno string termination. (1.02.20)
revert accidental change
Fix dumpconfig to use log_print instead of stdout directly.
Add vg_mda_count and pv_mda_count columns to reports.
Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint.
Fix pv_mda_count to cope with missing PV.
tidy
Cope with find_seg_by_le() failure in check_lv_segments().
pre-release
post-release
Fix configure libdevmapper.h check when --with-dmdir is used.
pre-release
post-release
Split metadata-external.h out from metadata.h for the tools to use.
Add ps3disk devices.
Use NULL not 0.
improve changelog
Update to use autoconf 2.61, while still supporting 2.57.
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
pre-release
post-release
Remove obsolete dmfs code from tree and update INSTALL.
Clean up mirrorlog argument processing.
Fix (C) !
Clean up numerous compiler warnings that crept in recently.
Fix lvconvert_mirrors detection of number of existing mirrors.
Change lvconvert_mirrors to use mirror segtype not striped.
Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R.
pre-release
post-release
Avoid error when --corelog is provided without --mirrorlog. (2.02.28)
Fix strdup memory leak in str_list_dup().
clarification
Remove no-longer-correct restrictions on PV arg count with stripes/mirrors.
Moved the obsolete test subdirectory to old-tests.
Fix configure --with-dmeventd-path substitution.
Handle new sysfs subsystem/block/devices directory structure.
refactor dev-md.c, separating out the magic number detection
Detect md superblocks version 1.0, 1.1 and 1.2.
explanation of md superblock location & avoid compilation warnings
Fix orphan-related locking in pvdisplay and pvs.
Fix error message when fixing up PV size in lvm2 metadata (2.02.11).
fix new lvremove checks - mustn't fail when activation is disabled
Add LVM2 version to 'Generated by' comment in metadata.
Show 'not usable' space when PV is too large for device in pvdisplay.
adjust sizes for metadata
fix inverted orphan test
attempt to fix human-readable unit output when number of sectors is odd
Add pv_mda_free and vg_mda_free fields to reports for raw text format.
Prevent lvconvert -s from using same LV as origin and snapshot.
Enhance the management of readahead settings.
Define DM_READ_AHEAD_AUTO and DM_READ_AHEAD_NONE.
Attempt to remove incomplete LVs with lvcreate zeroing/activation problems.
Remove new mirror logs when creation fails.
Add DM_READ_AHEAD_MINIMUM_FLAG
readahead activation code (but no dm support yet)
fix precedence
Accept sizes with --readahead argument.
Avoid nested vg_reads when processing PVs in VGs and fix associated locking.
Convert some vg_reads into vg_lock_and_reads
another vg_lock_and_read
define LCK_NONE for cases when vg_lock_and_read already holds lock
more vg_read lock fixes
Fix --addtag to drop @ prefix from name
move pvresize_single back under tools
Decode cluster locking state in log message. (untested)
note pvmove breakage
FIXMEs for case where dm itself has device open
Start refactoring pvmove allocation code.
drop mirrored_pv/mirrored_pe from alloc handle
add read_ahead functions to library and dmsetup --readahead
refine specification of dmsetup readahead
uncomment libdevmapper readahead calls
read_ahead node ops
readahead support completed - untested
fix
missing #include
fix changed parms
fixes
fixme
fix ioctls to use long not int
read_ahead in report with underscore to match lvm2 field
work out device name to use for read ahead request
clarify when read_ahead may be set
pre-release
post-release
Fix minimum readahead debug message.
round readahead to multiple of page size in tools
export can_split parameter until rest of pvmove allocation restructuring gets done
pre-release
clarify
post-release
Report error when empty device name passed to readahead functions.
Add node operation stack debug messages.
Fix deptree to pass new name to _resume_node after a rename.
more readahead node fixes/debug messages
Append fields to report/pvsegs_cols_verbose.
Build changes to replace fsadm C program with shell script.
replace fsadm.c with fsadm.sh
tweak usage text
pre-release
post-release
Major restructuring of pvmove and lvconvert layer manipulation code
avoid some compiler warnings
stacked mirror support (incomplete)
various cleanups in recent patches
more fixes
auto-collapse layers
a few more changes/fixes to recent code
lvconvert uses polldaemon now
typo
Fix vgreduce PV list processing not to process every PV in the VG.
Various lvconvert/polldaemon-related fixes from NEC. See lvm-devel
Add lv_convert field to default lvs output.
correct field name
convert_lv
lvconvert waits for initial completion by default
Don't use block_on_error with mirror targets above version 1.12.
reword
revert temp change
use scan_vgs_for_pvs to detect non-orphans without MDAs
Maintain lists of stacked LV segments using each LV.
reorder funcs
move removable_pvs checking
export find_temporary_mirror()
fix mirror log manipulation during lv convert
allow a mirror to contain only one mimage
cope with stacked LVs as well as PVs when deciding which bits of mirrors to remove
fix to earlier checkin
adjust mirror log error message
additional safety check on new segment list
fix a _get_vgs return
another lvconvert fix
lvconvert/vgreduce fixes
mirror log stuff
rename lv_remap_error
pre-release
fix default extent_size
fix default stripesize
pre-release review cleanups
Fix lvcreate -M1 readahead.
add lvconvert messages
Fix lvcreate --nosync not to wait for non-happening sync.
Pre-release
post-release
clarify
Use log_warn for reporting field help text instead of log_print.
Fix pvs, vgs, lvs error exit status on some error paths.
update
suppress compiler warning
Fix internal metadata corruption in lvchange --resync.
Refactor mirror log attachment code.
.
Fix two check_lv_segments error messages to show whole segment.
pre-release
post-release
Rely upon internally-cached PV labels while corresponding VG lock is held.
Use stack return macros throughout.
Some whitespace tidy-ups.
undo a few 'stack' moves
only read labels once between each lock event
Fix mirror log name construction during lvconvert. (2.02.30)
a couple more compiler warnings
pre-release
post-release
split orphan VG by format type
Fix 'pvs -a' to detect VGs of PVs without metadata areas.
Avoid automatic lvconvert polldaemon invocation when -R specified.
Fix lvconvert detection of mirror conversion in progress.
Add missing no-longer-used segs_using_this_lv test to check_lv_segments.
Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30)
Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV.
add vd to filters
Use return_0 in a couple more places.
Escape double quotes and backslashes in external metadata and config data.
Refactor text format initialisation into _init_text_import.
preparation for vg cache
Correct command name in lvmdiskscan man page.
Cache VG metadata internally while VG lock is held.
Add per-command flags to control which commands use the VG metadata cache.
enable vg metadata cache by default
fix vd->virtblk
.
.
Add some basic internal VG lock validation.
create fids for internal orphan VGs
Fix vgreduce to use vg_split_mdas to check sufficient mdas remain.
Indicate whether or not VG is clustered in vgcreate log message.
Fix some pvmove error status codes.
Use clustered mirror log with pvmove in clustered VGs, if available.
Fix vgdisplay 'Cur LV' field to match lvdisplay output.
pre-release
post-release
pre-release
.
make list_move consistent with other list fns
fix 3rd copy
more pre-release cleanup
.
post-release
Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34)
Don't attempt remote metadata backups of non-clustered VGs. (2.02.29)
rename P_global to P_#global
pre-release
missing stack
post-release
Fix lvconvert -m0 allocatable space check.
Calculate string size within dm_pool_grow_object.
Add field name prefix option to reporting functions.
Add --prefixes to reporting tools for field name prefix output format.
Add --prefixes to dmsetup
Add 3 new reporting colums: tables_loaded, readonly, suspended.
Use 'active' for !suspended as the code already uses that.
Fix metadata corruption writing lvm1-formatted metadata with snapshots.
Check lv_count in vg_validate.
Exclude VG_GLOBAL from internal concurrent VG lock counter.
pre-release (bug fixes only - enhancements excluded)
post-release - reinstate incomplete enhancements
Don't touch /dev in vgrename if activation is disabled.
remove unused lvmcache_drop_vg prototype
Drop metadata cache before writing precommitted metadata instead of after.
When asked to drop cached committed VG metadata, invalidate cached PV labels.
Avoid unnecessary unlock attempts with LCK_CACHE pseudo-locks.
Add missing mutex around clvmd lvmcache_drop_metadata library call.
More P_ and V_ lock cleanup.
more cleanup
Refactor some vginfo manipulation code.
revert accidental checkin
Temporarily disable dmeventd mirror monitoring during lvchange --resync.
Skip add_dev_node when ioctls disabled.
Avoid spurious duplicate VG messages referring to VGs that are gone.
fix setpriority int error
In script-processing mode, stop if any command fails.
suppress warning on silent failure with ECMD_PROCESSED
Correct config file line numbers in messages when parsing comments. (kabi)
Drop metadata cache if update fails in vg_revert or vg_commit.
When removing LV symlinks, skip any where the VG name is not determined.
When activating, if precommitted metadata is still cached, assume it's live.
Add missing deactivation after activation failure in lvcreate -Zy.
Decode numbers in clvmd debugging output.
Initialise params buffer to empty string in _emit_segment.
Allow for vginfo changing during _vg_read.
cope with volatile vginfo in vg_read
fix _free_vginfo not to remove a ref to a *different* vginfo from the vgid cache
Drop cached metadata when renaming a VG.
cache dropping needs to use old name not new
cleaner LCK_LV decoding
pre-release
back out unnecessary changes for this release
change --prefixes to --nameprefixes
nameprefixes
switch to single quotes rather than double for nameprefixes
pre-release
post-release
Drop cached metadata for disappearing VG in vgmerge.
Bring configure.in into line with the lvm2 version.
rename some config vars
.
Revert assuming precommitted metadata is live when activating (unnecessary).
Tweak detection of invalid fid after changes to PVs in VG in _vg_read.
bring list.h into line with lvm2
Fix segfault after _free_vginfo by remembering to remove vginfo from list.
Fix inverted no_flush debug message. (mpatocka)
Fix tracking of validity of PVs with no mdas in lvmcache.
pre-release
post-release
Add --force to lvextend and lvresize.
dmsetup --unquoted
Add --unquoted to reporting tools.
Add --rows to reports.
Add --rows to dmsetup.
Cope with missing field values.
Align struct memblock in dbg_malloc for sparc.
pre-commit
post-release
Fix reporting of LV fields alongside unallocated PV segments.
Underline longer report help text headings.
Fix lvconvert to disallow snapshot and mirror combinations. (mpatocka)
Update validation of safe mirror log type conversions in lvconvert. (brassow)
Fix up cache for PVs without mdas after consistent VG metadata is processed.
tweak lcov configuration/makefiles
Enable readline by default if available.
pre-release
post-release
.
Cease recognising snapshot-in-use percentages returned by early development
kernels.
Fix pvchange -M1 -u to preserve existing extent locations when there's a VG.
reinstate lost FIXME
.
Refactor _text_pv_read and always return mda list if requested.
Fix pvchange to handle PVs without mdas.
fix pvremove for pvs without mdas
remove unused mdas variable
Change lvchange exit status to indicate if any part of the operation failed.
Avoid looping forever in _pv_analyze_mda_raw used by pvck.
Change clustered mirror kernel module name from cmirror to dm-log-clustered.
remove now-redundant slash-stripping
Improve file descriptor leak detection to display likely culprit and filename.
Extend deptree buffers so the largest possible device numbers fit.
revert unnecessary 'stack's
Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan.
Only resume devices in dm_tree_preload_children if size changes.
Prevent resizing an LV while lvconvert is using it.
Add missing LV error target activation in _remove_mirror_images.
Avoid shuffling remaining mirror images when removing one, retaining primary.
post-release
Fix last checkin - tested wrong dnode.
fix last patch return code
Store sysfs location in struct cmd_context.
remove unused var
Pass struct physical_volume to pe_align.
remove unsed var
adjust pe_align for md chunk size
Add device/md_chunk_alignment to lvm.conf
Improve the way VGs with PVs missing are handled so manual intervention
.
pre-release
revert unexplained removal of a '<backtrace>' message
rename var
.
fix last release
suppress warning if old value found for now
.
Free text metadata buffer after a failure writing it.
device->devices
Fix conversion of md chunk size into sectors.
Add usrsbindir to configure.
Add usrlibdir & usrsbindir to configure.
Generate man pages from templates and include version. (romster)
.
Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE.
(Edward Allcutt)
In resume_mirror_images replace activate_lv with resume_lv as workaround.
Use temp table to set device size when converting mirrors.
pre-release
post-release
Fix temp table activation in mirror conversions not to happen in other cmds.
Accept locking fallback_to_* options in the global section as documented.
pre-release
post-release
Use lvm-types.h
Add libdm subdir to begin merging the device-mapper tree.
Split out dm-logging.h from log.h
Split out lvm-logging.h from log.h.
Separate out globals from the logging code.
separate lvm-globals
drop explicit libdevmapper.h
Add dm-logging.h ready for libdevmapper.
remove ancient debian dir
libdevmapper version - will change once the merger's settled in
first attempt at merging configure
autoreconf
drop configure --with-dmdir
dmeventd plugins move
dm+lvm2 macros
no DMDIR
autoreconf
add libdevmapper-event.h
export DM_LIB_VERSION
further progress
autoreconf
Use simple x.y.z library version in libdevmapper.pc
autoreconf
Rename a couple of variables that matched function names.
more tweaking to get things to compile - dmlib.h for log fns, list.h
add list fns
Right, a simple build (without options) is working again.
more tweaks for dmeventd - not finished yet
more missing bits
more fixes
dmeventd
clvmd
make install_device-mapper
quick review of docs
First test release of the merged code base.
no need for libdevmapper.h on system any more
clarify
some makefile fixes for liblvm2cmd & remove some hardcoded .so
post-release (retrospective)
Generate clvmd init script at configuration time for Red Hat-based distros.
regenerate
generate init script
Add tinfo to termcap search path for pld-linux.
Don't skip updating pvid hash when lvmcache_info struct got swapped.
Suppress 'duplicate PV' message when it's only a cache update not a
real
Fix uninitialised lv_count in vgdisplay -c
Use dm_snprintf to avoid duplicating the snprintf compatibility code.
lvm2cmdline.h:31: warning: declaration of `is_static' shadows a global
declaration
Display a 'dev_size' of zero for missing devices in reports.
Add an "all" field which expands to all fields of the report type.
Add <report_type>_all to help text.
More fields can cause segfaults with orphans.
...and a few more uninitialised dummy fields.
pre-release
Add stuff people missed.
and another one missing
post-release
Rename vg_read() to vg_read_internal(). (mornfall)
Introduce as-yet-unused _vg_lock_and_read() and associated header file
Properly enforce cluster locking in as-yet-unused _vg_lock_and_read. (mornfall)
Replace internal vg_check_status() implementation. (mornfall)
Introduce as-yet-unused replacement vg_read() and vg_read_for_update()
Add as-yet-unused vg_read_error() and vg_might_exist(). (mornfall)
If kernel supports only one dm major number, use in place of any supplied.
Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames. (dwyso)
Mention the restriction on file descriptors at invocation on the lvm man page.
Provide da and mda locations in debug message when writing text format label.
Fix interrupt unblocking after vgcreate, for example: drop_cached_metadata()
Add --dataalignment to pvcreate to specify alignment of data area. (mbroz)
Add system_dir parameter to create_toolcontext() and call it system_dir
Move tools/version.h to lib/misc/lvm-version.h.
Use pkgconfig to obtain corosync library details during configuration. (kabi)
autoreconf (using fedora 10 for this now)
fsadm cleanups & release prep
.
Attempt cleanup in child before execing new binary in exec_cmd()
.
Fix last check-ins: seg can be NULL.
pre-release
post-release
Add missing 'device-mapper' internal subdir build dependency.
fix typo reported by "A. Costa" <agcosta(a)gis.net>
Fix linux configure --enable-debug to exclude -O2.
Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin).
better variable name for snapshot counting
Revert:
Missing entries.
Pre-release cleanups.
Reinstate version in liblvm2cmd.so soname. (2.02.44)
Rename liblvm.so to liblvm2app.so and use configure --enable-applib.
post-release
Attempt to load dm-zero module if zero target needed but not present. (mbroz)
0->NULL (mbroz)
Fix counting of virtual origin LVs in vg_validate. (mbroz)
Skip virtual origins in process_each_lv_in_vg(). (mbroz)
Make --snapshot optional with lvcreate --virtualsize.
Suppress 'removed' messages displayed when internal LVs are removed.
Rename internal vorigin LV to match visible LV.
Remove /dev/vgname/lvname symlink automatically if LV is no longer visible.
When creating new LV, double-check that name is not already in use.
Handle multi-extent mirror log allocation when smallest PV has only 1 extent.
Remove verbose 'visited' messages.
Make mempool optional in dm_split_lvm_name()
Add subsystem, vg_name, lv_name, lv_layer fields to dmsetup reports.
Add splitname.
test commit
test commit
test commit
Abort operation if automatic metadata correction in lvconvert fails.
Abort if automatic metadata correction fails when reading VG to update it.
revert last patch - let's do a release first
pre-release
pre-release tidy up
update date
post-release
clarification
Add device number to more log messages during activation.
Fix whitespace in linear target line to fix identical table line detection.
.
Permit several segment types to be registered by a single shared object.
Add dm_log_with_errno and dm_log_with_errno_init, deprecating the old
Fix dev name mismatch in vgcreate man page example.
Make cmd->cmd_line const.
Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again.
(mbroz)
pre-release
New LOG_MESG macro to fix file/line number logging for memory leaks after
pre-release clarification
pre-release
post-release
Revert broken commit:
Use log_error macro consistently throughout in place of log_err.
Store any errno and error messages issued while processing each command.
Add lvm_errno and lvm_errmsg to liblvm to obtain failure information.
Add log_errno to set a specific errno and replace log_error in due course.
Fix so only log_error and log_fatal set EUNCLASSIFIED.
Return EINVALID_CMD_LINE not success when invalid VG name format is used.
Add an API version number, LVM_LIBAPI, to the VERSION string.
Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1.
fix dir in generated file list for cflow
Add liblvm2app Makefile installation targets.
check in the correct pkgconfig file
All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros.
remove no-longer-needed NONBLOCK
Add global/wait_for_locks to lvm.conf so blocking on locks can be disabled.
pre-release
pre-release
clean up a bit for release
post-release
Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them.
renamed include files
Fix lvm2app.pc installation filename.
Fix configure script to handle multiple clvmd selections.
corosync not cman...
Prepare for udev synchronisation code. (options don't work yet)
add not-yet-working udev options
configure --udevdir
Add libdevmapper functions to support synchronisation with udev.
another fixme
Add udevcomplete and --noudevwait to dmsetup.
Set cookies in activation code and wait for udev to complete processing.
dummy makefile for now to keep builds happy
lvchange --noudevsync
deal with error-related FIXMEs
cleanup some ignored return values & 'stack's
Manage without dm_udev_cleanup?
Only create LV symlinks on ACTIVATE not PRELOAD.
Add warnings to check udev did what it was meant to.
Add udev checks.
Add default udev rules.
Add activation/udev_sync to lvm.conf.
detect udev mk_link problems
Additional logging
pre-release
pre-release
post-release
Rewrite clvmd configuration code.
change clogd to cmirrord
rename clogd dir to cmirrord
clogd->cmirrord
Add lots of missing stack debug messages to tools.
More cmirror makefile fixes from Fabio.
pre-release
dm release cleanup
missing (C) reminders
pre-release cleanup
post-release
Remove test/api which should only be under 'make test'.
Update lvm2_monitoring script.
drop -ing suffix
Enable dmeventd monitoring section of config file by default.
Fix dmeventd _temporary_log_fn parameters. (2.02.50)
Handle any path supplied to dm_task_set_name() by looking up in /dev/mapper.
remove unused var & rename fn
ensure dm_strdup succeeds
pre-release
pre-release
missing dm_snprintf
Fix log fn prototype.
post-release
Add global/si_unit_consistency to enable cleaned-up use of units in output.
Treat input units of both 's' and 'S' as 512-byte sectors.
(2.02.49)
Consolidate LV allocation into alloc_lv().
Provide alternative implementation of obsolete siginterrupt().
Don't attempt to deactivate an LV if any of its snapshots are in use.
Generalise polldaemon code by changing mirror-specific variable names.
Don't attempt to restart pvmoves when deactivating LVs in vgchange.
look up pvmove by pvmove LV when PVMOVE flag is set
Distinguish between powers of 1000 and powers of 1024 in unit suffixes.
Factor out poll_mirror_progress and introduce progress_t.
Make poll_mirror_progress a function that can be replaced.
Introduce percent_range_t and centralise snapshot full/mirror in-sync checks.
Add percent_range to copy_percent too.
Allow for a build directory separate from the source.
Only include selinux libs in libdevmapper.pc when selinux build enabled.
Correct example.conf to indicate that lvm2 not lvm1 is the default format.
More makefile cleaning up and fixing. (gentoo)
linking parms missing from o->so conversion.
Extra libs must be appended, not defined first.
More build cleanups (linker parameter ordering).
Attempt to build dmeventd.static.
.
Remember to clear 'global lock held during cache refresh' state after use.
Fix clvmd segfault when refresh_toolcontext fails. (brassow, bz 506986)
Cleanup mimagetmp LV if allocation fails for new lvconvert mimage.
Permit snapshots of mirrors. (brassow)
pre-release
add copyright lines
.
post-release
Insert some missing stack macros into activation code.
Fix hash lookup segfault when keys compared are different lengths.
Tidy some uses of arg_count and introduce arg_is_set.
Add support for querying a device's inactive table.
.
pre-release
.
post-release
pre-release
.
Post-release.
Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin.
Internal errors triggering abort cannot be suppressed. (kabi)
Use _LOG_FATAL when aborting on an internal error.
Add missing items to WHATS_NEW files.
.
Revert so-called "redundant" log until after next release.
disable 'redundant' tests
pre-release
post-release
Fix allocation code not to stop at the first area of a PV that fits.
pre-release
Note some problems still to be addressed.
post-release
Misc compilation clean-ups.
Clean up include files.
more build fixes
And more fixes for cmirror build.
Signal handling FIXMEs.
remove no-longer-used files
remove no-longer-used header
remove more compiler warnings
Remove mknod() and add FIXMEs.
Deal with a few more compiler warnings.
Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use.
pre-release
fix lib include
missing header
post-release
pre-release
Fix dmeventd snapshot plugin build dependency.
Remove pointless versioned symlinks to dmeventd plugin libraries.
pre-release
post-release
use lvm2app to refer to library now
Extend core allocation code in preparation for mirrored log areas.
Misc cleanups in the new mlock code, incl. improving some variable names
.
some missing debug messages
pre-release
pre-release cleanups
post-release
Introduce is_missing_pv().
Look up missing PVs by uuid not dev_name in _pvs_single to avoid invalid stat.
replace existing_pv with existing_pvl
Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls.
Only do one full device scan during each read of text format metadata.
fix last checkin
Suppress repeated errors about the same missing PV uuids.
autoreconf & add missing WHATS_NEW entry
Fix libdevmapper-event pkgconfig version string to match libdevmapper.
Avoid duplicate definitions.
Allow dynamic extension of array of areas selected as allocation candidates.
Introduce pv_area_used into allocation algorithm and add debug messages.
improve a few comments in last check-in
add debug output and attempt to control which device gets log as intended perhaps
add debug mesgs and attempt to control which device is used for log as perhaps
intended
.
add debug mesg
more diagnostics
more diagnostics
Add some assertions to allocation code.
Use INTERNAL_ERROR definition consistently in internal error messages.
.
Allow ALLOC_ANYWHERE to split contiguous areas.
Fix --alloc contiguous policy only to allocate one set of parallel areas.
Attempt to fix non-ALLOC_ANYWHERE allocation code after recent changes broke
remove unused var
Change most remaining log_error WARNING messages to log_warn.
Improve vg_validate to detect some loops in lists.
Improve vg_validate to detect some loops in lists.
Limit number of error messages when checking LV segments.
initialise log_allocated to 0
Avoid endless loop if lv->segments list is corrupted
Try to fix tracking of whether or not log extents need allocating.
temporarily downgrade the 'open while suspended' error till we fix it
properly
A few more log_error to log_warn changes for mirrors.
remove compiler warning
Display PVs created during tests
Disable broken test.
Fix is_partitioned_dev not to attempt to reopen device.
disable another broken check in a test
Fix incorrect removal of symlinks after LV deactivation fails.
Issue a message if the new type of deactivation failure happens.
Only fail if the top-level LV fails to be deactivated - allow deactivation
Fix pvmove allocation to take existing parallel stripes into account.
suppress bogus compiler warning
missing ?:
another incorrect test that should have been failing before
And another test that should have been failing - normal allocation policy
Permit mimage LVs to be striped in lvcreate and lvresize.
Don't ignore error if resuming any LV fails in resume_lvs.
Add activation/polling_interval to lvm.conf as --interval default.
Add --stripes to lvconvert too.
Use typedefs for toollib process_each functions.
Only pass visible LVs to tools in cmdline VG name/tag expansions without -a
pre-release
.
pre-release
pre-release
fix broken 'make install' for lvm_dump.sh
touch file
post-release
Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency.
Speed up dm_bit_get_next with ffs().
Simplify dm_bitset_create. (ejt)
fix last commit
Add dm_bit_and. (ejt)
missed files from last commit
Move function up file
typo in comment
Add dm_bitset_equal to libdevmapper.
Add a regex optimisation pass for shared character prefixes.
add -r to print out closer to original regex format
Still not satisfactory...
isprint
fix leftmost rotation
Fix rightmost rotation, and use LEFT and RIGHT to make symmetry more obvious.
Don't walk rightmost through NULL pointers.
Move regex printing code from test to main tree (may use in debug messages).
avoid ORs rightmost
Cache bitset locations to speed up _calc_states. (kabi)
don't optimise anything with TARGET_TRANS to avoid intefering with the
matcher's counting
add comments
Fix lvconvert error message when existing mirrored LV is not found.
Mention how to get PV to LV mappings.
Remove no-longer-used arg_ptr_value.
.
.
change awk path
pre-release
typo
post-release
Fix truncated total size displayed by pvscan.
Fix static build.
Use -d to control level of messages sent to syslog by dmeventd.
pre-release
post-release
Use is_orphan_vg in place of hard-coded prefix tests.
Accept orphan VG names as parameters to lock_vol() and related functions.
Note that orphan lock is always obtained last
Validate orphan and VG_GLOBAL lock order too.
Add is_global_vg and split out from is_orphan_vg.
Install lvmconf script by default.
Generate example.conf so default lvm.conf contents can be configured.
Add install_system_dirs makefile target.
Add make install_initscripts
If unable to obtain snapshot percentage leave value blank on reports.
pre-release
backup->cache
Fix $(INSTALL_SCRIPT)
post-release
Update clustered log kernel module name to log-userspace.
Choose between clustered log versions based on kernel version.
Avoid selecting names under /dev/block if there is an alternative.
Replace strncmp kernel version number checks with proper ones
Don't merge unchanged persistent cache file before dumping if tool scanned.
pre-release
post-release
Various cleanups following recent commits.
Add lv_path to reports to offer full /dev pathname.
In some C++ standards, typeof is not reserved.
pre-release
post-release
Update liblvm2app exported symbols.
actually, let's keep these in same order as in header
Generate liblvm2app and libdevmapper exported symbols from header files.
generate liblvm2cmd exported symbols too
Improve various log messages.
pre-release
Only attempt to guarantee 1 mda ignored if there's at least one mda in the vg.
post-release
suppress useless compiler warning
revert that
Update partial mode warning message.
more metadataignore message/code cleanup
more mda ignore cleanups
improve vgmetadatacopies unmanaged message
Fix --[vg]metadatacopies arg processing
Move dmeventd man page from install_lvm2 to install_device-mapper. (1.02.50)
Fix lvm shell crash when input is entirely whitespace. (Xinwei Hu)
Always pass unsuspended dm devices through persistent filter to other filters.
remove unneeded header
Add printf format attributes to yes_no_prompt & dm_{sn,as}printf and fix a
calle
Add parentheses to some libdevmapper.h macro arguments.
Randomly select which mdas to use or ignore.
Fix dmlosetup snprintf %llu compiler warning.
pre-release
fix jumbled args in 'Adjusting' message
shorten mesg
s/flags/mda/
fix code in 2nd mda unignore loop to match 1st loop
.
post-release
Adjust auto-metadata repair and caching logic to try to cope with empty mdas.
Remove superfluous fn prototypes.
Fix redundant declarations and always compile with -Wredundant-decls.
Use __attribute__ consistently throughout.
update configure
Fix dm_create_lockfile error paths - incorrectly unlinked in-use lockfile.
.
pre-release
.
day+1
add copyright notices to new files
Change clvmd to communicate with lvm via a socket in /var/run/lvm. (mbroz)
Never use clvmd singlenode unless explicitly requested with -Isinglenode.
post-release
Fix configure to supply DEFAULT_RUN_DIR to Makefiles.
Drop explicit 'Base' version from exported symbols.
Make liblvm.device-mapper wait for include file generation.
Use #include <> not "" in lvm2app.h which gets installed on the
system.
Fix exported_symbols generation to use standard compiler arguments.
revert the 'Base' change - that wasn't the cause of the problem
Fix lib.device-mapper to wait for include too
set DEFAULT_RUN_DIR (missed from earlier checkin?)
Remove superfluous NULL pointer tests before dm_free from dmeventd.
Various small cleanups and fixes related to monitoring.
Don't really change monitoring status when in test mode.
Monitor origin -real device below snapshot instead of overlay device. (brassow)
Fix dev_manager_transient to access -real device not snapshot-origin. (brassow)
Allow internal suspend and resume of origin without its snapshots.
Use 'SINGLENODE' instead of 'dead' in clvmd singlenode messages.
Attempt to fix buildbot failure in t-lvconvert-mirror.sh due to failing to
pre-release
post-release
autoreconf also updates configure.h.in
.
Track recursive filter iteration to avoid refreshing while in use. (2.02.56)
Fix name in msg in last checkin.
Replace alloca with dm_malloc in _aligned_io.
pre-release
Speed up CRC32 calculations by using a larger lookup table.
was renamed
drop an unnecessary 'stack'
Speed up unquoting of quoted double quotes and backslashes.
Add dm_zalloc and use it and dm_pool_zalloc throughout.
Allow CC to be overridden at build time (for 'scan-build make').
Add --setuuid to dmsetup rename.
restrict last checkin to devs consisting entirely of error target
Don't take write lock in vgchange --refresh, --poll or --monitor.
Add global/metadata_read_only to use unrepaired metadata in read-only cmds.
Use a more-generic name for the new kernel flag so list_devices can share it.
fix header #defines
pre-release
post-release
Update VG metadata only once in vgchange when making multiple changes.
Fix regex optimiser not to ignore RHS of OR nodes in _find_leftmost_common.
lost line
pre-release
post-release
forgotten to regenerate last time configure.in was updated
Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76)
Extend cling allocation policy to recognise PV tags (cling_by_tags).
Support repetition of --addtag and --deltag arguments.
Remove tag length restriction and allow / = ! : # & characters.
Fix _output_field crash from field_id free with DEBUG_MEM. (Phillip Susi)
pre-release
post-release
Fix default /etc/lvm permissions to be 0755. (2.02.66)
Suppress 'No PV label' message when removing several PVs without mdas.
Fix memory leak when VG allocation policy in metadata is invalid.
Fix debug logging of derived flag LCK_CACHE in clvmd.
pre-release
post-release
Cope better with an undefined target_percent operation in _percent_run.
Rename vg_release to free_vg.
.
.
Fix scanning of VGs without in-PV mdas.
Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51) (robbat2)
pre-release
Copyright notices for new files.
post-release
Using Fedora 14's autoreconf.
Add aclocal.m4 (for pkgconfig).
pre-release
post-release
reissue 2.02.80
post-release
add fio
Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80)
pre-release
post-release
remove unused definitions
Add change_tag to toollib.
Fix lvchange --test to exit cleanly.
Bring lvscan man page up-to-date.
pre-release
post-release
Use O_DIRECT when reading block devices.
Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested.
a few more comments
Warn if secure data flag requested but not supported by kernel.
pre-release
pre-release
post-release
pre-release
post-release
Handle decimal digits with --units instead of ignoring them silently.
Various changes to the allocation algorithms: Expect some fallout.
Fix check for log-only allocation in new alloc normal loop.
Improve pvremove error message when PV belongs to a VG.
mention vgreduce in pvremove man page
Fix _create_and_load_v4 not to lose the --addnodeoncreate setting (1.02.62).
Fix dm_udev_wait calls in dmsetup to occur before readahead display not after.
Accept multiple mapped device names on many dmsetup command lines.
Use empty string instead of /dev// for LV path when there's no VG.
Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name.
Fix last checkin - added error message text wrong.
Use hard-coded /dev/mapper/control details for 2.6.36+ kernels and simplify
Rename _check_version
Adjust pvmove man page wording.
Add missing pkg_config_init check with --enable-udev_sync.
Set pv_min_size to 2048KB to exclude floppy drives.
clean up critical section patch
pre-release clean-ups
pre-release
commands/toolcontext.c:578: warning: ‘udev_dir’ may be used uninitialized in
this function
wake buildbot
post-release
test
test
test
test
test
test
test
test
test
test
test update without WHATS_NEW to check it gives warning now
Add and use dev_open_readonly and variations.
test
test
test
test
test
test
test
test
test
test
test
Report sector containing label in verbose message.
Permit --available with lvcreate so non-snapshot LVs need not be activated.
Report sector containing label in verbose message.
Defer writing PV labels to vg_write.
Propagate test mode to clvmd to skip activation and changes to held locks.
missing space in mesg
Major pvmove fix to issue ioctls in the correct order when multiple LVs
Fix --mirrorlog mirrored.
Disable critical section internal errors until this can be fixed properly
Fix 'pvs -o pv_all' to include label fields. (Also removed recursion.)
Maintain a count of the number of suspended devices in libdevmapper
Fix fields in warning message.
Fix last snapshot removal to avoid table reload while a device is suspended.
Return immediately dm_lib_exit() if called more than once.
remove unused var after recent patch
Move udev_only logic inside stacked node op code.
Extend debug log messages to distinguish between the 3 states:
Move _set_lvm_fallback into toolcontext, fix string comparison (/devtest
Selectively enable/disable udev rules.
Remove enforcement of udev verification when using non-standard /dev location.
Change to still sync with udev (to test waiting for rules) then to verify udev
more fixes to readahead etc.
More readahead tests.
Temporary conversion to internal error and failure, to see how many
Remove temporary failures now, but continue to give INTERNAL_ERROR.
use dmsetup remove -f as a better way of simulating a device
"disappearing"
Add uuids to dmsetup create cmds.
Append 'm' attribute to pv_attr for missing PVs.
debug log readonly flag with ioctls
Reinstate correct permissions when creating mirrors.
remove any stray semaphores after tearing down devs
print any loop devs that weren't torn down
teardown aborts if it hits an error, so better teardown semaphores earlier
make udev teardown conditional on using udev
Add age filter to dmsetup udevcomplete_all to minimise concurrency problems.
test attempt to remove stray loop devs
Try to remove any stray loop devices left behind by earlier aborted tests.
teardown stray filesystems too
use remove -f
When suspending, automatically preload newly-visible existing LVs
update pv_attr check for new missing attr
Add framework for validation of ioctls. Doesn't do any checks yet.
Report internal error if suspending a device using an already-suspended dev.
reinstate accidentally-removed lines to fix pvmove again
first attempt to fix test
Fix conditions using no_merging: only those using lv_is_merging_cow() should
Snapshots LVs are never loaded in their own right, only along with their
decode cookie flags in debug msgs
Always perform preload logic before suspending - not only in the case when we
Abort operation if dm_tree_node_add_target_area fails.
Cope with a PV only discovered missing when creating deptree.
report which dev was not found
Move snapshot deactivation logic into lib/activate, fixing the
Move snapshot removal activation logic into lib/activate.
Log cookie values when incrementing/decrementing to give clues about races.
Need to snapshot lookup by uuid instead of name in case it's renamed.
Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18.
Remove dev name prefix from dmsetup line output if exactly one dev requested.
missing ifdef when new fn unused
move doc to doc dir
Downgrade error message - it isn't strictly an internal error in the
pre-release
remove unnecessary lvconvert.h
post-release
Fix read-only identical table reload supression.
Remove support for the original dm ioctl interface version 1.
autoreconf
pre-release fixes incl make distclean and configure --with-raid=none/shared
pre-release
Drop CCS* variables no longer used.
more pre-release fixes
post-release
core removed with clean not distclean
makefile fixes
Add -V as short form of --virtualsize in lvcreate.
_ for static fns
restrict dm_tree_node_add_null_area
pre-release
avoid multi-line calc with incorrect intermediate var contents
revert incomplete inconsistent log message change for now
spaces->tabs
tweak split/track/merge
clarify comment
post-release
Remove incorrect error message added in 2.02.87.
.
Fix raid shared lib segtype registration (2.02.87).
thin - hide unimplemented dso fn; remove duplicate origin_lv field; add
seg_is_thin includes both thin_pool and thin_volume
same for segtype_is_thin
Only build libdaemon.a when we need it at the moment.
Add comments & remove always-included header.
Comments, FIXMEs, name changes.
Move cascade inside libdm etc.
temp notes on dealing with cascade
Remove incorrect requirement for -j or -m from lvchange error message.
lvcreate parsing for thin provisioning.
only thin volumes need converting
tdata->tpool
else
Start using 64-bit status flags - most of the code already handles them.
add thin_manip.c like the other manip files
pool attach fns & more field renaming
Terminate pv_attr field correctly. (2.02.86)
lvcreate/remove thin_pool and thin volumes (--driverloaded n only)
Add 7th lv_attr char to show the related kernel target.
Add a new 'thin_pool' output field to 'lvs.
Append z to lv_attr if new blocks will be zeroed.
FIXMEs to note problems with some error paths. (Perhaps safer to disable
missing Makefile dep
explain why we may now retry
correct thin_pool width
typo
better -m0 error message, but there's an internal logic error to fix instead
Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely.
Replace incomplete pvmove activation failure recovery code with a message.
Introduce revert_lv for better pvmove cleanup.
Clarify multi-name device filter pattern matching explanation in lvm.conf.5.
Clarify multi-name device filter pattern matching explanation in lvm.conf.5.
Pass exclusive LV locks to all nodes in the cluster.
Add missing lvrename mirrored log recursion in for_each_sub_lv.
Must not override alloc policy specified by user.
Move gentoo MAKEDEV to /sbin in lvm2create_initrd. (James Le Cuirot)
Incomplete documentation is worse than no documentation.
Make dmsetup.static and lvm.static build when dmeventd is disabled.
Include a copy of kernel DM documentation in doc/kernel
Don't ignore configure --mandir and --infodir.
Move y/n prompts to stderr and repeat if response has both 'n' and
'y'.
Add activation/use_linear_target enabled by default. (prajnoha)
refer to kernel docs for target info
update old comment
tag uninit var
reinstate !first_time check
Update comments. CLUSTER_VG belongs firmly to args[0].
Don't pass LCK_LOCAL to clvmd - it's unused.
Test for LCK_CLUSTER_VG directly in args[0].
Only use built-in stack size in clvmd - ignore lvm.conf.
When dropping the VG metadata from the cache during a VG revert, we must
update FIXMEs
Reinstate support for format1 snapshots, but issue deprecated warning.
Add dm_uuid_prefix/dm_set_uuid_prefix for non-lvm users to override hard-coded
Give priority to emcpower devices with duplicate PVIDs.
Add activation/read_only_volume_list to override LV permission in metadata.
Add activation/read_only_volume_list to override LV permission in metadata.
Show read-only activation in display tools.
Make error message hit when preallocated memlock memory exceeded clearer.
Add dmsetup 'wipe_table' to replace table with one that uses error target.
improve comment
.
Attempt to improve clustered 'lvchange -aey' behaviour to try local node
before
Add CLVMD_FLAG_REMOTE to skip processing on local node.
Reorder fns in libdm-deptree.
add const
Fix metad help.
Use chunk_size consistently for thin_pool within LVM.
Caller is still entitled to reference an LV that's unlinked, so don't
Make commented out code more obvious
& -> &&
pre-release
pre-release
post-release
Automatically detect whether corosync clvmd needs to use confdb or cmap. (fabio)
lp.pool may be (null) too
Track unreserved space for all alloc policies and then permit NORMAL to place
lost line
Adjust comments
pre-release
post-release
give standard error message if lstat fails unexpectedly
remove unused bits after fid changes
missing error mesg
use stack consistently if 0 is considered an error
FMT_INSTANCE_PV is no longer used
FMT_INSTANCE_VG is redundant now
pre-release
post-release
pre-release
post-release
Check all tags and LV names are in a valid form in vg_validate.
pre-release
post-release
Fix empty string warning logic in _find_config_str. (1.02.68)
Check return values after calling new lvmetad fns
I don't think -u is meant to be used with lvmetad
spacing
Define LVMETAD_SUPPORT in source code
If lvmetad fails, don't set _has_scanned
Add LVMETAD_SUPPORT
Bypass lvmetad fns when not configured to use lvmetad.
Invert some return codes (which used to get ignored anyway) in cases when
Series of commits to move daemon code into separate top-level dir and
new makefiles
move daemon files
remove old makefile
Reflect new file locations, include file updates etc.
expose new include files to build
Pass 'single_device' parameter down to suppress 'Can't find
uuid' messages
Reinstate error if e.g. daemon comms fails.
Allow multiple device names with pvscan --lvmetad.
Change pvscan --lvmetad to pvscan --cache.
Pass struct device around internally rather than dev_t.
missing reply frees
fix non-lvmetad pvscan macro
a fixme
pre-release
.
post-release
Reinstate accidentally-deleted line.
Obtain VG list from lvmetad before relying on get_vgs, otherwise PVs in VGs
Scan all devices for lvmetad if 'pvscan --cache' used without device list.
Switch pvscan --cache major:minor to --major --minor.
re-word warnings to be clearer to user
Adjust wording
pre-release
Change pvscan --cache syntax
close ]
update reworded string
post-release
Fix error message when pvmove LV activation fails with name already in use.
First veritysetup version using configure --with-veritysetup.
fixes/improvements
Rename verity dir
add make install_verity
spacing
Remove 'up' from rounding message that sometimes rounds down.
.
.
Handle replacement of an active device that goes missing with an error device.
Remove statement that snapshots cannot be tagged from lvm man page.
Log value chosen in _find_config_bool like other variable types do.
Uncomment allocation section to match style of rest of file.
Refactor _has_matching_pv_tag to provide a fn that takes PV structs.
Always include debug mesg when cling to allocated is set.
Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags.
Fix allocation policy loop so it doesn't continue beyond cling using later
Fix cling policy not to behave like normal policy if no previous LV seg.
Warn of deadlock risk when using snapshots of mirror segment type.
Refer to details of snapshot of raid problem.
indicate when deptree detects but ignores size change in debug msg
add major:minor to table size changed debug message
Set delay_resume_if_new on deptree snapshot origin.
Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90)
Andres Salomon (29):
install all the manpages (another make-lintian-happy exercise)
initial lvm2 debian packages; still missing some manpages, but otherwise lintian
passes
stop init script from returning w/ non-zero if not really an error
ah, it was that "set -e" that was the culprit..
fix various issues
proper /etc/lvm/lvm.conf now
convert from debian native package
heh, whoops. s/device-mapper/LVM2/g.
all people to actually uninstall lvm2 (*grin*)
Updated for new release
dh_installinit makes a perfectly find postrm script..
ditto
updated for 0.95.05-2.
forgot to add Conflicts against lvm1 packages
Make lvm2 compile on big endian archs; use the kernel/glibc's endian
updated.
implement our own swabbing functions, instead of relying on the kernel's.
synch w/ -3 "oh shit" release
support recursive mkdir in create_dir()
update create_dir() comment
ack, missing include
update for .08
update, synch w/ debian
Wow, learn something new every day. Apparently, the signed-ness of char is
synch w/ debian
agk, I recall you saying you had a massive commit pending; if you need me
it's about that time again
close another bug
Update packages.
Andy Grover (7):
python-lvm: Remove liblvm object
python-lvm: whitespace and Yoda conditionals
python-lvm: Implement proper refcounting for parent objects
python-lvm: Small fixups to new create_lv_snapshot
python-lvm: whitespace in python/liblvm.c.
python-lvm: Make second lv.snapshot() argument optional
lvm2app: No special behavior for 0 for max_snap_size in lvm_lv_snapshot()
Ben Lutgens (1):
test add
Benjamin Marzinski (10):
changed client_path and sever_path from 'char *' to 'const char *'
to stop
more variable initialization.
get the makefile to clean up the .o's
removed the -lmultilog for now.
stopped printing a string after we erased the pointer to it.
dmeventd was looking for dsos with libdmeventd<name>.so
fixed dmevent so that it doesn't do a double free when you run
oops. Those are char **'s not char *'s
Timeout event implementation:
Fixing some makesfiles, so that the correct things link against pthreads.
Bryn M. Reeves (7):
Make lvm_dump.sh list /dev recursively to aid identifying devices.
re-commit lvm_dump.sh change
Make lvm_dump.sh capture a listing of /sys/block entries.
Allow vgcfgrestore to list metadata backup files using -f
Fix lvmdiskscan volume reporting when run in the lvm shell
Add is_orphan_vg() and change all hardcoded checks to use it.
Convert pvchange, pvdisplay, pvscan to use is_orphan()
Christine Caulfield (38):
Include limits.h so it compiles with newer headers.
Fix potential thread deadlock.
When reallocating the node IDs array, make it bigger rather than smaller!
Fix a couple of uninitialised variables. The newfd one could cause
Fix another allocation bug with clvmd and large node IDs.`
If lvm.conf was touched, clvmd attempted to update the toolcontext
Add config file overrides to clvmd when it reads the LVs list so that
Simplify locking code by using saLckResourceLock rather than
The attached patch is a try to make clvmd work correctly on openais stack.
. remove_lock_wait.diff remove the definition of "struct lock_wait",
Make clvmd-cman use a hash rather than an array for node updown info.
Fix uninitialised mutex in clvmd if all daemons are not running at startup.
Don't call openlog for every invocation of debuglog.
Make clvmd return immediately if other nodes are down in a gulm cluster.
Make clvmd return immediately if other nodes are down in an openais cluster.
Fix a starup race in clvmd that could result in huge waits for the first command to
be processed.
Add a corosync/DLM cluster service to clvmd.
Mention --with-clvmd=corosync in ./configure
Allow clvmd to be built with all cluster managers & select one on cmdline.
Allow clvmd to start up if its lockspace already exists.
Add option to /etc/sysconfig/cluster to select cluster type for clvmd.
Remove duplicate cpg_initialize from clvmd startup.
Add a fully-functional get_cluster_name() to clvmd corosync interface.
Fix error returns in clvmd-corosync interface to DLM.
Fix unlocks in clvmd-corosync.
Block SIGINT & SIGTERM in clvmd subthreads so they don't delay shutdown.
Make sure clvmd-corosync releases the lockspace when it exits.
Fix clvmd-corosync to match the new corosync API.
Document the -I option to clvmd
Fix locking in clvmd
Fix compilation warning in clvmd.c
Add some code to clvmd to look in the corosync confdb to see what cluster
Stop clvmd from automatically doing lock conversions. Now, if a lock
Add LCK_CONVERT flag I missed on the last checkin.
Make clvmd return 0 on success rather than 1.
Make clvmd -V return zero status rather than 1.
Fix a thread race in clvmd that could cause lockups on very busy systems
Add -S command to clvmd, so it can restart itself and still
Dave Wysochanski (697):
Add stub for pvck, a command to check physical volume consistency.
Add dev_read_circular, read 2 regions on same device.
Add 'scan_sector' parameter to label_read and _find_labeller to add
Add count_chars and count_chars_len functions, two
Update pvck to read labels on disk, with flexible --labelsector
Add support functions for analysis of config sections,
Update pvck to include text metadata area and record detection.
Fix warnings on x86_64 involving ptrdiff_t:
Fix vgrename man page to include UUID and be more consistent with lvrename.
Fix vgcfgrestore man pg to show mandatory VG name and remove LVM1 options.
Add --maps to pvdisplay.
Small fixes to pvdisplay --maps: 1) rename struct pv_segment vars from 'seg'
to 'pvseg', 2) Change heading
Remove 'Type' from pvdisplay --maps as there is no 'Type' of a
physical segment, only logical segments
Fix redundant segment display when PV is given to 'pvdisplay --maps'
cmdline.
Fix pvdisplay --maps to not display segment header for orphan PVs.
make code consistent with pvresize code - good candidate for common code cleanup
Add vg_check_status to consolidate vg status flags checks and error messages.
Add wrappers to functions related to pv commands in preparation for exported LVM
lib
Add get_pv_* functions to return PV fields in prep for external LVM library
Change PV_HANDLE_DEREF to pv_field and add paren's
Convert find_pv_in_vg_by_uuid and pv_create to use PV handles
Fix a couple benign warnings by adding variable initializations.
Add typedef pv_handle_t
Convert pv_handle_t to pv_t * and tidy up whitespace
Remove casts in pv_create and find_pv_in_vg_by_uuid
Convert pv->pe_alloc_count to get_pv_pe_alloc_count
Convert pv->pe_count to get_pv_pe_count
Convert pv->pe_start to get_pv_pe_start
Convert pv->pe_size to get_pv_pe_size
Convert existing_pv dereferences to get_pv_*
Convert pv->size to get_pv_size
Convert pv->dev to get_pv_dev
Convert pv->status to get_pv_status
Convert pv->vg_name to get_pv_vg_name
Update WHATS_NEW for get_pv* conversions
Convert pv->vg_name to get_pv_vg_name
convert pv->vg_name[0] to \!is_orphan(pv)
Fix inverted logic on last checkin for pvremove
Update vgcfgrestore man pg
Remove get_ prefix from get_pv_* functions
Make vg_extend() format_instance * parameter internal to vg_extend()
Add vg_status function and clean up vg->status in tools directory
Convert vg->status checks to use vg_check_status function.
Rename status_flags to status in vg_check_status.
Don't use index and rindex functions marked by SUSv3 as legacy - Jakub Bogusz
<qboosh(a)pld-linux.org>
Convert _add_pv_to_vg to usable LVM library function.
Fix WHATS_NEW for last checkin until further patches for LVM library are ready.
Add pv_read_path, a proposed external LVM library function to take a device path and
return a PV handle
Refactor vg_extend error path.
Turn _add_pv_to_vg() into external library function add_pv_to_vg()
Change pv_read_path to pv_by_path
Add vg_lock_and_read() external library function.
Add CORRECT_INCONSISTENT and FAIL_INCONSISTENT flags to vg_lock_and_read
Fix error introduced with previous checkin
Update lvconvert and lvrename to use vg_lock_and_read
Trivial fix to lvdisplay man pg to correct volume size units
Trivial fix to lvdisplay man pg to recommend lvs
Factor out core of lvrename to lv_rename library function.
Add support for renaming mirrored LVs.
Add entry for last checkin of lvrename mirror support
Update a few comments
Some simple fixups for last checkin:
A few more cleanups for lvrename of mirrors checkin:
Remove extra checks for sub LV renaming.
Fix "lvconvert -s" from always failing with argument error message.
Remove unneeded WHATS_NEW entry
Prepare to move guts of lvremove into lvm library
Move lv_remove_single() into library (lv_manip.c, metadata-exported.h).
Update WHATS_NEW for last checkin
Prepare to move guts of vgremove into lvm library.
Move guts of vgremove into lvm library.
Modify lvremove to prompt for removal if LV active on other cluster nodes.
prepare to move guts of pvresize into library
move guts of pvresize into library
prepare to move guts of vgrename into library function
Fixup _lvresize error return codes and modularize function
Fix last checkin
Add pvseg_free field to 'pvs' output
Undo previous checkin - output format not good, info already available in other
form(s)
Add %PVS extents option to lvresize, lvextend, and lvcreate.
add tests to validate lvextend %PVS
Refactor lvcreate stripe parameter validation.
Refactor lvcreate mirror parameter validation.
Some const fixups for previous checkins
Remove unused pargc parameter
Non-functional change - refactor vg_add_snapshot fid parameter.
Non-functional change - refactor lv_create_empty().
Accessor functions for PV will not modify the given PV.
Add pv_dev_name() to access PV device name.
Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths.
Remove comment about allocation of pv->vg_name.
Fix compile warnings / minor errors introduced recently.
Refactor vgcreate for parameter validation and add tests
Fix warning on conditional compile, unused variable
Update lvm man page to enumerate lvm tools.
Refactor vgsplit for accepting existing vg as destination
Fixup lvm man pg
Allow vgsplit into existing vg.
Allow vgcreate options as input to vgsplit when new vg is split destination.
Update WHATS_NEW for vgsplit changes
Move more parameter validation into the library.
Remove unused 'list' param from vgsplit - conflict with maxlogicalvolumes
param.
Create vgs_are_compatible() fn to check whether vgs are compatible for merging.
Fix 'make check' runnable with recent versions of dmsetup.
Fix descriptions in the newly added test cases
Fixup vgsplit man page
Minor test fix
More test script fixes.
Add a test case for 'vgreduce --removemissing' on stacked mirror
Fix vgsplit - print error if vgcreate option given w/existing vg destination
Fix vgsplit - print different message on successful split of existing / new vg
Fix vgsplit tests 12-13
Fix vgsplit test mode
Fix default preferred_names filter to use /dev/mapper/mpath devices.
Reflect actual default setting of preferred_names in example.conf and
Fix t-vgsplit-operation.sh lv1 definition to include test signature.
Fix t-vgsplit-operation.sh lv2-3 definitions to include test signature.
Add vgsplit test to check failure when PV not in source volume group.
Refactor _move_pv() in vgsplit.
Update vgsplit tests.
Update vgsplit tests.
Const cleanups in find_* functions.
Add LV and VG name restrictions to the lvm man page.
Update vgsplit tests to execute twice (existing and new VG as destination).
Fixup vgsplit tests in preparation for vgsplit changes.
Add vgsplit tests to verfy attributes of new VG match source VG.
Add 'is_reserved_lvname()' helper function.
Add list_move() support function for list manipulation.
Add pvseg_is_allocated() for identifying a PV segment allocated to a LV.
Use list_move() in applicable places.
Add vgmerge tests.
Enhance test debugging by updating verbose mode of check_*_field_ functions.
Add find_lv_in_lv_list() and find_pv_in_pv_list().
Fix redundant lvresize message if vg doesn't exist.
Fix lvresize to dump stack if vg_lock_and_read() fails.
Suppress "Volume group not found" message when vgsplit of new VG.
Fix vgsplit locking and remove unneeded error messages when split into new VG.
Add check to vg_commit() to ensure lock is held before writing new VG metadata.
Fix vgsplit error paths to release vg_to lock.
Fix vgsplit error display - fully remove log_suppress.
*** empty log message ***
Update vgsplit to take "-n LogicalVolumeName" on the commandline.
Update vgsplit man page to reflect lvnames on cmdline.
Update vgsplit tests for lvnames on the cmdline.
Fix vgsplit to only move hidden 'snapshotN' LVs when necessary.
Add vgsplit tests to verify mirror is not moved unnecessarily.
Fix lvm tool exit code display in some tests.
Add _move_one_lv() helper function for vgsplit.
Minor vgsplit cleanups.
Add vg_is_clustered() helper function.
Update vgsplit tests that count LVs for adjusted LV counting.
Add lv_is_active() to determine whether an lv is active.
Update vgsplit to only restrict split with active LVs involved in split.
Update vgsplit test to verify loosening of active LV restriction.
Fix vgsplit and vgmerge tests for updated lv counting.
Fix internal snapshot_count when vgmerge with snapshots in source VG.
Update test function _check_{vg|lv|pv}_field to aid in test debug.
Fix vgsplit internal counting of snapshot LVs.
Add test for rhbz440405 - lvconvert -m0 fails incorrectly if all PEs allocated.
Trivial fix to lvchange man pg for consistency.
Add simple test case to repro pvs segfault with duplicate vgnames.
Add ommitted unlock_vg() call when sigint_caught() during vg processing.
Fix return values for reporting commands when run with no PVs, LVs, or VGs.
Trivial fix to lvcreate man page for --mirrorlog option.
Fix identifier 'error_message_produced' used ambiguously.
Suppress 'sb_offset' compiler warning by using enum for md superblock
versions.
Add uninitialized_var macro to suppress invalid compiler warnings.
Suppress invalid 'sb_offset' compiler warning (FC8) with
uninitialized_var().
Refactor pv_create() to take cmd_context - no functional change.
Test script cleanup.
Add pvcreate sanity tests, check for label_write() failure in _text_pv_write().
Update pvcreate and vgsplit tests.
Only use lvm2 metadata for now.
Refactor _lvcreate() - no functional change.
Add more pvcreate tests to validate writing lvm2 label using --labelsector.
Refactor pvcreate to divide parameter parsing & validation from create logic.
Refactor pvcreate - divide parameter parsing & validation from create logic.
Refactor pvcreate - move labelsector parameter parsing & validation.
Remove dead code, is_lvm_partition() - no functional change.
Add pvcreate tests for uuid and restorefile.
Refactor pvcreate - move uuid and restorefile options.
Refactor pvcreate - use '0' for no --uuid or --restorefile options.
Refactor pvcreate - --force parameter.
Refactor pvcreate - --yes argument
Refactor pvcreate - simplify return codes.
Fix trivial typo in pvcreate man page.
Add pvcreate tests to verify failure on md array detection.
Fix symbolic link creation in test infrastructure.
Add ctype.h header file to silence compile warning on 'isdigit'.
Fix vgdisplay return code and exit status.
Fix lvhange and lvcreate man pages to properly describe permissions option.
Make man pages consistent with either-or options (use "|" everywhere).
More man page cleanup - convert "+/-" to "+|-"
Fix "lvremove -f vgname" when vgname contains snapshots.
Fix vgcreate race which could allow two parallel vgcreates to succeed,
Fix test-utils.h for rhel4 backward compatability.
Add generic function to read /dev/urandom, used in uuid calculation.
Make _init_rand() thread safe - use rand_r() instead of rand().
Add liblvm interactive test infrastructure to build.
Replace _apply_settings() after create_toolcontext() with equivalent inline.
Remove init_debug() calls immediately after create_toolcontext() call.
Remove init_verbose() calls immediately after create_toolcontext() calls.
Remove handles_missing_pvs assignment after call to create_toolcontext().
Move init_test() from _apply_settings into _init_logging().
Remove archive_enable() calls after create_toolcontext() calls.
Remove backup_enable() calls after create_toolcontext() calls.
Remove redundant set_activation() call after create_toolcontext() calls.
Remove redundant init_msg_prefix() and init_cmd_name().
Move initialization of cmd->fmt into init_formats().
*** empty log message ***
Create _init_globals() and call from bottom of create_toolcontext().
Fix segfault when invalid field given in reporting commands.
Rename 'cmd' to 'clvmd_cmd' to remove ambiguity.
Move arg_* functions from toollib.c to lvmcmdline.c.
Remove struct arg * from struct cmd_context and create_toolcontext().
Create global is_static() to eliminate from the library init function.
Add pv_mda_size to 'pvs' and vg_mda_size to 'vgs'.
Add pv_mda_size to pvs and vg_mda_size to vgs.
Fix pvs segfault when run with orphan PV and vg_mda_size or vg_mda_free fields
Fix fsadm lvresize for filesystem block sizes != 1024.
Add skeleton of fsadm nightly test but skip (doesn't work yet).
Rename _parse_options() to _parse_fields() for naming consistency.
Add --rows option to pvs, vgs, lvs man pages.
Add --nameprefixes to pvs, vgs, lvs man pages.
Add missing --segments to pvs man pg.
Add --unquoted to pvs, vgs, lvs man pages.
Rename get_vgs() to get_vgnames() and clarify related error messages.
Move locking_type reading inside init_locking().
Update vgchange and vgmknodes man pages to include --refresh.
Rename liblvm to liblvm-internal.
Add new liblvm build directory and move lvm_base.c.
Move lvm.h from lib to liblvm.
Add DSO generation for new LVM application library.
Remove unnecessary linker flags for liblvm.
Fix liblvm version symlink.
Add missing liblvm/.exported_symbols
Fix error messages when PV uuid or pe_start reading fails.
Remove unnecessary includes in lvm_base.c.
Fix some distclean rules.
Fix some clean rules, fix previous distclean checkin.
Fix whitespace in t-mdata-strings.sh
Add libdevmapper to test/api building.
Remove some trailing whitespace so git won't complain.
Update columns.h comment to describe macro args.
Fix error path in vg_make_handle().
Use liblvm.so instead of .a
Fixup whitespace.
Fixup whitespace.
Update columns.h comment.
Validate chunksize and originsize for snapshots.
Add tests to check vgcreate --physicalextentsize and field vg_extent_size.
Add tests to check pv_mda_size and vg_mda_size.
Update tests for region_size.
Add test for seg_start, seg_count, seg_start_pe
Update t-read-ahead.sh to validate lv_read_ahead and lv_kernel_read_ahead.
Remove NON_BLOCKING lock flag from tools and set a policy to auto-set.
Update test-utils to cope with ":" in device names and allow configurable
names.
Add test - lvconvert from linear (on multiple PVs) to mirror.
Add vgrename test to check for existence of new vg.
Add vg_lock_newname() library function.
Update vgrename to use vg_lock_newname.
Update vgcreate to use new vg_lock_newname().
Update vgsplit to use new vg_reserve_newname() function.
Update WHATS_NEW
In the new _vg_read_for_update(), we always do the check for CLUSTERED vg
Cleanup pvs, vgs, and lvs "-o" section in man pages (rhbz 500861).
Convert the straight instances of vg_lock_and_read to new vg_read(_for_update).
Fix incomplete revert for lvconvert.
Convert the straight instances of vg_lock_and_read to new vg_read(_for_update).
Rework the toollib interface (process_each_*) on top of new vg_read.
Convert vgreduce to use vg_read_for_update.
Convert vgrename to vg_read_for_update.
Don't segfault in vg_release when vg->cmd is NULL.
Convert vgsplit to use vg_read_for_update.
Add lvmcache_init() to polldaemon initialization.
Fix t-inconsistent-metadata.sh.
Update WHATS_NEW for vg_read commits
Fix vg_read() error paths to properly release upon vg_read_error().
Fix compile warning in lvmcmdline.c - use C99 PRIu64 for uint64_t.
Remove LOCK_KEEP and READ_CHECK_EXISTENCE from vgsplit.
Remove unneeded LOCK_KEEP from vg_read() interface.
Remove READ_CHECK_EXISTENCE and vg_might_exist().
Remove unneeded LOCK_NONBLOCKING from vg_read() API.
Update WHATS_NEW for vgread cleanup
Make destroy_toolcontext() better able to handle NULL pointers.
Fix segfault in persistent_filter_dump() if lvm init fails.
Add t-lvm-init.sh - test lvm init routines and error paths.
Refactor a couple log_error() statements in prep for larger log_error() patch.
Make exit paths more robust when some init function fails.
.
Fix memory leak in vgsplit when re-reading the VG.
Update t-vgcreate-usage.sh to check for default vg properties.
Add defines for default vgcreate parameters.
Update vg_change_pesize() to contain all validity checks.
Remove unused 'cmd' from vg_change_pesize().
Rename vg_change_pesize to vg_set_extent_size and use vg_t.
Add vg_set_max_lv() liblvm function and move vgchange logic inside.
Add vg_set_max_pv() liblvm function and move vgchange logic inside.
Add vg_set_alloc_policy() liblvm function and move vgchange logic inside.
Change vg_create() to take only minimal parameters and obtain a lock.
Update WHATS_NEW for recent vgcreate changes
Remove unnecessary parameters from vg_remove_single().
Remove force parameter from vg_remove_single, now the liblvm function.
Move orphan lock inside vg_remove_single.
Move orphan lock obtain/release inside vg_extend().
Change lock ordering of vgcfgrestore to be consistent with other tools.
Update WHATS_NEW for vgremove and ORPAHN_LOCK refactoring
Remove unused code vg_lock_and_read() and related flags.
Remove READ_REQUIRE_RESIZEABLE from vgextend by moving check inside vg_extend.
Refactor vgsplit - move move_pvs_used_by_lv and move_pv inside library.
Remove READ_REQUIRE_RESIZEABLE flag from vgsplit.
Remove READ_REQUIRE_RESIZEABLE flag from vg_read() interface - no users.
Define handles to liblvm objects for pv, vg, lv, lvseg, pvseg.
Add default cmd->cmd_line initialization for liblvm lvm_create().
Add lvm_vg_* APIs to create and modify VGs.
Add VG APIs to liblvm/.exported_symbols.
Add liblvm test case for creating of a vg.
Add a few negative tests which should fail cleanly if pv, vg, lvs don't exist.
Fix vgck and vgremove segfault if non-existent vg given.
Fix pvremove test breakage.
Fix FAILED_INCONSISTENT case in vg_backup_single - typeo on 'if' condition.
Check for certain vg_read errors in _process_one_vg iterator.
Fix memory leak in _process_one_vg error path.
Fix memory leak in process_each_pv path.
Change default errno value to 0 (no error) and add prototypes in lvm.h
Remove extraneous messages for extent_size and alloc_policy upon vgcreate.
Remove 'is already' message from vg_set_* functions.
Fix compile warnings in vgcreate liblvm api unit test case.
Rename test/api/vgcreate.c to vgtest.c to reduce filename conflicts in tree.
Fix build environment of test/api: Make it usable for more than one test case.
Export lvm_errno and lvm_errmsg in liblvm.
Fix lvm_vg_close() when locking fails.
Update test/api/vgtest.c to use lvm_errno and lvm_errmsg.
Update api/test/vgtest.c error handling.
Add lvm_vg_open() to open an existing VG for reading or writing.
Add a couple lvm_vg_open() calls to vgtest.c.
Update lvm_vg_create to use NULL / non-NULL return for the time being.
Remove lvseg_t and pvseg_t typedefs from liblvm/lvm.h.
Add list structure definitions for liblvm objects.
Add lvm_vg_list_{pvs|lvs} - return lists of pv/lv handles for a vg.
Add lvm_{pv|vg|lv}_get_{uuid|name}.
Update test/api/test.c for simple tests involving pv/vg/lv name/uuid attributes.
Update WHATS_NEW for liblvm commits
Update test/api/test.c to not segfault if null lists of pvs/lvs returned.
Remove redundant validate_name in vgreduce.
Add lvm_list_vg_names and lvm_list_vg_ids liblvm functions.
Add lvm_scan_vgs liblvm fn to scan the system for LVM metadata.
Add tests for lvm_vg_name_list, lvm_vg_id_list and lvm_scan_vgs.
Revert previous patch that moved VG_ORPHAN lock inside vg_extend.
Update lvm_vg_extend() to obtain VG_ORPHAN.
Eliminate compile warning introduced by previous commit.
Remove unneeded pv_create wrapper function.
Move bulk of pvcreate logic into library.
Allow pvcreate_single to be called with NULL for default pvcreate params.
Change pvcreate_single to return pv_t and update function description.
Move ORPHAN_VG lock outside pvcreate_single.
Update lvm_vg_extend to do an implicit pvcreate on the device.
Remove use of void * from pvcreate_single.
Refactor _lvcreate - move *_ARG into _lvcreate_params and get 'cmd' from
'vg'.
Refactor extents calculations / updates in _lvcreate.
Move percent_t from struct lvcreate_params to struct lvcreate_cmdline_params.
Move 'size' from lvcreate_params into lvcreate_cmdline_params.
Comment lvcreate_params struct.
Move pvs and pv_count fields from lvcreate_params to lvcreate_cmdline_params.
Move _lvcreate into the internal library and rename to lv_create_single.
Move extents_from_size from lvcreate into internal library so we can reuse.
Add lvm_vg_create_lv_linear liblvm function.
Update test/api/test.c to handle read/write open modes.
Update test/api/test.c to call lvm_vg_create_lv_linear.
Update WHATS_NEW for recent checkins
Rename vg_size to vgsize to avoid naming conflicts.
Refactor a few report field calculations into separate functions.
Use vg_size in vg_set_extent_size.
Add most all liblvm 'get' functions needed for anaconda.
Update test/api/test.c for liblvm 'get' functions.
Update test/api/test.c - correct list_vg_names and list_vg_ids.
Add lvm_vg_remove_lv liblvm function.
Update test/api/test.c to call lvm_lv_remove.
Rename lvm_vg_get_free_count to lvm_vg_get_free_extent_count.
Rename lvm_list_vg_ids to lvm_list_vg_uuids.
Rename lvm_vg_get_free to lvm_vg_get_free_size.
Update lvm.h handle and handle list comments.
Update lvm.h - comments describing function behavior, divide into sections.
Rename lvm_scan_vgs to lvm_scan.
A few more lvm.h updates that got missed.
Update liblvm status return codes to be consistent.
Update a few liblvm calls with log_errno.
Update test/api/*.c to use consistent liblvm error returns.
Implement lvm_lv_activate and lvm_lv_deactivate liblvm calls.
Add lvm_lv_is_active and lvm_lv_is_suspended.
Update test/api/test.c to call lv_deactivate and lv_activate.
Update test/api/test.c to display lvm_lv_is_active and lvm_lv_is_suspended.
Update WHATS_NEW for latest liblvm changes
More liblvm header file cleanups.
Update display.c to use vg_free(vg) instead of duplicating the calculation.
Rename lvm_reload_config to lvm_config_reload.
Update error return and comments for lvm_list_vg_names/uuids.
Add vg_reduce to metadata.c and metadata-exported.h
Add lvm_vg_reduce to liblvm2app
Update test/api/vgtest.c to include lvm_vg_reduce.
Update test/api/test.c to include lvm_vg_reduce and lvm_vg_extend.
Add skeletons of lvm_lv_resize and lvm_pv_resize - not yet implemented.
Refactor _override_settings to take the new config string as input.
Rename _override_settings into override_config_tree_from_string and move.
Add lvm_config_override - allow caller to override config, similar to --config.
Update return code for lvm_config_reload.
Add config_reload and config_override to test.c, change prompt.
Remove unnecessary
's from log_error in liblvm.
Update WHATS_NEW for latest liblvm changes
Add warning to lvm.h stating API development in progress.
Update lvm.h to address feeback.
Rename lvm_create to lvm_init and lvm_destroy to lvm_quit.
Use dm_malloc and dm_free in liblvm instead of malloc/free.
Add lvm_library_get_version() and update unit tests to display version.
Fix lvm.h formatting.
Update lvm.h - remove remaining FIXMEs, note limitations of a few functions.
Add lvm_vg_get_seqno, updating lvm.h and unit test.
Update interactive unit test for liblvm - add vg_write, general cleanup.
Update interactive unit test - fix silly vg_close error.
Add an open_mode to the vg struct for liblvm - enforce read / write semantics.
Add doxygen mainpage tag to lvm.h
Remove unneeded struct on return from lvm_lv_create_linear.
Don't include lvm-version.h in exported liblvm file!
Move FIXME from user visible lvm2app.h to lvm_vg.c
Update test/api/test.c to call lvm_vg_create and lvm_vg_remove.
Remove useless _pv_write wrapper.
Update man pages to clarify usage of PE ranges.
Fix vgextend error path - if ORPHAN lock fails, unlock and release vg.
Update WHATS_NEW for recent checkins.
Make lvm2app vg_t handle definition consistent with lvm_t.
Make lvm2app lv_t handle definition consistent with lvm_t.
Make lvm2app pv_t handle definition consistent with lvm_t.
Update WHATS_NEW
Fix error paths for vgcfgrestore when locking fails.
Add alphabetical vgname ordering tests for vgsplit, vgmerge, vgrename.
Fix vgsplit test to require -M on ordering of vgnames.
Refactor vgsplit to move existing_vg logic in a separate 'if' statement.
Refactor vgsplit - remove bad2 label.
Refactor vgsplit - add 'lock_vg_from_first' flag.
Refactor vgsplit - create _vgsplit_to function which creates or opens dest vg.
Refactor vgsplit - create _vgsplit_from function to open source vg.
Refactor vgsplit: _vgsplit_from or _vgsplit_to failure cleanup depends on order.
Refactor vgsplit - reorder _vgsplit_from and _vgsplit_to based on flag.
Change vgsplit behavior to open/lock first vg based on alphabetical ordering.
Refactor vgmerge - introduce lock_vg_from_first flag.
Refactor vgmerge - create _vgmerge_from and _vgmerge_to.
Refactor vgmerge - combine _vgmerge_to and _vgmerge_from into _vgmerge_vg_read.
Change vgmerge behavior to open/lock first vg based on alphabetical ordering.
Refactor vgrename into vg_rename_old and vg_rename_new.
Update vgrename to take into account vgname lock ordering.
Enforce an alphabetical lock ordering for vgname locks.
Rename internal library function vg_remove to vg_remove_mdas.
Split vg_remove_single into 2 functions - the second part commits to disk.
Update vg_remove_single_* functions to use the removed_pvs list.
Update lvm_vg_write() to handle the deferred commit of lvm_vg_write().
Update lvm2app vgtest to take vgname and devices as parameters.
Restore umask when device node creation fails.
Add lvm2app.sh to nightly testsuite.
Remove 'test' interative api unit tests from 'TARGET' line.
Fix path to test/api/vgtest in nightly testsuite.
Add daemons/cmirrord files to git - somehow got messed up with cvs rename.
Restore umask when device node creation fails.
Add lvm2app.sh to nightly testsuite.
Remove 'test' interative api unit tests from 'TARGET' line.
Fix path to test/api/vgtest in nightly testsuite.
Update lvm2app unit test vgtest - fix remove bug.
Add max_pv and max_lv vg 'get' lvm2app exports.
Update lvm and vgs man pages to clarify 'partial' is a VG missing PVs.
Add most relevant vg_attr fields as lvm2app 'get' functions.
Use vg_is_exported(vg) macro everywhere.
Fix build failure when enabling dmeventd and applib.
Fix process_each_vg / _process_one_vg when vg_read() returns FAILED_LOCKING.
Add vg_is_resizeable() and cleanup references.
Fix lvm2app test to run under test/api subdirectory only when configured.
Trivial cleanup to lvcreate man page - use virtualsize in example.
Update nightly tests to deal with unit changes.
Refactor vg_extend - add vg_extend_single_pv.
Add pvcreate_params to vg_extend_single_pv.
Add pvcreate_params to vg_extend.
Allow calling fill_default_pvcreate_params from tools.
Refactor pvcreate - split pvcreate_validate_params into recovery/non-recovery.
Refactor vgcreate/vgextend validation of vgname/pvname(s).
Move pvcreate_validate_params into toollib to allow calling from mutiple tools.
Add implicit pvcreate support to vgcreate and vgextend.
Update vgcreate and vgextend man pages to clarify implicit pvcreate.
Add implicit tests for implicit pvcreate during vgcreate and vgextend.
Update help messages for vgextend / vgcreate to mention PHYSICAL DEVICE OPTIONS.
Add --pvmetadatacopies as a synonym for --metadatacopies in various commands.
Add --pvmetadatacopies as a synonym for --metadatacopies in various commands.
Cleanup comment and some whitespace.
Minor fix to vgcreate/vgextend man pages for PHYSICAL DEVICE OPTIONS.
Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter.
Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages.
Add to vgcreate and vgextend nightly tests.
Add vg_mda_count library function.
Add vg_set_clustered() - move logic from vgchange.
Update vgcreate to call vg_set_clustered().
Update vgsplit to call vg_set_clustered().
Rename pvcreate_params processing functions to better match
<object><action>.
Add vgcreate_params_set_defaults().
Rename fill_vg_create_params to vgcreate_params_set_from_args.
Rename validate_vg_create_params to vgcreate_params_validate.
Remove old, and now incorrect, vgextend man page description of pvcreate options.
Remove unnecessary / duplicate dm_list macros and functions.
Fix setting of readahead in lvcreate.
Add tests to check for readahead value in lvcreate.
Update a few more uint64_t's related to the 64-bit status change.
Fix activated/deactivated log_verbose message
Correct 'void *' usage in pvcreate_single.
Remove useless memory allocation for pv->vg_name in _alloc_pv().
Call _alloc_pv() inside _pv_read() and clean up error paths.
Remove unnecessary "dmsetup resume" after "dmsetup create".
Add copy constructor for struct metadata_area.
Fix off by 512 sizes for lvm2app.
Export lvm_pv_get_size(), lvm_pv_get_free(), lvm_pv_get_dev_size in lvm2app.
Update simple lvm2app unit test for new size apis.
Update lvm2app.h comments to remove hidden VG comment list vgnames/vgids.
Add get_{pv|vg|lv}_field() nightly test helper functions.
Add nightly test to cover vg/lv tags add/delete.
Refactor _vgchange_tag() to vg_change_tag() library function.
Refactor vgcreate to call new vg_change_tag() function.
Refactor lvchange_tag() to call lv_change_tag() library function.
Add dm_pool_strdup to allocate memory and copy a tag in {lv|vg}_change_tag()
Add tag_list_copy() supporting function inside lvm2app.
Add lvm_vg_get_tags(), lvm_vg_add_tag(), and lvm_vg_remove_tag().
Add lvm_lv_get_tags(), lvm_lv_add_tag(), and lvm_lv_remove_tag().
Update lvm2app interactive unit test for vg/lv tags.
Update doxygen comments for lvm2app.h.
Add Doxygen file for lvm2app to generate documentation from lvm2app.h.
Update WHATS_NEW.
Add pvchange -u --all to testsuite.
Avoid scanning all pvs in the system if operating on a device with mdas.
Update WHATS_NEW for last checkin.
Add pv to vg->pvs after check for maximum value of vg->extent_count.
Refactor _read_pv() code that updates vg->extent_count and vg->free_count.
Refactor format1 vg->pvs list add and vg->pv_count.
Add add_pvl_to_vgs() - helper function to add a pv to a vg list.
Update WHATS_NEW
Check for duplicate paths (pvids) on the commandline of vgcreate.
Remove unnecessary parameter from import_pool_pvs().
Move increment of vg->pv_count from import_pool_vg() to import_pool_pvs().
Add del_pvl_from_vgs() and move prototypes into metadata-exported.h
Call add_pvl_to_vgs() and del_pvl_from_vgs() from more places.
Use del_pvl_from_vgs() in vgreduce paths.
Add pv->vg to solidify link between a pv and a vg.
Update WHATS_NEW
Fix teardown in t-pvcreate-operation-md.sh nightly test.
Add missing readline linkage to lvm2app test.
Use vg->vgmem to allocate vg/lv/pv string properties instead of dm_malloc/fr
Change lvm2app version number from 1 to 2.
Add device creation to basic nightly test.
Add pvid_from_devname() lvmcache function.
Add lvmcache_vgname_from_pvid().
Add find_vgname_from_{pvname|pvid} functions.
Update pvchange to always obtain a vg handle for each pv to process.
Add lvm2app interfaces to lookup a vgname from a pvid and pvname.
Test lvm_vgname_from_{pvid|device}.
Update WHATS_NEW
Fix warnings with conversion of uuid.
Remove hack in pvchange to unlock orphan VG.
Remove another pvchange hack involving orphan VG names.
Do not fail lvm_init() if init_logging() generates an errno.
Revert _init_rand() to reset errno - restores original init behavior.
Add device name to output of error messages in raw_read_mda_header().
Change 'filler' to 'flags' in on-disk 'raw_locn' structure.
Add text format specific 'rlocn' ignore flag and access functions.
Add location independent flag and functions to ignore mdas.
Move dev_open / dev_close outside _vg_read_raw_area().
Move dev_open/dev_close outside vgname_from_mda().
Allow raw_read_mda_header to be called from text_label.c.
Ensure in-memory state matches on-disk state of mda ignore bit.
Add mda_locns_match() internal library function for mapping pv/device to VG mda.
Add mda location specific mda_copy constructor.
Use vg_mda_count() in vgdisplay.
Rename fid->metadata_areas to fid->metadata_areas_in_use.
Add metadata_areas_ignored list and functions to manage ignored mdas.
Define new functions and vgs/pvs fields related to mda ignore.
Add --metadataignore to pvchange, allowing for ignoring of metadata areas.
Update pvchange, pvs and vgs man pages for metadata ignore.
Implement ignore of mda if bit set by skipping r/w of metadata.
Add mdas_empty_or_ignored() helper function.
Use mdas_empty_or_ignored() in place of checks for empty mda list.
Update _vg_read and _text_create_text_instance to use fid_add_mda[s].
Refactor vg_commit() to add _vg_commit_mdas().
Before committing each mda, arrange mdas so ignored mdas get committed first.
Add tests for phase 1 of metadata balance - manage per-PV ignore bit.
Define vgmetadatacopies in vgchange man page.
Add mda_copies to VG structures and initialization.
Add vg get/set methods for VG metadata copies.
Make vg->mda_copies persistent in on disk vg metadata.
Add vg_mda_copies display field to 'vgs' command.
Update vgchange tool to accept --vgmetadatacopies.
Implement _vg_adjust_ignored_mdas and call from vg_write() path.
Set vg_mda_copies when pvchange --metadataignore is given.
Add --vgmetadatacopies to vgcreate man page, command, and lvm.conf.
Ensure fid mda lists are populated correctly during vgextend.
Update check in vg_split_mdas to account for ignored mdas list.
Update _vgmerge_single() to move fid->metadata_areas_ignored.
Add --vgmetadatacopies to vgsplit man page and command.
Ensure --metadatacopies parameter gets interpreted based on command.
Allow 'all' and 'unmanaged' values for --vgmetadatacopies.
Update example.conf.in to describe vgmetadatacopies.
Update tests to handle phase 2 (vg based) metadata balance.
Fix compile warning in vgchange.c regarding mda_copies initialization.
Update t-covercmd pvck to take proper device argument.
Update WHATS_NEW for --metadataignore and --vgmetadatacopies changes.
Attempt to fix intermittent failure with non-debug configured vgcfgbackup.
Add more initializations of 'mda->flags' field.
Add error message if backup_to_file fails because of empty in_use mdas list.
Move code into pv_change_metadataignore library function.
Add some log_verbose debug statements related to metadataignore.
Improve logging for metadata ignore by printing device name.
Improve logging for setting --vgmetadatacopies.
Add --metadataignore to pvcreate.
Update pvcreate tests for --metadataignore.
Add pvmetadatacopies to lvm.conf and pvcreate man pages.
Add --metadataignore to vgextend and man pages.
Update nightly tests for vgextend --metadataignore.
Update nightly tests for vgextend --metadataignore.
Only attempt to guarantee 1 mda ignored if there's at least one mda in the vg.
Refactor vg_remove_check to place pv removal into separate function.
Check for missing_pv in vg_remove loop.
Update metadata-balance test for --vgmetadatacopies 0.
Minor changes to man pages for --metadataignore.
Test failed commit of mda on new pv - failed vgextend.
Add warning to vgextend and pvchange if metadataignore given on cmdline.
Add prompt if using --metadataignore argument with vgmetadatacopies.
Add --force to pvchange, and allow override of prompt involving metadataignore.
Shorten prompt for pvchange and vgextend.
Init mda->list in mda_copy.
Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda.
Remove unnecessary list of includes in liblvm files.
Add log_error when strdup fails in {vg|lv}_change_tag().
Update WHATS_NEW
Update comments about memory handling in lvm2app.h.
More comment updates in lvm2app.h.
Minor man page updates related to metadataignore and vgmetadatacopies.
Clarify help text for vg_mda_count.
Remove unneeded "active" variable in vgchange_monitoring().
Remove irrelevant comments relating to vg_mda_copies.
Add vg_mda_size and vg_mda_free functions.
Add 'flags' field to columns.h and define FIELD_MODIFIABLE.
Remove explicit double quotes from columns.h 'id' entries.
Add macro definitions to report infrastructure for character array length.
Add properties.[ch] to lib/report, defined based on columns.h.
Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get'
functions.
Add implmentation for simple numeric 'get' property functions.
Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get'
functions.
Update WHATS_NEW
Update configure for snitm changes
Update vg_mda_free 'get' function to multiply by SECTOR_SIZE.
Refactor metadata.[ch] into vg.[ch] for vg functions.
Refactor metadata.[ch] into pv.[ch] for pv functions.
Refactor metadata.[ch] into lv.[ch] for lv functions.
Add lib/metadata/pv.[ch] new files.
Add lib/metadata/vg.[ch] and lib/metadata/lv.[ch].
Add {pv|vg|lv}_attr_dup() functions and refactor 'disp' functions.
Simplify logic to create 'attr' strings.
Add id_format_and_copy() common function and call from _uuid_disp.
Add pv_uuid_dup, vg_uuid_dup, and lv_uuid_dup, and call id_format_and_copy.
Add tags_format_and_copy() common function and call from _tags_disp.
Add pv_tags_dup, vg_tags_dup, lv_tags_dup functions that call tags_format_and_copy.
Add supporting functions vg_name_dup, vg_fmt_dup, vg_system_id_dup.
Make generic GET_*_PROPERTY_FN macros and define secondary macro for vg, pv, lv.
Add 'get' functions for vg fields.
Add pv_mda_size, pv_mda_free, and pv_used functions, call from 'disp'
functions.
Add pv_name_dup() and pv_fmt_dup() helper functions.
Add pv 'get' functions for all pv properties.
Add pv_get_property and create generic internal _get_property function.
Update WHATS_NEW for commits related to generic property functions
Fix copyright dates on new files lib/metadata/{lv|vg|pv}.[ch].
Rename 'flags' to 'status' for struct metadata_area.
Add some lv 'get' functions that require no refactoring.
Refactor and add code for (lv) 'lv_path' get function.
Refactor and add code for (lv) 'origin_size' get function.
Refactor and add code for (lv) 'move_pv' get function.
Refactor and add code for (lv) 'convert_lv' get function.
Refactor and add code for (lv) 'lv_kernel_{major|minor}' get functions.
Refactor and add code for (lv) 'mirror_log' get function.
Refactor and add code for (lv) 'modules' get function.
update WHATS_NEW
Fix lv_modules_dup segfault.
Refactor and add code for (lv) 'lv_name' get function.
Refactor and add code for (lv) 'lv_origin' get function.
Add lv_read_ahead and lv_kernel_read_ahead 'get' functions.
Rename fields in lvm_property_type.
Add lv_get_property() internal lvm function.
Add 'is_integer' flag into internal lvm_property_type.
Add lvm_vg_get_property() generic vg property function.
Add lvm_pv_get_property() generic function to obtain value of any pv property.
Add lvm_lv_get_property() generic function to obtain value of any lv propert
Add interactive tests for lvm_{pv|vg|lv}_get_property().
Update WHATS_NEW for lvm2app property functions
Add "dmsetup ls --tree" output to lvmdump.
Update WHATS_NEW for lvmdump change.
Add nightly test for vgimportclone and querying of vgnames with duplicate pvs.
Add vgimportclone symlink for nightly test.
Disable nightly test for vgimportclone until proper fix is made.
David Teigland (1):
clvmd: verify messages before processing
Fabio M. Di Nitto (13):
Remove unwanted Makefiles and don't purge lvm2.po that's
Fix --with-clvmd=all to deal with the case where no cluster managers are available.
Drop clogd Makefile from CVS since it's always autogenerated from Makefile.in
Fix cmirrod build directory while we wait to do a proper rename of the
Merge Debian patch 05 debian: keep libdm-abi consistent.
Disable realtime support by default.
configure.in: don't set default file owner and group
- fix whitespaces all over (tabs/spaces)
Fix clvmd init script stop function to not deactive non-clustered volume groups.
Add dm_create_lockfile to libdm to handle pidfiles for all daemons.
Fix clvmd init script return code when executed as non-root user.
Based on auto-detection or user requested cluster managers for clvmd,
In the new corosync world, dlm is a standalone service.
Heinz Mauelshagen (33):
Added GPL disclaimer
more todo
Typos in error messages
added before 2.1 item
removed ~64limit for PEs per PV agk introduced
Check that vgname doesn't already exits in dev_dir
fixed div bug in calculation of end in calculate_extent_count
Zero gap after PV structure on write to disk in order to make non LVM tools happier
(AED's idea and patch for LVM1)
Date changed
quotes around names in output
Poor mans lvmdiskscan
2TB numbers in vgdisplay_full
spaces
LV maximum size limit of 2TB ensured in _lv_setup()
test printf removed
First cut on "pvcreate -s"
Forgot to remove test printf :-)
Second path on "pvcreate -s"
Removed wrong 'lv->vg' argument from lv_is_cow() call. Is used in
lv_is_cow internally.
Avoid ambigous volume_group argument in vg_add_snapshot()
lvmdiskscan
pvresize command
Changed DEFAULT_PV and DEFAULT_LV to 256 (has been fixed in LVM1 before)
Corrected lvcreate synopsis.
tiny tidying
minor cleanup
first changes to get comms back to work after flock changes
o checking in instrumented code for AJ to follow up on comms and logging
Introduce exit() in main() and cleanup signal settings for parent/child
more dm_get_registered_device() code
working dm_get_registered_device(). dmevent.c update to use it.
o libmultilog needs introducing of list locking in order to stand
Exit after last unregister_for_event()
James Antill (2):
Fix Py_BuildValue for i386
python-lvm: Add snapshot support
Jim Meyering (62):
Don't leak a file descriptor in _lock_file when flock fails.
Introduce is_same_inode macro, now including a comparison of st_dev.
In _line_append, use "sizeof buf - 1" rather than equivalent
"4095"
Use gcc's printf attribute wherever possible.
Eliminate uses of strdup+basename. Use last_path_component instead.
dm_fclose: new function
libdevmapper, dmeventd: be paranoid about detecting write failure
Detect stream write failure reliably; new fn: lvm_fclose; use dm_fclose
Introduce log_sys_* macros from LVM2.
Make the libdevmapper version of create_dir equivalent to the LVM2 one.
Export dm_create_dir (was create_dir) to help fix LVM2 link error
Remove create_dir function; use now-equivalent dm_create_dir instead.
Don't leak a file descriptor in fcntl_lock_file(), when fcntl fails.
Make lv_rename's interface "const correct".
For consistency, rename local variable: s/newname/new_name/g.
Add "const" attributes where possible: first cut.
factor out some duplication -- mostly I/O redirection
Avoid static link failure with some SELinux libraries.
Include strerror string in dev_open_flags' stat failure message.
Diagnose invalid PE values given on the pvmove command line (64-bit systems).
Avoid static link failure with some SELinux libraries.
configure: regenerate, to remove vestige of an upcoming patch
Create a symlink, e.g., libdevmapper.so.1.02, in the build dir,
Add testing framework, along with first few tests.
Allow relative dir name in: --with-dmdir=../device-mapper
Clean up shared-lib support in test/.
Test how lvcreate handles its command-line options.
Clean-up and wording changes; add copyright notices.
test/Makefile.in (lvm-wrapper): Use $(DMDIR)/lib/, not $(DMDIR)/lib/ioctl/.
* configure.in (AC_CONFIG_FILES): Remove the test/*/Makefile names
test/t3000-lvcreate-pvtags.sh: Use better test names.
Correct typo in comments: s/is part of the LVM2/is part of LVM2/.
Rename test scripts not to include the 4-digit number.
After a diagnostic, suggest --help, rather than printing all --help output.
Print --help output to stdout, not stderr.
Don't emit a trailing newline to stderr.
Avoid over-quoting in shell scripts.
doc/testing.txt: Fix typo: s/this/thing/.
Avoid link failure when building fsadm.
Arrange for "make clean" to remove the symlink, too.
Revert last change. fsadm must not depend on -llvm.
Fix the fsadm build failure without using -llvm.
Allow $DM_DEV_DIR envvar to override default of "/dev".
Run tests with LVM_SYSTEM_DIR pointing to private root and /dev dirs.
Avoid spurious test failure when compiled with readline support.
is_orphan: make parameter "const" to avoid compiler warning
Remove redundant if-before-free tests in clvmd.c.
Remove redundant if-before-free tests.
* lvm-utils.sh (init_root_dir_): Correct a diagnostic.
break (rather than return) so we have only one point of return
Makefile.in: correct distclean rule
Don't deref uninitialized log_lv upon failed mirror addition.
Begin syncing configure.in for merge/unification with device-mapper.
avoid compiler warning about cast in OFFSET_OF macro
avoid link failure when configuring without --enable-readline
avoid link failure when configuring without --enable-cmdlib
configure: regenerate
lvm2_run: don't return uninitialized for _memlock_inc or _memlock_dec
Don't make configure fail when readline library is not available.
configure: regenerate
Avoid compiler warnings (provoked by new configure.in bug) on RHEL5.
configure: regenerate
Joe Thornber (388):
o checked in the new driver, and the uml dir
o added a description
Just syncing with the office.
o missed one
o proc interface is getting there.
o changed _dev_lock to a rw_semaphore
o implemeted dm_start_table/dm_add_entry/dm_complete_table as used by
o dm_activate/dm_close
o Populating with stuff from experimental
o 2.4.9 support
o make dm.c compile
o dm-table compiles
o dm-target compiles
o wasn't including dm-fs.o in the build
o dm-fs compiles, I've forgotten to register the device in /proc though
o quick hack to get the proc entry registering
o call dm_init_fs
o set permissions on /proc/device-mapper/control to -w-w-w
o _get_workd was always returning the end on iput
o fix get_word
o _tok_cpy was broken
o wu macro was doing a read unlock
o added brackets to make t->name = (char *) (t + 1) more explicit
o fs_add and fs_remove actually create/remove the device now
o chagngesd alloc to return 0 on success
o map loads ok now
o dm_add_target was returning 0 an error when it shouldn't
o you can now load maps repeatedly without hanging
o a couple of patches we'll need for deviec-mapper
o ACtual source code patch
o added proper suspend/resume support, it now waits for all 'in flight'
io's
o more deferred io stuff
o change format of table line to <start> <len> <target> ...
o various little tidy ups
o split uml part out
o rebuilt 00_latest
o stray return -ENXIO in reuqest [Jens Axboe]
o allocate io_hooks from a slab
o tidy ups
o split struct mapped_device into mapped_device and dm_table
o added reference counting to the destination devices, make sure that the
o added global dm_table_lookup_device(path)
o Various tidy ups [Andrew Clausen]
o added new constant CHILD_PER_NODE to make things clearer
o Added two new functions get_child [Andrew Clausen] and get_node. I think
o more tidy ups from Clausen.
o first sattab at custom fs. Very rough ATM.
o quick tidy up
o remove steve's insane ramblings from my code.
o typos
o It should build now
o table creation works again.
o rewrite of dm_user_bmap, not tested though.
o generic hash table to store void *'s, not efficient, but adequate for LVM.
o logical data structures
o list.h from kernel for userland tools to use.
o I'm splitting dev-manager in two. dev-cache is the bottom layer that
o added filter type.
o missing *
o drop the reference counting in the devices.
o get block size moved to dev-io.c
o changed dev-manager to a dev_filter
o Test program for dbg_malloc unit.
o test program for the hash table.
o test program for the device cache
o code sync for dev-cache.c
o I've moved the dev-cache and dev-io into here since this directory has a
o moved dev-cache to device dir
o added dev-cache.c, dev-io and sorted source files alphabetically
o Use the __alignof__ extension to set DEFAULT_ALIGNMENT to that required
o got dbg_malloc_t working, Alasdair could you look at the Makefile.in it
o forgot to add this before
o define the uintN_t types
o vg_read for format1
o finished writing extent reading code
o low level write path
o replace {stack; return 0;}'s with a macro (just for this file).
o end of day sync
o test program for reading a vg
o get things compiling
o makefile for read_vg_t
o read_vg_t compiles
o we were stuill building dev-mgr files
o sync
o dev_cache_t program works
o read_vg works (or so it claims)
o added pretty printing to read_vg_t, run this on your system
o get_pvs for format 1
o test program for get_pvs
o get_pvs now works for format 1
o pv_Read works
o get_vgs works
o vg_write compiles
o hack, hack, hack
o remove spurious log message
o change pv_read to take a name rather than a device
o dev-mgr disappears
o proposed interface to the kernel driver
o spot empty list in build_vg
o remove another spurious error message
o fix seg fault while reading extents
o stub pv_write to stop tools crashing
o Code to calculate the metadata layout.
o add munging for format1 and 2
o pv_write for orphan pv's
o metadata.h was in here twice
o AC_INIT was pointing to an old file
o pv_setup for format1, this is the last one !
o check for orphaned pv's when reading
o return data not 1 in read_ov
o dev_write
o forgot to init a list head
o sizeof(NAME_LEN), don't do that
o uuid_list->id should be NAME_LEN wide
o zero all of uuid
o allocate and zero the extents before exporting the lv's
o builds a very sub-optimal table
o sync
o pe_start wasn't being set properly when exporting to disk
o calculate pv_numbers and lv_numbers for LVM1 support
o vg->pv_act
o pv->system_id
o set PV_ALLOCATABLE flag correctly
o a very quick hack to get vg_number right
o initalise list_heads, initialise list_heads, initi ..
o if contained &= instad of &
o try incrementing pv_number from 1
o pvcreate
o made _single static
o rename _single pvcreate_signle
o lift call to check out of pvcreate_single
o make ios the first argument to pv_create
o vgcreate
o First pass at the regex code. lib/regex/matcher takes an array of regex's
o Filter for the dev cache that takes values from config file:
o tidying
o removed 00_latest since it never is.
o Filter which caches valid devices in a file. Pass in init == 1 to the
o composite filter that allows us to merge filters. Think of it as
&&'ing
o forgot 'static'
o forgot to retry on EINTR or EAGAIN, doh !
o rethink of the persistent filter
o test program for the new persistent filter.
o forgot to use the path passed into _read_array.
o removed old files
o Updated 00_makefile
o Merged common code between hash_destroy and hash_wipe.
o added aliases list to struct device.
o Trivial binary tree
o Shuffle the keys to stop degeneracy.
o Remove a couple of warnings, and one bug in ttree. Spotted by the optimiser
o use dev_name(dev) to get the name of a device, this operation is cheap
o rfilter now checks all aliases for a match
o It's a bit of a hack, but the regex filter now makes sure a device path
o pfilter stores results for all aliases.
o was freeing memory from the wrong pool
o rfilter was no longer accepting by default
o Add read_ahead and stripes to struct logical_volume
o random little fixes
o LGPL list implementation
o First pass at activation
o build lv name from <vg>_<lv>
o adjacent extents are now merged into a single target when activating.
o code for building free area lists on a pv. Compiles but not run.
o lv_manip.c will contain the code for lv_create, lv_extend and lv_reduce.
o Contiguous allocation
o lv_reduce
o Factor _allocate out for use by lv_extend
o lv_extend
o Another pass at the activation code
o pool_empty was very wrong
o Added lvs_in_vgs_opened
o Lot's to do
o more todo
sync only, not ready yet
o Ready for testing
o Compile errors
o Split struct io_space into:
o Plug in fs_(add|del)_lv
o add uplink from vg to cmd_context
o add fs.c to the Makefile
o check result of an allocation
o if any pattern rejects a device, and there were no accepts then reject !
o Add ALLOC_SIMPLE
o Stuff
o Put underscore between vg and lv name.
o Deal with sparse lv arrays (on disk)
o Added dev_open and dev_close functions
o Prefix static var with '_'
o lvcreate no longer needs the explicit -n flag
o Use new info interface to dm.
o _emit_target wasn't spotting contiguous targets properly.
o Sync. only
o Oops, I thought this was checked in ages ago.
o Migration of device-mapper from LVM_WORK to it's own (public) repository.
o Don't use dmt->dmi until it has been initialised.
o Use MKDEV to build the dev_t for mknod
o Change name of libdm.h
o Remove hard coded path to /dev/device-mapper/control
o Removed _check_devfs
o You can now specify the dev directory for libdm
o There's no need to prefix dm_dir() with /dev/ anymore
o use the major number returned from dm_ioctl.
o Display major number
o Remove an old debug statement
o Make sure that every switch has a short option, even if it's
o sync the new in core rep. for Alasdair.
o segments will have to be held as an array of pointers since they're now
o make it obvious that stripe_segment is variable sized.
o More metadata changes.
o change chunk_size to stripe_size
o Sync up todays work on converting to the segmented representation of
o Get format1 building.
o These now compile.
o extra error checking
o Turn on pool debugging by default (-DDEBUG_POOL)
o pool-debug.c contains an alternative implementation of pool that gets
o pool_free was leaving one block hanging around.
o Output the correct format for the stripe target
o I was reading striped volumes incorrectly.
o Striped allocator
o Comparison function was sorting things in ascending rather than
o sync
o Pretty print and read for uuid's
o Update sample to a format that supports multiple vg's per file.
o Split import-export.c into two files.
o flags.c reads and writes a status bitset
o Add output_date
o pool-debug versions of begin_object, grow_object etc.
o Add error checking in _new_chunk
o pool-debug version of end_object wasn't returning the object.
o silly bugs
o Man page for dmsetup
o I figure if I can't remember how to use my code, then I should add
I had another look at the argument processing code:
o Remove LVM_CONFIG_FILE environment variable.
o lvm_snprintf
o Add symlink for lvm-string.h
o Use lvm_snprintf
o Changed the macro name in args.h from 'xx' to 'arg'
o Shuffled completion functions around so we dont have to declare them
o history is now saved in ~/.lvm_history
o sync the backup stuff
o sync backup changes
o Debug version of the pool_grow stuff.
o Added a quick vgcfgbackup, needs parameters as yet.
o Added section on the syntax of the config file, with an informal grammar.
o Added -r, --read-only switch to dmsetup for use with create and reload.
o High level archiving and backup functions.
o Revert to the 6-4-4-4-4-4-6 format for uuid's
o sync laptop to test machine.
o Get format-text.c compiling.
o Added find_config_bool
o sync tool changes for backup stuff.
o tidy up renaming of archive files.
o New function 'merge_segments'
o vgcreate wasn't setting vg->cmd
o Introduction to pool for those without psychic powers.
o Remove anomalous punctuation.
o Reformat comments.
o new function backup_remove(const char *vg_name), to be called from vgremove.
o Let the comment wars begin.
o Put in the 'out of memory' log_err for pool.
o First pass at import.c. Still waiting for label code for the uuid->pv
o vgcfgrestore.
o Moved the current label.[hc] sideways to lvm2_label.[hc]
o _read_id function for import.c
o label.c now compiles.
o Put in the pv_hash which stores the pv section name -> pv struct mapping.
o Reformat comment and correct typo.
o LVM1 labeller.
o Non-caching implementation of new vgcache interface.
o split the uuid -> device map out from vgcache
o vgcfgrestore works ! (with the couple of examples I tried).
o Actually check in vgcfgrestore.
o Knock out the "'%s' is not a block device" debug message.
o Add pvmove to the stub file.
o Set the segment counter back to 1, for a new LV.
o lvm.conf file that contains the same settings that would be assumed if it
o save before committing
o move the path building functions to lib/activate/names.c
o removed display_uuid
o lvdisplay now gives a segment map for the -m option.
o names.[hc]
o Changed find_pv_in_vg, and find_lv_in_vg to return a struct pv_list * and
o Changed
o Typo in comment
o fail if create_pv_list would produce an empty list.
o Similar changes for lv_list.
o Allow fractional parts for size args. eg, lvcreate -L 34.4M
o Fix inverted logic in list_empty test.
o added BUGS file.
o Cut and paste description of how pvmove works that I was mailing someone.
o typo
o Remove pointless calculation.
o extra fid parameter to lv_manip fns
o Add extra parameter to lv_manip fns
o Add check for > 65k extents in a single lv.
o Limit for number of extents should be 65534.
o Tidy
o There were some alignment problems with pool-debug which I've resolved
o Remove redundant dbg_free.
o Add cmd_line field to struct cmd_context
o I decided that the archive_format shouldn't really be a format at
o Added functions to display what's in the archive.
o Little recipe for testing LVM2 with loopback devices.
o Split activate.c into a high level (remaining in activate.c) and low level
(ll-activate.[hc]) API.
o Turn the device_create_* functions into device_populate_*, they only
o First changes to add snapshot support.
o First pass at format1 snapshot support.
o snapshot support for the text format.
o Define _read_uint32
o Initialise the snapshot list properly in vgcreate.
o split lvcreate into seperate functions for parsing the command line,
o Add support for the -s and -c flags to lvcreate.
o small bug in the format1 export code for snapshots.
o Removed the -z (suspend) option from the tools
o misc little fixes.
o add find_cow function.
o typo
o Added a macro called hash_iterate, that is similar to list_iterate
o hash_iterate -> hash_iter
o Remove the vg argument from find_cow
o Sync with cvs, dev_manager still needs to be wired into activate.c
o More dev_manager work.
o In go the populate functions.
o More dev_manager fns.
o Removed old files
o _build_name was allocating 1 byte too few, which meant the
o Format1 wasn't recording the snapshot chunk size properly
o point snapshots at origin:real rather than origin:top, and *ping*
o Break creating a snapshot down into:
o I was tearing down device bottom-up instead of top down. Which
o Bad dependency, meant the origin was always getting activated.
o Add a line to lvdisplay to say if the volume is a snapshot.
o Add support for getting dependencies for a device.
o Rename dmsetup dependencies -> dmsetup deps
o Top level device is now just called <vg>-<lv> (there's no
'top'
o Add comment describing what we're aiming for with dev_manager.
o First cut at dev scanning.
o Add active_list to dev_manager
o knock out the offset for origin targets.
o Comment out some new code that was preventing pjc activating
o dm->active_list now filled in, ATM this is based on the layer name rather
o This should complete the dev_manager alg. Please could people now
o Actually check that the vg directory is empty rather than speculatively
o Mention that vgscan needs to be run after changing the filter var.
o dev_manager_suspend, untested.
o Perform a BLKFLSBUF ioctl whenever a block device is closed.
o Drop the default chunk size for snapshots down to 16k.
o Added support for chunk_size to lvcreate.
o Stop printing errors if flushing fails (could be an unconfigured device).
i) Put back chunksize_ARG for lvcreate.
Drop the default chunk size for snapshots down to 8k
o Remove ext3 incompatibility bug
o Knock the version check out of the makefile, Alasdair will no doubt put it back
:)
o Add version number to text format.
i) There's now a seperate field in struct logical_volume that stores the
i) Added a little macro to aid defining the status flags.
i) Add the VISIBLE flag to the text format. (Other changes are pending
o Test program for the config unit. Just reads a config and then writes it
o 0 was used rather than NULL in a couple of places.
o Added new value type CFG_EMPTY_ARRAY, to indicate '[]', useful since we
use
o Make sure the status parsing code can deal with an empty array.
o Remove e2fsadm to stop people waiting expectantly for something that isn't
going
o Anchor support for the regex engine.
o Give an example filter that uses anchors.
o inline _step_matcher
HAT_CHAR and DOLLAR_CHAR were defined to the same value !
Report generators for unit tests and memory checks. Configure with
Move tests from old-tests/regex to unit-tests/regex. unit-tests will
Wire the regex tests up to the reports
Add a unit test for the recent changes to dm_bit_get_next()
[UNIT-TESTS] add test for the recent dm_bitset_equal() function
[UNIT-TEST] test for recent dm_bit_and() function
[REGEX] add a fingerprinting facility to allow test code to compare dfas
[REPORT-GENERATORS] cut down stylsheet.css to what we actually use
[REGEX] another matcher_t test with a larger set of regexes, only interested in the
fingerprint
[REGEX] reduce the number of charset nodes that are produced
[REGEX] factor _calc_state() out of _calc_states()
[REGEX] remove the state_queue structure.
[REGEX] calculate dfa states on demand
[REGEX] matcher_t unit test now takes a flag to turn on fingerprinting
[REGEX] add a unit test for regexes containing chars with value over x80
[REGEX] Parse regexes that contain chars with value > 0x80
[REGEX] fix bug in matcher that was causing segfault with chars of 0x80 and over.
[MM] Make valgrind aware of the pool allocators
[REGEX] fix a long standing off-by-one error (found by valgrind-pool)
Jonathan Brassow (93):
TEST (lvcreate-raid): Allow more time for RAID arrays to sync
TEST (lvconvert-raid): localize a function variable
TEST (lvconvert-raid): Turn on RAID conversion testing under snapshots
RAID: Fix extending size of RAID 4/5/6 logical volumes.
TEST (lvresize-raid): Don't run test when RAID module doesn't exist
TEST: Add library functions for checking and waiting for sync
TEST: Replace old sync test/wait functions with new library functions
RAID: Fix segfault when attempting to replace RAID 4/5/6 device
Forgot to update WHATS_NEW for commit 5555d2a000ed4e3d5a694896f3dc6a7290543f43
TEST: Conditionalize RAID tests on whether the dm-raid module exists
vgextend: Allow PVs to be added to VGs that have PVs missing
RAID: Improve RAID argument handling.
RAID: Add support for RAID10
TEST (lvresize-raid): Also test resizing of RAID10
cleanup: Use segtype->ops->name() instead of segtype->name where
applicable
RAID: '--test' should not cause a valid create command to fail
RAID: Disallow addition of RAID images while array is not in-sync
cleanup: Reduce indentation by short-circuiting function
cleanup: Restructure code that handles mirror resyncing
RAID: Properly handle resync of RAID LVs
TEST: Add missing test for RAID module version
RAID1: Like mirrors, do not allow adding images to LV created w/ --nosync
RAID1: Clear the LV_NOTSYNCED flag when a RAID1 LV is converted to linear
mirror: 'lvconvert --resync' should reset LV_NOTSYNCED on corelog mirror
RAID: Fix problems with creating, extending and converting large RAID LVs
RAID: Do not allow RAID LVs in a cluster volume group.
[lv|vg]change: Allow limited metadata changes when PVs are missing
TEST: Add lvchange-partial.sh and vgchange-partial.sh to the test suite
Clean-up: Adjust message to be clearer on action taken and why
RAID: Add "raid10" to lvcreate man page.
TEST: Re-add testing of lvconvert-raid for kernels < 3.2
mirror/raid: Move 'copy_percent' to common code (mirror.c ->
lv_manip.c)
RAID: Make RAID 4/5/6 display sync status under heading s/Copy%/Cpy%Sync
WHATS_NEW: Entry for commit e1917809477c4850cc1094121001d61a2b70ef26
mirror: Avoid reading from mirrors that have failed devices
mirror: Avoid reading mirrors with failed devices in mirrored log
mirror: Mirrored log should be fixed before mirror when double fault occurs
RAID: Do not allow --splitmirrors on RAID10 logical volumes.
RAID: If no stripes argument is given for RAID10 create, default to 2
man page (lvcreate): Better explain stripes option for RAID 4/5/6.
pvmove/RAID: Disallow pvmove on RAID LVs until properly handled
RAID: Limit replacement of devices when array is not in-sync.
Test (RAID): Test for RAID10 activations when devices are missing
RAID: Add RAID status accessibility functions
RAID: Cache previous results of lv_raid_dev_health for future use
RAID: Improve 'lvs' attribute reporting of RAID LVs and sub-LVs
WHATS_NEW: Better description of previous change
clean-up: Another functiont that can use 'lv_layer'
clean-up: Rename lvm.conf setting 'mirror_region_size' to
'raid_region_size'
RAID: Make 'vgreduce --removemissing' work with RAID LVs
RAID: Allow remove/replace of sub-LVs composed of error segments.
clean-up: Remove a FIXME question that has been settled
RAID: Add new 'raid10_segtype_default' setting in lvm.conf
vgimport: Allow '--force' to import VGs with missing PVs.
RAID: Make 'lvchange --refresh' restore transiently failed RAID PVs
clean-up: Typo 's/should had/should have/'
RAID: Code changes missing from previous commit (bbc6378)
test: Fix the way in_sync calculates the sync field location
RAID: Capture new RAID kernel sync_action status fields
WHATS_NEW: Include entry for RAID status func improvements
mirror: Fix overly-concerning warning on mirror up-convert failure.
RAID: Add scrubbing support for RAID LVs
RAID: Revert previous commit that allowed identical table loads.
WHATS_NEW: Add WHATS_NEW entry for previous commit.
CLEAN-UP: Better string checking to avoid substring matches
RAID: Add writemostly/writebehind support for RAID1
Clean-up: Replace 'lv_is_active' with more correct/specific variants
Clean-up: Fix copy-n-paste error
DM RAID: Add ability to throttle sync operations for RAID LVs.
TEST: Fix 'dd' overrunning device size and causing test failure
RAID: s/int/uint32_t for dev_count in dm_status_raid struct
RAID: Remove optimization using static vars in lv_raid_dev_health
RAID/MIRROR: Honor mirror_segtype_default when upconverting linear LVs
Clean-up: WHATS_NEW
TEST: Test RAID syncaction, writemostly, & refresh under snapshots
cleanup: Remove message used for development
RAID: Fix segfault when reporting raid_syncaction field on older kernel
TEST: Update syncaction test to match latest kernel updates
TEST: Support testing new RAID features in RHEL6 kernels
Man Pages: Update man pages to reflect changes to various RAID options
Clean-up: Addressing a few FIXME's
Revert a previous change
dmeventd: Fix memory leak
RAID: Make "raid1" the default mirror segment type
RAID: Make "raid10" the default striped + mirror segment type
TEST: Be explicit about which mirror segment type to use.
Mirror/RAID1: When up|down-converting default to segtype of current LV
Mirror: Fix issue preventing PV creation on mirror LVs
WHATS_NEW: update WHATS_NEW for previous commit
RAID: Fix bug making lvchange unable to change recovery rate for RAID
WHATSNEW: typo
RAID: Fix bug making lvchange unable to change recovery rate for RAID
Mirror: Fix inability to remove VG's cluster flag if it contains a mirror
Jonathan Earl Brassow (212):
- make noop use multilog
- likely cut and paste error. Fix wrong function name in debug
lib/activate/activate.c:_lv_activate tries to monitor a device
- cleanup excessive indentation in tools/lvconvert.c:lvconvert_mirrors
This patch changes the arguments that specify the mirror
minor updates to the lvcreate/lvconvert man pages.
- change new log_ARG variable to more explicit mirrorlog_ARG.
When mirrors are created with the --nosync option, a status flag
- I neglected to update this file on last check-in, which fixed
- The automatic log module loading patch proposed for the upstream kernel
Initial import of the cluster log daemon from the 'cluster' repository.
- Updating cluster log with latest code changes/bug fixes before
Rebasing the cluster log daemon code from the most current
After rebasing the cluster logging code, adjustments need to be
Making adjustments to go along with the changes to the kernel.
Remove old custom list macros and replace with libdevmapper list
Cluster log daemon (clogd): use LVM bitops in place of ext2 bitops
cluster log daemon (clogd): Add to LVM build system
update WHATS_NEW
mirror table generating code: Properly handle 'block_on_errors' and
'cluster' features
configure script: A couple unwanted changes snuck in.
Cluster log server (clogd): Add new build files.
cluster log daemon (clogd): Adjust for kernel CTR arg reordering
'_emit_areas_line' returns 1 for success and 0 for failure. This always
I saw this in a bug report:
Clarify message:
s/=/==/ Typo was causing sub test to always return success.
The patch fixes some lvconvert issues (WRT mirror <-> mirror).
- forgot to update WHATS_NEW along with bug fix for keeping
This patch adds the capability to split off a mirror legs.
udpate WHATS_NEW file for --splitmirror checkin
Add the new mirror log type "redundant". The options are now:
update comment
Found 2 problems with my previous check-in:
Testsuite updates and fixes for recently added features.
Add new test cases for mirrors that are under snapshots.
Off-by-one count was causing not all the mirror table parameters
At some point "clustered_[core|disk]" was changed to
"clustered-[core|disk]".
udpate WHATS_NEW*
When moving the cluster log server into the LVM tree, the in memory
Make the intermachine communication structures architecture independant
initial cmirrord man page
Initial version of the cmirrord init script
Use tabs, not spaces.
Fix some compiler warnings.
Fill in a little more on the man page for cmirrord
a little more information for the cmirrord man page
Was using dm_list_iterate_items when I should have been using
Adding a new mimage (leg/copy) to a mirror behaves differently
Add ability to create mirrored logs for mirror LVs.
For the mirror repair tests, we should use --ignoremonitoring because
We only need one extent for the mirror log. So, when specifying
Arguments to the --mirrorlog option are described in the synopsis as
Disallow the primary mirror image from being removed when the
Disallow the addition of mirror images while a mirror up-convert
The following tests in the testsuite have race conditions:
Patch to fix bug 586021 and mantain historical behavior of
Fix comment from last commit. Additionally, there is no need
Don't attempt to convert the log type of an LV if the LV
Test all combinations of mirror conversion, both while the LV
If we are checking if '--nosync' was called with the mirror argument,
Disallow toggling the cluster attribute of a volume group if there
daemons/cmirrord/functions.c (part of cmirrord) was referencing
Add error checking for calls to sprintf - it can fail for more
Mirrors can be layered - as in the case of an converting 2-way
The function that runs to compress a stacked mirror after
Committing Taka's patch... He found a problem during
update WHATS_NEW file with entry for simultaneous mirror image and
Fix for bz608048 from Taka...
Fix for bug 607347: failing both redundant mirror log legs...
Finish fix for bug 607347: failing both redundant mirror log legs...
Failed to test for the case where a log was requested to be removed
Fix for bugs: 612248 & 612291 Split mirror issues
Fix for bug 612311: Split of linear provides no error msg
Fix reversal of LV list before performing a split mirror.
Fix for bug 614164: No check for existing name when splitting mirror
It's not enough to check for the kernel module in the case of cluster
Building without the '--enable-cmirrord' option means that
Initial import of document describing LVM's policies
Disallow mirrored logs in cluster mirrors.
Taka's fix for handling failure of all mirrored log devices and
A misunderstanding of the return value of 'dm_bit' has been causing a data
Fix for bug 619221 - log device splitting regression
Fix for bug 612291: dm devices of split off mirror images are not removed
Fix for bug 596453: multiple mirror image failures cause lvm repair...
This patch fixes a potential for I/O to hang and LVM commands
This patch fixes a problem where the mirror polling process
This patch fixes an issue where cluster mirror write I/O
Fix for bug 637936: killing both redundant logs causes deadlock
Fix bug 632681: cmirrord shouldn't fail 'start' if already started
Change to correct cmirrord return code is user visible - update WHATS_NEW
Fix bug 635949: lvconvert man page clarification
Prevent the user from simultaneously adding a mirror log while removing
Reverting recent commit to disallow adding/removing mirror log while
Add disk to mirrored log type conversion.
s/log_verbose/log_error/ - Increase log level on error message.
Add test to make sure that a log device is retained when a
Remove duplicate statement (pasted twice by patch at some point?)
fix bad 'strcmp's in 'decode_lock_type' - missing !'s
Allow snapshots in a cluster as long as they are exclusively
orginal WHATS_NEW entry was changed to be less in-line with change it
bug 659264: more examples for pvmove
Fix for bug 677739: removing final exclusive cmirror snapshot,
gdbinit - A GDB init file to help while debugging LVM.
detect RAID* LV and segment flags.
lv_status_r has been fixed-up so that it supports infinite LV stacking
lv_status_r now prints out status of attached log LVs
Watch out for collisions in GDB global namespace.
cosmetic change - swapping one macro for another
Replace malloc with zalloc when creating segment_type's
Fix unhandled condition in _move_lv_segments
s/MIRROR_NOTSYNCED/LV_NOTSYNCED/ - Flag will may refer to more than just mirrors
gdbinit update
This patch adds the ability to extend 0 length layered LVs. This
Thanks to Zdenek Kabelac (kabi) for pointing out that I was using
Fix issue preventing cluster mirror creation.
Fix to preserve exclusive activation of mirror while up-converting.
Remove unnecesary conditional.
Fix error message - the parameter name is '--mirrorlog' not '--log'
RAID updates for gdbinit file
LVM2 RAID design doc
Fix potential null ptr deref in 'origin_from_cow'
Remove and unneeded parameter from build_parallel_areas_from_lv()
Add basic RAID segment type(s) support.
Fix compiler warning.
Fix renaming of RAID logical volumes.
Add RAID metadata devices to considered devices in _add_lv_to_dtree.
Add dmeventd monitoring for RAID devices.
Need 'ifdef' checks around RAID monitoring functions as well to catch the
Add ability to down-convert RAID1 arrays.
Add some log_error msg's and fix potential segfault
Add missing checks for function return codes.
Various code clean-ups (s/malloc/zalloc/, new msgs, etc)
Compiler warning fixes, better error messaging, and cosmetic changes.
When down-converting RAID1, don't activate sub-lvs between suspend/resume
Add --splitmirrors support for RAID1 (1 image only)
Add the ability to split an image from the mirror and track changes.
Add support for m-way to n-way up-convert in RAID1 (no linear to n-way yet)
Add ability to merge back a RAID1 image that has been split w/ --trackchanges
Move RAID convert tests to new file, t-lvconvert-raid.sh
Fix for bug 732142: Unsafe table load during mirror image split
Updates to gdbinit file
Adjust gdbinit script to new RAID status flag values.
reorder some status flag printing in gdbinit file.
Fix for bug 733114.
Fix for bug 737125 - unable to create mirror on 1K extent size VG
Changing RAID status flags to 64-bit broke some binary flag operations.
Better fix for bug 737125 - unable to create mirror on 1K extent size VG
Fix for bug 737200 - Can't create mirrored-log mirror on a VG with small
extents
Fix bug 733400 - Mirror down conversion when specifying the secondary leg is broke
Fix for bug 734252 - problem up converting striped mirror after image failure
Additional fixes for lv_mirror_count.
After suspend/resume following a splitmirror op, call sync_local_dev_names
Fix Bug 738832 - core to disk log conversion fails with internal error
fix compiler warning.
When up-converting a RAID1 array, we need to allocate new larger arrays for
Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg.
Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE.
Update the RAID design doc to reflect some of the new options introduce (e.g.
update man page for new RAID lv_attr characters.
New handy gdb debugging function, "dm_list_size"
Fix vgsplit when there are mirrors that have mirrored logs.
This patch fixes issues with improper udev flags on sub-LVs.
Revert initial solution to bug 733114 - I/O error message during splitmirror
Fix splitmirror in cluster having different DM/LVM views of storage.
Allow 'nosync' extension of mirrors.
Add the ability to convert linear LVs to RAID1
Add the ability to convert LVs of "mirror" segtype to "raid1"
segtype.
Update stale libdm/misc/dm-log-userspace.h
cmirrord now returns log name to kernel in CTR so it can be registered
Use a more correct macro for 'seg_is_linear'
Fix bad lvconvert help output.
Disallow 'mirrored' log for cluster mirrors.
Update lvconvert man page to describe '--type <segtype>' argument
Support the ability to replace specific devices in a RAID array.
The LV_REBUILD flag is not internal - bad comments in metadata-exported.h updated
Do not allow users to change permissions on RAID sub-LVs.
WHATS_NEW for previous commit.
Do not allow users to change the name of RAID sub-LVs or the name of the
Don't allow size change of RAID LV that is tracking changes for a split image
Don't allow two images to be split and tracked from a RAID LV at one time
Add policy based automated repair of RAID logical volumes
Preserve exclusive activation of cluster mirror when converting.
Fix the way RAID meta LVs are added to the dependency tree.
Use suspend|resume_origin_only when up-converting RAID LVs, as mirrors do.
Fix bug that caused RAID devices to be unable to activate if sub-LV was missing.
Fix possible NULL pointer dereferences when updating mirror log.
Change confusing message that is printed when a RAID device fails.
Make conversion from a synced 'mirror' to 'raid1' not cause a full
resync.
Fix a bad return code in 'lvconvert_raid'
Add some messages that indicate completion of RAID device replacement.
*** empty log message ***
Allow 'lvconvert --repair' to operate on RAID 4/5/6.
Fix allocation code to allow replacement of single RAID 4/5/6 device.
Require number of stripes to be greater than parity devices in higher RAID.
Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt).
s/CPG_/CS_: Various CPG constants are going away, even though CPG itself stays
Fix name conflicts that prevent down-converting RAID1 when specifying a device
Add a couple new functions to gdbinit file and decode a couple lv->status flags
Commit ID 46a75dedb4f6aa815a804f27cafbd3fd16a62011 consolidated code from the
RAID LVs could not handle a down-convert if a device other than the last one
Fix inability to split RAID1 image while specifying a particular PV.
Fix code that performs RAID device replacement while under snapshot.
Fix for bug 807776: invalid lvconvert --merge output should mention raid1 now
Unlike 'mirror' segtype, 'raid1' should perform flush on suspend.
Prevent resume from creating error devices that already exist from suspend.
Allow a subset of failed devices to be replaced in RAID LVs.
Disallow changing cluster attribute of VG while RAID LVs are active.
Fix bug in cmirror that caused incorrect status info to print on some nodes.
Make a note that "raid1" is not cluster-aware in the example lvm.conf.
Disallow snapshots of mirror segment types.
Fix up-convert when mirror activation is controled by volume_list and tags.
Marian Csontos (7):
lvmetad: Skip redundant checks on no input
Remove redundant (potentially harmful) semicolon
[lvmetad] Continue reading/writing on EINTR
Fix tests to accept extended attribute
cleanup: remove unused variable
version: update
lvmetad: use dm_config_destroy to free pvmeta
Mike Snitzer (131):
Add vgimportclone and install it and the man page by default.
Fix rpmlint in clvmd initscript
Fix 'service-default-enabled' rpmlint in clvmd initscript
Various vgimportclone fixes:
Use the MD device's stripe-width, instead of chunk_size, to align the
Allow commandline sizes to be specified in terms of bytes and sectors.
Reword the WHATS_NEW commandline sizes update.
Continue to make --units and --size consistent (in code and man pages):
Add extended device (blkext) and MD partition (mdp) types to filters.
Check MD devices for a partition table during device scan.
Cast MAJOR() and MINOR() to int when used with "%d" in dm_snprintf()
call.
Cast MINOR() in _md_sysfs_attribute_snprintf()'s dm_snprintf() call.
Formalize pe_start policy as split between .pv_setup and .pv_write.
Fix _mda_setup() to not check first mda's size before pe_align rounding.
Remove legacy support for preserving pe_start if a PV already has data
Preserve pe_start in .pv_setup and .pv_write if pe_start was supplied.
Add --dataalignmentoffset to pvcreate to shift start of aligned data area
Revert 'preserve_pe_start' related code in _text_pv_setup
Disable the "new pe_start policy"
Fix compile warnings from recently added log_very_verbose() in _text_pv_write()
Add devices/data_alignment_offset_detection to lvm.conf.
Add devices/data_alignment_detection to lvm.conf.
Improve ability to lookup primary device associated with a partition
Retrieve MD sysfs attributes for MD partitions
Fix error handling of device-related stat() calls to be ENOENT aware.
Added basic pvcreate --dataalignmentoffset testing to t-pvcreate-usage.sh
Fix pvcreate on a partition (regressed in 2.02.51).
Switch status from 32-bit to 64-bit
Add a [--poll {y|n}] flag to vgchange and lvchange to control whether
Return error to dm_tree_preload_children() and
Return error to dm_tree_suspend_children() callers.
Return error to dm_tree_deactivate_children() callers.
Add missing 'stack;' for all suspend_lv and resume_lv callers.
Add missing 'stack;' for all activate_lv and deactivate_lv callers.
Use snapshot metadata usage to determine if snapshot is empty
update WHATS_NEW and WHATS_NEW_DM with previous commits' changes
. update documentation for --poll in the vgchange and lvchange man pages
Change background polldaemon's process name to "(lvm2)".
remove unused variable 'i' that was recently introduced in lv_add_segment
Reset _vgs_locked in lvmcache_init()
remove errant comment fragment
Only allow one return from poll_daemon(). If a child polldaemon was
Add 'SNAPSHOT_MERGE' lv_segment 'status' flag.
Add support for "snapshot-merge" target.
Conditionally push down either the "snapshot-origin" or
Merging device is loaded with "-cow" suffix and with base name of the
Add --merge support to lvconvert to start merging a snapshot into its
Do not allow merging over mounted logical volumes.
Report merging snapshot as 'S' instead of 's':
When there is merging snapshot, report percentage on the origin LV.
Background poll for lvconvert --merge command.
Start background polling of merging stores on:
Reload origin if merging has stopped.
When turning merging origin into non-merging origin, there is bad sequence:
Merge on activate support.
Update lvconvert manpage for snapshot --merge
Add snapshot merge wrappers to abstract the associations and flags used
Rename segment and lv status flag from SNAPSHOT_MERGE to MERGING.
update WHATS_NEW and WHATS_NEW_DM to include snapshot-merge changes
Improve target type compatibility checking in _percent_run().
Detect case of both merging_store and cow_store supplied in
Change dev_manager_mirror_percent()'s 'struct logical_volume *' to be
update test/t-pvcreate-operation-md.sh attempt loading raid0.ko if raid0
Add a common way to establish a scsi_debug-based 4K drive for use by an
test/t-topology-support.sh requires scsi_debug from >= 2.6.31
add test/t-snapshot-merge.sh to provide coverage of snapshot-merge support
Add t-topology-support.sh and t-snapshot-merge.sh tests.
Preload the origin prior to suspend IFF snapshot(s) still exist after a
Removed inactive_table check from _lv_has_target_type. This check
Eliminate extra ioctls just to check open_count in _add_new_lv_to_dtree.
Default to checking LV's progress before waiting in _wait_for_single_lv.
move WHATS_NEW entries whose changes were made after 2.02.60 to 2.02.61
Add %ORIGIN support to lv{create,extend,reduce,resize} --extents option
Prepare for _get_lvconvert_vg() reuse as part of a larger lvconvert.c
lvconvert --merge @tag support
Switch lvconvert_single() over to using get_vg_lock_and_logical_volume()
Add multiple snapshot lv 'lvconvert --merge @tag' support via
process_each_lv().
Remove false "failed to find tree node for <lv>" error from
_cached_info().
Add 'fail_if_percent_unsupported' arg to _percent() and _percent_run().
Add 'fail_if_percent_unsupported' arg to _percent() and _percent_run().
Refactor snapshot-merge deptree and device removal to support info-by-uuid
Do not reload origin again in lv_remove_single() if it had a merging
Handle a misaligned device that reports a -1 alignment_offset.
testsuite: get stacktrace if test drops core
Don't allow resizing of internal logical volumes.
Improve activation monitoring option processing
Revert having clvmd consult the lvm.conf "activation/monitoring".
Fix clvmd cluster propagation of dmeventd monitoring mode.
Use a real socket for singlenode clvmd to fix clvmd's high cpu load.
Do not allow {vg|lv}change --ignoremonitoring if on clustered VG.
Add additional test to start the snapshot merge (which had just failed
Re-enable t-topology-support.sh
When removing a snapshot avoid preloading the origin if the
Remove redundant check in _lvs_single now that the caller
Disallow the direct removal of a merging snapshot.
Document 'clear' in dmsetup man page.
Add --type parameter description to the lvcreate man page.
Cleanup sentences of the example provided in the vgimportclone man page
Use more standard naming for PVs and VG in vgimportclone example.
Avoid changing aligned pe_start as a side-effect of very verbose logging.
Require logical volume(s) to be explicitly named for lvconvert --merge.
Require --restorefile when using pvcreate --uuid.
Change default alignment of pe_start to 1MB.
fix t-pvcreate-operation-md.sh to require
kernel.org Linux >= 2.6.33 for
Add some v1 to v2 metadata upgrade testing.
Update heuristic used for default and detected data alignment.
Switch to using configure --with-default-data-alignment=<NUM> to
Verify that pvcreate --dataalignment really does override the topology
Make example.conf description for 'default_data_alignment' more generic.
Convey need for snapshot-merge target in lvconvert error message and man
Never scan a device which is using the error target
Explicitly have grep print the matching filenames (needed to
Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange.
Fix "it's" typo to be "its" in lvconvert error message.
Improve lvcreate "insufficient extents" errors to "insufficient free
space".
Add inactive table query support for kernel driver >= 4.11.6 (RHEL 5.7).
fix s/then/than/ typos in 'pv_min_size' section and fold floppy example
fix s/then/than/ typo in lvm.conf.5.in
Add "devices/issue_discards" to lvm.conf.
Use uint32_t rather than uint64_t.
Improve the discard documentation. Also improve discard code in
Fix _get_proc_number to be tolerant of malformed /proc/misc entries.
Add missing free() for line that is malloc()'d by getline().
Lookup snapshot usage percent of origin when a snapshot is merging.
Differentiate between snapshot status of "Invalid" and "Merge
failed".
Use m and M lv_attr to indicate that a snapshot merge failed in lvs.
Allow removal of an invalid snapshot that was to be merged on next activation.
Prompt if request is made to remove a snapshot whose "Merge failed".
Fix alignment of PV data area if detected alignment less than 1 MB
snapshot: Rename snapshot segment returning methods from find_*_cow to
find_*_snapshot
lvconvert: Rename _swap_lv to _swap_lv_identifiers and move to allow an additional
user
Mikulas Patocka (7):
Suppress warning on 64-bit big-endian computers (Sparc 64).
Change exit() to _exit() in the child process. exit flushes stdio file buffers,
WHATS_NEW
Pass struct cmd_context as a first argument to init_multiple_segtypes.
Don't kill the parent if debugging.
A missing space in the error message.
Fix scripts/relpath.awk to work with mawk
Milan Broz (354):
Fix create mirror with name longer than 22 chars.
Print warning instead of error message if cannot zero volume
Fix vgremove to require at least one vg argument.
Fix processing of exit status in init scripts
Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata).
Fix creation and conversion of mirrors with tags.
Fix libdevmapper-event memory leaks
Fix a segfault if a device has no target (no table)
Fix and clarify vgsplit error messages.
Remove symlinks if parent volume is deactivated.
Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23)
Fix vgsplit if splitting all PVs from VG.
Add kernel and device-mapper targets versions report to lvmdump.
Fix snapshot cow area deactivation if origin is not active. (2.02.13)
Fix compilation warning in util.c.
Fix loading of persistent cache if cache_dir is used. (2.02.23)
Fix clvmd if compiled with gulm support. (2.02.26)
Update --uuid argument description in man pages.
Fix a segfault if using pvs with --all argument. (2.02.29)
Add metadata test for escaping double quotes in device names (bz431474).
Add validation of LV name to pvmove -n.
Add detection of clustered mirror log capability.
Fix output if overriding command_names on cmdline.
Update lvmcache VG lock state for all locking types now.
Drop cached VG metadata before and after committing changes to it.
Fix vgchange to not activate mirror leg and log volumes directly.
test vgsplit: reject to give away pv with the last mda copy (Jaroslav Stava)
add tests for pvchange and vgreduce usage (Jaroslav Stava)
Fix vgcfgbackup to properly check filename if template is used.
Fix allocation bug in text metadata format write error path.
- fix environment variable prefix to LVM (this is not GIT:-)
Add pvremove usage test (Jaroslav Stava)
Fix lvmdump metadata gather option (-m) to work correctly. (Jaroslav Stava)
add vgrename by uuid test (Jaroslav Stava)
add vgcreate rejects repeated invocation test
fix vgreduce tests to detect partial command failure (Jaroslav Stava)
Not detecing label on disc is not error, remove <backtrace> from debug log
format1: Not detecing label on disc is not error, remove <backtrace> from
debug log
Fix vgconvert logical volume id metadata validation.
Fix setting of volume limit count if converting to lvm1 format.
Do not scan for lvm1 entries in /proc if not running 2.4 kernel.
Fix pvresize to not allow resize if PV has two metadata areas.
Fix vgreduce test, now requires --force flag. (Jaroslav Stava)
Add more vgreduce tests. (Jaroslav Stava)
Fix validation of --minor and --major in lvcreate to require -My always.
Fix mirror DSO to call vgreduce with proper parameters.
Try to fix possible infinite loop in dependency tree walking (by mornfall).
Fix handling of PVs which reappeared with old metadata version.
Fix misleading error message when there is no allocatable extents in VG.
Fix snapshot monitoring library to not cancel monitoring invalid snapshot.
Fix lvm2.static build.
Remove status=noxfer from test, not all dd versions support this (RHEL4 for
example).
Fail add tree node when requested major/minor is used.
Calculate mirror log size instead of hardcoding 1 extent size.
Do not issue write behind lv size.
Fix "Calculate mirror log size" commit, the le_count should be always
set.
Fix lvmdump /sys listing to include virtual devices directory.
Fix problems with static build
Use tools.h in for lvm-static.
Fix pvs segfault when pv mda attributes requested for not available PV.
Separate PV label attributes which do not need parse metadata when reporting.
Fix lvm.static build dependence (to properly propagate changes in libdevmapper).
Comment out pvcreate pagesize alignment test for now.
Fix validation of dataalignment value introduced in previous commit.
Try to avoid full rescan if label scan is enough.
pe_start can be overwritten in VG metadata, so it is not PV label-only field.
vgname_from_mda now tries to parse for vgname even
Fix possible increasing in memory allocation if refreshing_context
Fix clvmd build after liblvm commit.
Fix lv_count when manipulating with snapshots and max_lv is set.
Fix warning in previous commit.
Fix segfault for vgcfgrestore on VG with missing PVs.
fix some issues when compiling with -D DEBUG_POOL
Add some more special chars for device name test.
Do not use pointer from released memory pool (cmd->cmd_line).
Allocate new pv->vg_name from pool, it can be destroyed later.
Fix debug pool grow object to properly support delta=0
Fix memory pool leak.
Use pv from newly read_vg to avoid possible use of not initialized memory.
Enable use of cached metadata for pvs & pvdisplay.
Fix mirror log convert validation question.
Always return exit error status when locking of volume group fails.
Properly copy the whole pv structure for later use.
Helper function to catch memory pool leaks.
Introduce memory pool per volume group.
Properly release VG memory pool in activation code and clvmd.
Properly release VG memory pool in archiver code.
Properly release VG memory pool in metadata manipulation code.
Properly release VG memory pool in all CLI tools.
Fix dmsetup.static build.
Add MMC device type to filters.
Fix pvs -a for segmented output
Fix pvseg report for orphan PVs and other devices.
Tidy lv_hash[_lock] use inside clvmd.
Move metadata backup call after vg_commit.
Alloc PV internal structure from VG mempool if possible.
Fix remote metadata backup for clvmd
Clean a lot of extra extra whitespaces.
Fix vgreduce --removemissing failure exit code.
Fix pool leak in lvmcache_read_vg error path.
Use zalloc in initialization of device manager (to zero pvmove mirror count).
Fix PV datalign when for values starting prior to MDA area.
Do not use generic install if running install_device-mapper.
Fix device-mapper static build targets.
Introduce lvm2_install target.
Fix previous commit (scripts/Makefile targets order)
Fix first_seg() call for empty segment list.
Remove snapshot_count from VG and use function instead.
Fix snapshot segment import to not use duplicate segments & replace.
Remove vg->lv_count and use counter function.
Tidy format1 import LV function.
Introduce link_lv_to_vg and unlink_lv_from_vg functions.
Fix lv_is_visible to handle virtual origin.
Introduce lv_set_visible & lv_set_invisible and use lv_is_visible always.
Merge lv_is_displayable and lv_is_visible.
Remove unneeded import parameter from lv_create_empty.
Check max_lv on only place and force the check only for new volume.
vgcfgrestore should not quietly fail when backup file has missing PVs.
Use PV UUID in hash for device name when exporting metadata.
If pvmove fails activating mirror volume, try restore to previous state.
Fix compilation warning.
Use lvconvert --repair in dmeventd DSO (mornfall)
Fix lvconvert check for multiple-segment mirrors (mornfall)
Add infrastructure for queriying for remote locks.
Use suspend with flush when device size was changed during table preload.
Use lock query instead of activate_lv_excl
Use readahead of underlying device and not default (smaller) one.
Fix readahead test.
Fix locking query compatibility with old external locking libraries.
Temporary disable one of lvconvert tests.
Fix readahead calculation problems.
Fix log allocation segfault (fix previous commits).
Fix convert polling to ignore LV with different UUID.
Fix rename of active snapshot with virtual origin.
Build shared parts with 'make' command (mpatocka)
WHATS_NEW!
Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO (mornfall)
Fix double releasing of vg when repairing of vg is requested.
Suspend virtual origin before real snapshot.
Fix various problems in tests
Round readahead more inteligently and print warning.
Fix the same readahead rounding in lvcreate.
Support crypt segment in libdevmapper tree.
Unlock vg when requested automatic update failed.
Unlock VG in recover_vg if metadata read failed.
Fix compiler warning.
Re-instate partial activation support in clustered mode. (mornfall)
Fix WHATS_NEW - Allow metadata correction even when PVs are missing.
Fix memory leaks in toolcontext error path.
Fix lvconvert to not poll mirror if no conversion in progress.
Destroy toolcontext on exit in clvmd (fixes memory pool leaks).
Do not fork daemon when dmeventd cannot be found.
Suggest use lvchange --resync when up converting not yet synced mirror.
Add WHATS_NEW items.
Properly destroy toolcontext.
Fix backward compatibility for major:minor query.
Fix segment import functions to print segment name and logical volume name.
Fix confusing metadata syntax error messages.
Fix and precise metadata read errors for segment areas.
Enable use of new multi-segment registration for static registration too.
Fix uuid warning in pvcreate to use terminated (and dash formatted) UUID string.
Fix global locking in PV reporting commands (2.02.49).
Do not run mdadm tests if MD module is not loaded.
Return fail if lv_deactivate did not removed device from kernel.
Recognise DRBD device part and handle it similar to MD devices.
Fix lvcreate processing of %PVS argument.
Fix compilation warning:
Fix install_device-mapper Makefile target to not build dmeventd plugins.
Fix pvmove region_size overflow for very large PVs.
Never activate hidden volumes directly in vgchange.
Revert vg_read_internal change, clvmd cannot use vg_read now. (2.02.55)
Fix memory lock imbalance in locking code.
Return error status if vgchange fails to activate some volume.
Refresh device filters before full device rescan in lvmcache.
Move persistent filter dump to more appropriate place.
Do not try to unlock VG which is not locked.
Add missing vg_release to pvs and pvdisplay to fix memory leak.
Use locking_type 3 (compiled in cluster locking) in lvmconf.
Do not allow creating mirrors of more than 8 images.
Fix memory leak in lv_info_by_lvid
Fix tools to report error when stopped by user.
Print error if VG already exist.
Fix pvmove test mode to not fail and do not poll.
Fix memory lock imbalance in lv_suspend if already suspended.
Remove newly created log volume if initial deactivation fails.
Get rid of hardcoded 0xffdf cluster lock flag.
Get rid of magic masks in cluster locking code.
Get rid of magic masks in cluster locking code - clvmd part.
Allow implicit "convert" to the same lock mode.
Allow implicit lock conversion for pre/post callbacks.
Never ever use distributed lock for LV in non-clustered VG.
Add memlock information to do_lock_lv debug output.
Allow manipulation with precommited metadata even when a PV is missing.
Fix missing include.
Use more descriptive variable name for temporary layer lv.
Call explicitly suspend for temporary mirror layer.
Remove missing flag if PV reappeared and is empty.
Drop metadata cache after device was autorepaired and removed from VG.
Explicitly use non-clustered vgcreate in test.
Fix previous vgcreate commit to not call unpaired unlock.
Resume volumes in reverse order to preserve memlock pairing.
Do not set precommitted flag in cache when precommitted metadata does not exist.
Properly decode flags even for VG locks.
Move processing of VG locks to separate function (similar to LV locks).
Add possibility to handle precommitted metadata in lvmcache.
Proper mask lock mode for vg lock.
Propagate commit and revert metadata event to other nodes in cluster.
Use fixed buffer to prevent stack overflow in persistent filter dump.
Remove empty "repaired" devices if empty in lvconvert.
Rename mirror_device_fault_policy to mirror_image_fault policy
Fix clvmd automatic target module loading crash.
Never scan suspended devices in clvmd.
Move error message to locking constructor and print
Fix exported symbols for lvm2 dmeventd wrapper.
Fix syslog prefix in the first message (dmeventd->lvm).
Switch memory debugging off for now if compiled with dmeventd,
Document undocumented commits which fixed some bugs.
Fix syntax error in cmirror init script
Fix return code of info callbacks.
Unlock shared lock if activation calls failed.
Add some missing vg_revrts calls when pvmove aborts.
Always query device by using uuid only and not name in clvmd.
Fix pvmove abort when temporary mirror fails to be cluster-aware.
Always query device by uuid only.
Remove lvs_in_vg_activated_by_uuid_only call.
Add --showkeys parameter description into dmsetup man page.
Add --help dmsetup option as the synonym for help command.
Fix clvmd Makefile to not overwrite LIBS from template definition
Fix pvcreate device check.
Disable long living process flag in lvm2app.
Use hash table for quick lv reference when reading metadata.
Remove vg_validate call when parsing cached metadata.
Optimise PV segments search.
Do not traverse PV segment list twice.
Fix all segments memory is allocated from vg private mempool.
Always use blocking lock for VGs and orphan locks.
Wipe dm-ioctl parameters in memory after use.
Mask LCK_HOLD flag in cluster VG locks for compatibility reasons.
Remove -n argument from vgcfgrestore.
Currently if clvmd is running and user issues vgscan,
Do not print encryption key in message debug output.
Skip also special lvm devices in scan (if ignore suspended is used).
Fix device_is_usable to properly detect only internal LV names.
Fix empty layer detection is scan devices.
Another one internal device layer fix...
Replace lvm.conf instead of truncating it.
Use mv -f for replace config in test.
Fix topology test after last changes to not leak loop devices.
Require partial option in lvchange --refresh for partials LVs.
Fix clvmd initscript restart command to start clvmd if not yet running.
Fix restart of clvmd using -S switch
Fix segfault in clvmd -R if no response from daemon received.
Remove C++ private keyword from headers.
Fix lvm2cmd example in documentation.
Clean up cluster lock mode and flags definition.
Fix exit code when requesting help using documented -o help option.
Let running clvmd process time to reexec.
Use flexible data[] in cmirrord request to prevent abort in runtime size checks.
Fix "allocated" warning typo.
Fix clvmd init script status
Fix vgremove to allow removal of VG with missing PVs. (2.02.52)
Remove superfluous suspended device counter from clvmd.
Fix another segfault in clvmd -R if no response from daemon received.
Change the pvcreate swap/md logic
Remove assumption that --yes must be used only in --force mode
Fix file descriptor leak in swap signature detection
Detect LUKS signature in pvcreate
Fix wrong use of LCK_WRITE
Fix pvmove --abort to work even for empty pvmove LV
Fix pvmove --abort <dev> return code
Update configure after last change.
Fix timestamp.
Fix return type qualifier to avoid compiler warning.
Fix previous const removal.
Currently tests require SI units enabled and data alignment to 1MiB.
Do not run singlenode clvmd tests if support for singlenode not compiled in.
Fix handling of partial VG for lvm1 format metadata
Restrict lvm1 partial mode.
Try to detect fail in clvmd startup in tests.
Update configure.
Fix wrongly paired unlocking of global lock in pvchange. (2.02.66)
Add -f (don't fork) option to clvmd and fix clvmd -d<num> description.
Remove DEBUGLOG from dmeventd.
In some versions (RHEL6) dlm_create_lockspace() always
If other process finishes (or aborts) pvmove operation and
Suport DM_SECURE_DATA_FLAG.
Rephrase backup message.
Fix some compile warnings on RHEL5
Fix tests if udevadm missing (old udev).
Rather return success if skipping udev wait.
Fix test to use explicit /dev/mapper/ node, /proc/mounts should not change this...
Use 64bit unsigned value for maximum stripe size test.
PE size overflows, on most architectures it is catch by "PE cannot be 0"
Increase check timeout again.
Fix syslog initialisation in clvmd to respect lvm.conf setting.
Fix test, "echo n" is not needed when -y is specified.
Wait until dmeventd properly starts in test.
Make the lock test a little bit better...
Move secure flag warning to verbose level.
Fix hardcoded page size, fixing test fails with 8k page and new kernel.
Fix test for 8k page (fails on Sparc architecture).
Fix clvmd return code for bad options.
Fix dmsetup man page typo (John Bradshaw)
Mitigate some warnings if running as non-root user.
Use /var/run/lvm for lvmetad socket.
Always use append to file in lvmdump (selinux policy - no file truncation).
Use append but except query for dlm locks:-)
Fix topology test.
Accept kernel version 3 (3.0-rc and similar).
Fix another occurrence of linux kernel version check.
Fix kernel version parsing in tests, use common function.
Fix extent rounding for striped segments.
Validate mirror segments size
Fix mirrored stripe reduction.
Fix kernel version test (RHEL: 2.6.32-123).
Fix lvreduce stripe rounding up from previous commit.
Fail allocation if number of extents not divisible by area count
Try to force remove dm devices in after test fails.
Fix warning for pvcreate over MD linear.
Remove obsoleted GULM clvmd cluster locking support.
Initialise clvmd locks before lvm context to avoid open descriptor leaks.
If anything bad happens and unlocking fails
Never ever use uninitialised descriptors if pipe() fails
Fix build of raid without dmeventd.
Remove dev name prefix from dmsetup line output if major and minor is used.
Do not remove makefile during "make clean".
Activate virtual snapshot origin exclusively (only on local node in cluster).
Fix vgchange activation of snapshot with virtual origin.
Fix possible overflow of size if %FREE or %VG is used.
Disable t-lvcreate-large.sh for now with cluster.
Fix clvmd processing of invalid request on local socket. (rommer)
Always sent the whole command header in restart/reload clvmd commands.
Fix alignment warning in bitcount calculation for raid segment.
Do not scan device if it is part of active multipath.
Fix function name in previous patch.
And now add files for real.
Remove unneeded parameter.
Fix major number filter structure boundary test.
Switch locking bits to match RHEL5 version.
Fix FIXME and comment :-)
Properly show LV removal message.
Update autoconf.
Remove some whitespaces.
Remove some whitespaces.
Fix pvmove if LV is activated exclusively but cmirror is not running.
Remove unused and wrongly set cluster VG flag from clvmd lock query command.
Use new flag PVMOVE_EXCLUSIVE in update_metatada call.
Do not allow pvmove if some affected LVs are activated
Keep exclusive activation in pvmove if LV is already active.
Also skip pvmove for remotely active LVs.
Fail early if cmirror is not detected and pvmove requires it.
There is no hotsname_tags but only hosttags... sigh, even docs is wrong :-)
Fix exclusive lvmchange -aey to fail if volume is active on different node.
Avoid closing clvmd socket twice.
Patrick Caulfield (151):
Set DEFAULT_ALIGNMENT to 8 for Alpha.
Fix includes so that string functions get prototyped.
Fix includes so that string functions get prototyped
Don't store things in _devs[-1] - it's not nice.
lc->in->f_op->read expects its buffer to be in userspace so surround it in
Don't include asm/* files
Fix prototype for malloc_aux
#include <string.h> for memset
define FMT_64 to be the right format string for 64-bit types a la GFS
Use FMT_64 to format 64bit types
Use POSIX defined PRIu64 for formatting 64 bit unsigned integer types
Do substitution on LIBS so that those platforms that need -lncurses as well as
Fix format characters for printing size_ts
size_ts aren't really pointers but there are no format specifiers for them,
Don't need EXTRA_LIBS as autoconf fills in LIBS for us with all that is needed.
file clvm.h was initially added on branch CLUSTER_TAG.
file cmgr.c was initially added on branch CLUSTER_TAG.
file cmgr.h was initially added on branch CLUSTER_TAG.
Add a dev_get_sectsize call.
Label reading/writing code.
Fix label filter.
- Change label format to include a string disk_type and a version number.
Use a proper CRC calculation.
Build label code into the library
made the hard-coded 512 into BLOCK_SIZE just for neatness sake.
Write the location of both labels in the labels so we can check them. I don't
do
Wipe the first label if writing the second one failed.
Change lvm2_label to use Joe's new label switch system.
Couple of typos fixed.
#include <string.h>
Fixx OB1 error in max LV and max PV numbers
use portable <inttypes.h> macros for printing.
Fill in format_text functions.
Fix _align so it works on 64-bit machines.
Make lock type numbers match the DLM numbers in use, and move UNLOCK out
Fix prototype.
Implement an external locking interface.
Remove
from log messages.
Return status from _lv_activate and friends.
Rename device node during a DM_RENAME command.
More memory leak plugging.
add setlocale() call so that localisation of things like number entry
Add features to get table/status & wait for next event.
Get rid of compile warnings on 64bit platforms.
Flush on open as well as close.
Don't log an error if we can't write the cache file because the FS is
read-only.
Use O_DIRECT for writing to devices.
Rename lock_resource to file_lock_resource to avoid name clashes
Remove O_DIRECT as it causes problems with some systems.
Make sure errors reach syslog().
Updated file from cman.
clvmd man page.
Fix man page for lvchange. The example seems to have been lifted from pvchange.
Put some locking round the LV hash table as it could be accessed by
Don't use hold_lock for VG locks as that doesn't stop processes contending
Make the thread handling a little less cavalier. In particular, calling
Update WHATS_NEW with latest clvmd change
Keep client locks (VG locks usually) in their own hash table so
Remove spurious trailing dot in man page.
Hold VG lock while doing vgremove.
Fork a little later in the startup sequence so that we can return
Make clvmd cope with large gaps in nodeIDs
Check the UUID length when readingthe output of the "lvs" command at
startup.
Change some perror() calls to log_error() so they'll appear in
Revert the fork back to where it was as it seems to confuse pthreads.
Make clvmd -V display the lvm version number too rather than just
Can now build a gulm version of clvmd instead of a cman one. use
Report detailed errors in cluster initialisation to syslog, and point the user
Tidy the socket callbacks so that all the work is done outside the
Make clvmd_fix_conf.sh UNDOable
Use new CCS key names for nodes in the GULM version of clvmd.
Typo in "for" caused first node in ccs to be ignored.
Improve clvmd failure message if it's already running.
Some more gulm fixes from "Mr gulm" himself.
Fix off-by-one error in cluster_locking that could case read hangs.
You can now build clvmd with cman & gulm support in the same binary.
Fix clvmd startup bug introduced in cman/gulm amalgamation. bz#145729
Get rid of libclvm as it's out-of-date and not used at all.
Make clvmd announce it's startup and cluster connection in syslog.
Remove superflous &
Don't print CMAN error if initial probe fails - we could be running with GULM.
Get rid of "connection refused" message because Corey doesn't like
it.
Make clvmd do a quick sanity check on the clustering bits of lvm.conf
Make clvmd use the command library rather than popen() to
Revert last clvmd patch. More testing reveals that this just doesn't
Fix thread shutdown race which could cause clvmd to hang in pthread_join.
Make config check a little more tolerant of library names.
Fix gulm->errno error number conversion.
Cope with more than one message arriving at the TCP socket, also
Always manipulate both locks in sync_lock() otherwise they get left
./configure --enable-debug now enables debugging code in clvmd
Fix clvmd-gulm node up/down code so it actually works.
make clvmd FDs close-on-exec, to avoid warnings when running lvm via popen.
Don't take out the lvm_thread_lock at startup - it only protects the jobs list.
Don't allow user operations to start until the lvm thread is fully up.
set SO_KEEPALIVE on sockets
Make clvmd work around some "limitations" in gulm's node state
notifications.
Tidy clvmd's SIGHUP handler so it doesn't do all that work.
Be a bit smarter about reading stuff from the sockets
Don't defer closing of FDs in clvmd as it can cause trouble.
Log an error if clvmd can't resolve a host name got from CCS
Don't send a signal to kill threads that are idling nicely as it upsets them.
clvmd no longer takes out locks for non-clusteed LVs,
Use hash functions in libdevmapper.
Make it compile with debug enabled.
Get clvmd to use libcman rather than cman ioctl calls. This makes
Make sure it compiles if gulm is NOT selected AND using an old libcman.h
allow new cman to shutdown on request.
Add needed include.
Fix "Unaligned access" when using clvm
Add needed new parameter to create_toolcontext().
Stop clvmd complaining about nodes that have left the cluster
Add -R switch to clvmd.
Update man page for clvmd -R
Make clvmd restart init script wait until clvmd has died before starting it.
Vastly improve the errors returned to the user from clvmd.
Fix clvmd bug that could cause it to die when a node with a long name crashed.
Use strncpy rather than strcpy
Add clvmd call to return the cluster name.
Don't allow a node to remove an LV that's exclusively active on anther
node.
Add note to lvremove man page: volumes must be inactive on
Add -T (startup timeout) switch to clvmd
Add timeout to RHEL4 clvmd init script.
Always compile debug logging into clvmd as it's too useful to
Fix hang in clvmd if a pre-command failed. The pre/post thread was getting
Fix gulm operation of clvmd. including a hang when attempting to
Add manpage reference for clvmd -T that got missed out when I
Flag nolocking as a clustered locking module as we need to be able
Add some extra error checking & robustness.
Make clvmd cope with quorum devices in RHEL5
Fix thread race in clvmd.
Add some more debuglogs to clvmd startup.
Misc clvmd cleanups from Jim Meyering
Add *Experimental* OpenAIS support to clvmd.
Remove system LV code from clvmd. It's never been used and never should be
Remove system-lv.[ch]
Use cpg_local_get() rather then Clm to get the local nodeid.
Tidy bits of clvmd-openais and improve an error report.
Add SUN's LDOM virtual block device to filters
Add more cluster/clvmd information to lvmdump
Allow clvmd debug to be turned on in a running daemon using clvmd -d
Call init_full_scan_done() when refreshing the cache. This should fix clvmd -R.
Force a device scan after init_full_scan_done() per agk.
Locking P_global causes a cache refresh.
Fix clvmd logging so you can get lvm-level debugging out of it.
Make it compile with new lv_info_by_lvid() prototype
If the pre_command fails then go back and wait patiently for the next
When we unlock a VG tell the clvmds to see if a backup of the metadata needs
Tidy the clvmd backup code.
Remove redundant cnxman-socket.h file.
Update usage message for clvmd.
Peter Rajnoha (504):
Added displayable_lvs_in_vg and lv_is_displayable functions to deal with
Fix vgrename using UUID in case there are VGs with the same name.
Fix incorrect return value in help function.
Add "--refresh" functionality to vgchange and vgmknodes.
Add "--refresh" functionality to vgchange and vgmknodes.
Add checks for device names in dmsetup and show proper error messages.
Fix segfault when using -U, -G and -M options in dmsetup.
Fix wrong arg in lv_is_virtual_origin call while creating snapshots.
Fix a typo in udev rule (splitname, NOT namesplit)
'--noudevsync' -- update relevant man pages
Add --noudevsync option for relevant LVM tools.
Add --noudevsync option for relevant LVM tools.
Forgotten '%s' in one of _mk_link warning messages.
Detect udev problems in _rename_dev_node.
Fix failure situations in dm_task_run for udev sync.
Add 'udevcomplete_all' command for dmsetup. Export DM_COOKIE_MAGIC in
libdevmapper.h.
Add 'udevcookies' command for dmsetup.
Rename template rule file 11-dm-permissions.rules to 12-dm-permissions.rules.
Remove 11-dm-permissions.rules (is now in 12-dm-permissions.rules).
Fix semaphore includes in dmsetup for udev sync.
Use new blkid instead of vol_id in udev rules.
Fix Makefile to take into account dmsetup's reconfiguration.
Add y|--yes option for dmsetup to provide a default 'YES' answer to
questions.
Add libudev configuration check.
Check that udev is running and set internal state appropriately.
Add one define that is necessary for older (experimental) libudev to work.
Several changes in udev rules:
Add manpage entry for dmsetup's udevcomplete_all and udevcookies commands.
Move dm_cookie_supported check into dm_udev_get_sync_supprt function.
Add some advisory comments for users in 12-dm-permissions.rules.
Add more hints in 12-dm-permissions.rules. Add 'dmsetup splitname' and
'y|--yes' to dmsetup manpage.
Use the same default umask for /dev dirs (DM_DEV_DIR_UMASK).
Just a cleanup from previous commit. We don't need pvname local var in
_activate_lvs_in_vg anymore...
Add udev flags support in libdevmapper and provide 'dmsetup udevflags'
command to decode them.
Use udev flags support in LVM and provide dm_tree_add_new_dev_with_udev_flags
wrapper for dm_tree_add_new_dev.
Use udev flags in the rules and cleanup the rules:
Add manpage entry for dmsetup udevflags.
Rename 11-lvm.rules to 11-dm-lvm.rules and 12-dm-disk.rules to 13-dm-disk.rules.
Several changes to udev support code:
Cleanup of previous commit with latest changes in udev support code.
More cleanup in udev rules:
Remove 'last_rule' from udev rules.
Support udev flags even when udev_sync is disabled or not compiled in.
Give better message for pvmove when all data on source PV is skipped.
WHATS_NEW for previous commit.
Disable udev rules on change event with DISK_RO=1.
Add --noudevrules option for dmsetup to disable /dev node management by udev.
Add activation/udev_rules config option in lvm.conf.
Always set environment variables for an LVM2 device in 11-dm-lvm.rules.
Add support to disable udev checking: DM_UDEV_DISABLE_CHECKING=1 env. variable.
Add support to disable udev checking: LVM_UDEV_DISABLE_CHECKING=1 env. var.
Enable udev_sync and udev_rules in lvm.conf by default while running tests.
Define {DM, LVM}_UDEV_DISABLE_CHECKING=1 env. variables for tests.
Show a warning message when libudev not found and we're using
--enable-udev_sync.
Substitute UDEV_SYNC value for use in the other files and show a warning message
when libudev not found and using udev_sync.
This is related to liblvm and its lvm_list_vg_names() and lvm_list_vg_uuids()
functions
Rename "stat" to "status" in dmeventd_snapshot.c.
Several changes in dmsetup and libdevmapper:
Don't use LVM_UDEV_DISABLE_CHECKING environment variable anymore.
Use udev transactions in testsuite.
Update man page for dmsetup: --udevcookie, udevcreatecookie and udevreleasecookie.
Remove hard-coded rule to skip _mimage devices in 11-dm-lvm.rules.
Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable to suppress error
Add support for ioctl's DM_UEVENT_GENERATED_FLAG.
Strictly require libudev if udev_sync is used.
Autoreconf.
Export and use only valid cookie value in test suite.
UDEV_SYNC_SUPPORT, not UDEV_SYNC!
Use UUIDs instead of names while processing event handlers.
Allow VGs with active LVs to be renamed.
Do not reset position in metadata ring buffer on vgrename and vgcfgrestore.
Set appropriate udev flags for reserved LVs.
Also include udev libs in libdevmapper.pc when udev_sync is enabled.
Add support for new IMPORT{db} udev rule.
Don't run any complex initialisation for the "version" lvm2 command.
And be consistent with return code as well (previous commit).
Synchronize "remove" dm task while reverting unsuccessful
"create" dm task
Specify exactly which ioctl doesn't have a cookie set (for better debugging).
Add new --sysinit option for vgchange and lvchange.
Use expected union semun for arguments in selected semaphore operations.
Fix incorrect memory pool deallocation while using vg_read for files.
Add support for dm-mod module autoload.
Use early udev synchronisation and update of dev nodes for clustered mirrors.
Fix udev rules to handle spurious events properly.
Use "nowatch" udev rule for known inappropriate devices.
Add more verbose messages while checking volume_list and hosttags settings.
Addendum for previous patch - show VG/LV name everywhere so the messages
Revert unsuccessful table load preparation in combined "create, load and
resume" scenario.
Add check for kernel semaphore support and disable udev_sync if not available.
Use built-in rules for device aliases: block/ < dm- < disk/ < mapper/ <
other.
Recognise and give preference to md device partitions (blkext major).
WHATS_NEW_DM
Reinstate detection of inappropriate uevent with DISK_RO set and suppress it.
Fix udev rules to support udev database content generated by older rules.
dm-mod autoloading support is in kernel 2.6.36 actually.
WHATS_NEW_DM
Fix dm-mod autoloading logic to not assume control node is set correctly.
Reinitialize archive and backup handling on toolcontext refresh.
Add random suffix to archive file names to prevent races when being created.
Use dynamic allocation for metadata's tag buffer (removes 4096 char. limit).
Revert to old glibc behaviour for vsnprintf used in emit_to_buffer function.
"goto_bad" should be used in alloc_printed_tags function, not "goto
bad".
Add escape sequence for ':' and '@' found in device names used as
PVs.
Fix memory leak of vg_read while using live copies of metadata in directories.
Allocate buffer for reporting functions dynamically to support long outputs.
Use dm_strdup/dm_free instead of strdup/free.
Clarify error messages when activation fails due to activation filter use.
WHATS_NEW FIXME
Add new dm_prepare_selinux_context fn to libdevmapper and use it throughout.
Create /var/run/lvm directory during clvmd initialisation if missing.
Missing #elif HAVE_SELINUX
#ifdef HAVE_SELINUX and #ifdef HAVE_SELINUX_LABEL_H
HAVE_SELINUX again
Export DM_CONTROL_NODE_UMASK and use it while creating /dev/mapper/control.
Set DM_UDEV_DISABLE_OTHER_RULES_FLAG for suspended DM devices in udev rules.
Add a debug message when uevent is not generated and we call udev_complete
internally.
Change and generalise struct format_instance for PV and VG use.
Change create_instance to create PV-based as well as VG-based format instances.
Change the code throughout for recent changes in format_instance handling.
Add vg_set_fid function to change VG format instance.
Initialise a new PV-based format instance for a PV that is being created.
Add format instance support for pv_read code.
Remove useless mdas parameter for pv_read (from now on, we store mdas in a
Add new pv_add_metadata_area interface function.
Add new pv_remove_metadata_area interface function.
Separate new pv_initialise function out of the original pv_setup code.
Change the code throughout to use new pv_initialise and modified pv_setup fn.
Remove unused _mda_setup fn. This functionality is covered by new
pv_add_metadata_area fn.
Change pv_write code to work with the changes in metadata handling interface
Change pvresize code to work with new metadata handling interface and allow
Fix vgconvert code to work with changes in metadata area handling and changes
Add old_uuid field to struct physical_volume so we can still reference a PV
Fix metadata balance code to work with recent changes in metadata handling
Temporarily disable 'convert a VG from lvm2 to lvm1 format' test until a
known issue is resolved.
WHATS_NEW
%ld -> PRIu64
Remove a few size_t type warnings.
Fix a bug in metadata location calculation, cleanup pv_add_metadata_area fn.
Read PV metadata information from cache if pv_setup called with pv->fid ==
vg->fid.
Revert the patch for vgconvert to work with recent changes in metadata area
handling.
Allow only orphan PVs to be resized even with two metadata areas.
vgconvert is fixed now to work with the changes in metadata area handling - enable
the tests.
Allow non-orphan PVs with two metadata areas to be resized.
Use pv->vg_name directly instead of pv->vg->name in _text_pv_write.
Add a hint for manual revert if there's an error in pv_write, vg_write,
vg_commit for pvresize.
Make add_metadata_area_to_pv/remove_metadata_area_from_pv static.
Use a copy if moving an mda from pv fid to vg fid.
Lower severity of selabel_lookup and matchpathcon failure to log_debug.
Use new alloc_fid fn for common format instance initialisation.
Add mem and ref_count fields to struct format_instance for own mempool use.
Make create_text_context fn static and move it inside create_instance fn.
Use only vg_set_fid and new pv_set_fid fn to assign the format instance.
Add new free_pv_fid fn and use it throughout to free all attached fids.
Call destroy_instance for any PVs found in VG structure during vg_free call.
Various cleanups for fid mem and ref_count changes.
Use format instance mempool where possible and adequate.
Remove compile warning for lock_id.
Finalize PV format instances properly in lvm_vg_write fn.
Cleanup fid finalization code in free_vg and allow exactly the same fid to be set
again for a PV/VG.
Require libudev >= 143 when compiling with udev support.
Move common libudev code to lvm-wrappers.[ch].
Obtain device list from udev by default if LVM2 is compiled with udev support.
Use common udev_get_dev_dir() to get current device directory managed by udev.
autoreconf
Uncomment obtain_device_list_from_udev setting in lvm.conf.
Do not issue an error message when unable to remove .cache on read-only fs.
Use new dev_open_readonly fn to prevent opening devices for read-write when not
necessary.
Clarify error message when unable to convert an LV into a snapshot of an LV.
Fix a few compile warnings.
Fix create_temp_name to replace any '/' found in the hostname with
'?'.
Add proper udev library context initialization and finalization to liblvm.
Disable udev fallback by default and add activation/udev_fallback to lvm.conf.
Disable udev fallback and add --udevfallback option to dmsetup.
Add check for library fallback in _deactivate_node.
Add systemd unit files for dmeventd.
Configure and makefile changes for newly added systemd unit files.
autoreconf
Add support for new oom killer adjustment interface (oom_score_adj).
Add support for systemd file descriptor handover in dmeventd.
Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used even without any config.
Remove unused 'origin' variable in lv_remove_single function.
Suppress low-level locking errors and warnings while using --sysinit.
Suppress locking error messages in monitoring init scripts.
Fix possible format instance memory leaks and premature releases in _vg_read.
Directly allocate buffer memory in a pvck scan instead of using a mempool.
Retry DM_DEVICE_REMOVE ioctl if device is busy.
Add dm_task_retry_remove fn to use retry logic for device removal.
Add --retry option for dmsetup remove to retry removal if not successful.
Add dm_set_sysfs_dir to libdevmapper to set sysfs location.
Add dm_device_has_holders fn to to check use of the device by another device.
Replace open_count check with holders/mounted_fs check on lvremove path.
Add dm_tree_retry_remove to use retry logic for device removal in a dm_tree.
Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV.
Initialize 'retryable' variable.
readlink does not append a null byte to the output string!
Add log_error even for general device in use when we can't do the sysfs checks.
Add "ExecReload" to dm-event.service for systemd to reload dmeventd
properly.
Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag
(2.02.86).
--addtag instead of --tag
Fix last checkin for replicator.
Fix lvm2-monitor init script to use normalized output when using vgs.
Use also normalized output for vgchange command in lvm2-monitor init script.
Add dm_device_get_name to get map name or block device name for given devno.
Support different device name types on output of dmsetup deps, ls and info -c
command.
Missing const.
Move dm_task_set_newname from libdm-iface.c to libdm-common.c
Clean up systemd unit ordering and requirements.
Stop processing lvextend if trying to extend a mirror that is being recovered.
Add configure --with-systemdsystemunitdir.
Superfluous '/' in systemd_dir path.
Add configure --with-default-name-mangling.
autoreconf
Mangle device name on dm_task_set_name/newname call if necessary.
Add DEV_NAME macro.
Add dm_task_get_name_mangled/unmangled to libdevmapper.
Unamngle dm device name list automatically on ioctl return.
Add --manglename option to dmsetup to select the name mangling mode.
Add 'mangled_name' and 'unmangled_name' fields to dmsetup info -c
-o.
Add mangle command to dmsetup to provide renaming to correct mangled form.
Replace any '\' char with '\' in table specification on input.
Add DM_DEFAULT_NAME_MANGLING_MODE env. variable to override configured value.
Add dmsetup manpage entries for mangle command and --manglename option.
Fix segfault in dmsetup when using table specification with --table.
Add watch rule to 13-dm-disk.rules.
typo
Switch to using built-in blkid in 13-dm-disk.rules.
Check whether udev supports built-in blkid.
Call built-in blkid conditionaly (udev version >= 176), call standard blkid
Add configure --with-tmpfilesdir and lvm2 tmpfiles.d configuration file itself.
Add lvm2 tmpfiles.d configuration file.
Clean intermediate files.
Install lvm2 monitoring init script and systemd units only if dmeventd is built.
Add LVMetaD systemd units.
Use DEFAULT_RUN_DIR instead of hardcoded value in lvmetad systemd units
Remove the old systemd socket file, we're using the .in template now.
Use 'd' instead of 'D' in tmpfiles configuration to not overwrite
any existing directory.
Add skeleton for lvmetad udev rules - 69-dm-lvm-metad.rules.
Add LVMetaD init script.
The daemon as well as the first scan must be both executed properly, otherwise
it's an error!
Use '-p PID_FILE' for the status call since the pidfile is in its own lvm
subdir and return proper status code.
Also remove intermediate lvmetad init script file.
Use 'killproc' fn in lvmetad init script (fn provided by 'functions'
init script library).
Systemd is linux-specific - move the supporting code under the 'ifdef
linux'.
lvmetad.socket
Fix dm_task_set_name to properly resolve path to dm name.
Add support for systemd socket handover for common daemon-server code and also add
support for new OOM killer adjustment interface.
LVMetaD socket operates in non-blocking mode.
Clean up internal mangling interface.
Check whether device names are properly mangled on ioctl return.
Fix dm_task_get_name_unmangled to not unmangle already unmangled name.
Check for multiple mangled names in auto mangling mode.
Add test for name mangling functionality.
Use already acquired variable...
Add 'Restart: on-abort' for lvmetad systemd service.
Do not unlink the socket on daemon shutdown if activation is done via systemd.
Detect the lvm binary path in lvmetad udev rules.
Do not run a new dmeventd instance on restart if there's no existing one.
WHATS_NEW
Use SD_ACTIVATION env. var. in systemd units to better detect systemd in use.
Remove dmeventd fifos on exit if they are not managed by systemd.
Use pvscan --cache instead of vgscan in lvmetad init script and systemd unit.
Do exit if LISTEN_PID environment variable not correct during systemd handover.
Add 'vgscan --cache' functionality for consistency with 'pvscan
--cache'.
Fix tests to work with vgscan --cache fixing inconsistent metadata.
Detect VG name being part of the LV name in lvconvert --splitmirrors -n.
WHATS_NEW
Check if info struct returned is not NULL.
strcpy -> strncpy in common daemon code.
Change message severity to log_very_verbose for missing dev info in udev db.
Add udev info and context to lvmdump.
Rename (Blk)DevNames header to (Blk)DevNamesUsed in dmsetup info -c output.
Also rename DevNos header to DevNosUsed in dmsetup info -c output.
WHATS_NEW
Use dm_strncpy instead of plain strncpy while setting the socket path.
Fix division by zero if PV with zero PE count is used during vgcfgrestore.
Remove VG/PV used in the test.
Comment on auxiliary metadata areas.
More comments on metadata area types.
Re-enable tests for snapshots of mirrors.
Partial activation working, expect success in tests.
Remove unsupported udev_get_dev_path libudev call used for checking udev dir.
systemd: Add Documentation references
dev-io: open device read-only to obtain readahead value
configure: run directory configuration cleanup
udev: udev rules cleanup
configure: autoreconf
args: add --activate synonym for --available arg
activate: add autoactivation hooks
vgchange: add --activate ay option (autoactivate)
pvscan: add --activate ay option (autoactivate)
lvchange: add --activate ay (autoactivate)
lvcreate: add --activate ay (autoactivate)
conf: add activation/auto_activation_volume_list
initscript: call vgchange -aay instead of -aly
cleanup: static volume filter fn, lvm.conf comment
man: --activate ay and auto_activation_volume_list
systemd: add doc reference in dm-event.socket
activate: skip manual activation for --sysinit -aay
lvconvert: count % upwards when merging a snapshot
conf: add a comment about obsolete .cache file
configure: default tmpfile dir in PREFIX/lib/tmpfiles.d
daemon-server: fix error message on daemon shutdown
config: fix one-node dumpconfig, add dm_config_write_one_node
locking: clarify read-only locking error message
locking: clarify read-only locking error message v2
systemd: ensure monitoring is handled after lvmetad
lvm2app: add lvm_config_find_bool function
systemd: add lvm2 activation generator
systemd: integrate lvm2 activation generator with conf+make
make: use proper libs to make scripts subdir
systemd: O_CLOEXEC not needed in activation generator
make: fix make in scripts dir for --disable-applib
args: increase major:minor limit to 4095:1048575
mirror: reconfigure_mirror_images not used
setvbuf: reopen only valid fd
test: snapshot_extend_threshold -> snapshot_autoextend_threshold
config: require dm_config_create_value for dm_config_node's value
make: fix subdir order for distclean
vgchange: fix -aay to activate proper volumes
systemd: depend on systemd-udev-settle unit in activation unit
systemd: remove ExecStartPost from lvm2-lvmetad.service.
libdm: refactor internal mangling functions
libdm: add dm_task_get_uuid_mangled/unmangled
libdm: add mangling support for dm_task_set_uuid
libdm: add mangling support for dm_task_set_newuuid
libdm: unmangle dm UUIDs on dm ioctl return
libdm: introduce and use DEV_UUID macro
dmsetup: add mangled/unmangled_uuid to for info -c
dmsetup: also apply 'mangle' command for UUIDs
man: dmsetup mangle also processes UUIDs now
WHATS_NEW: update
libdm: remove dm dev without error even with malformed UUID
systemd: add deps to order units more properly
scripts: introduce blkdeactivate
configure: autoreconf
WHATS_NEW: update
blkdeactivate: fix long form of options
Remove pvscan --cache from lvm2-lvmetad init script.
scripts: blk-availability - use the same name for lock file
scripts: blk-availability should be stopped before FCoE
libdm: fix comments in libdevmapper.h
scripts: blk-availability - use full name for clarity
udev_sync: cookie_set=1 on each dm_task_set_cookie call
lvmetad: whats_new + more explanation for previous commit
WHATS_NEW: latest changes under libdm 1.02.78
lvmetad: warn only if use_lvmetad=1 and locking_type=3
systemd: various updates and fixes
systemd: do not remove lvm2-activation.service
systemd: remove quotes in lvm2-monitor.service ExecStop
pvscan: exit --cache immediately if locking_type=3 || use_lvmetad=0
udev: do not verify udev operations for --noudevsync
udev: recognize DM_DISABLE_UDEV environment variable
udev: _udev_disabled var visible also for !UDEV_SYNC_SUPPORT
udev: add a warning message if DM_DISABLE_UDEV set and udev running
Allow empty activation/{auto_activation|read_only|}_volume_list config option.
activation: don't miss the log on empty
{auto_activation|read_only|}_volume_list
lvconvert: do not ignore -f in lvconvert --repair -y -f
lvconvert: allow lvconvert --stripes/stripesize only with
-mirrors/--repair/--thinpool
lvmetad: fix compiler warning and add WHATS_NEW line for previous commit
lvconvert: also allow --type with --stripes
WHATS_NEW: changelog for fae1a611d2 and 5294a6f77a
activation: fix autoactivation to not trigger on each PV change
pvscan: synchronize with udev if pvscan --cache is used.
dmeventd: close dmeventd FIFO FDs on exec (add FD_CLOEXEC).
blkdeactivate: fix handling of nested mountpoints and mangled mount paths.
blkdeactivate: prevent trying to unmount the same mountpoint more times
report: fix pvs -o pv_free reporting for PVs with 0 PEs
fix: 'Couldn't read extent size' --> '... extent start'
pvcreate: fix alignment to incorporate alignment offset if PV has 0 MDAs
conf: add missing '=' for raid10_segtype_default
cleanup: add struct pvcreate_restorable_params and move relevant items from
pvcreate_params
cleanup: use struct pvcreate_restorable_params throughout
pv_header_extension: add supporting infrastructure for PV header extension (flags
& Embedding Area)
pv_header_extension: add support for reading PV header extension (flags &
Embedding Area)
pv_header_extension: add support for writing PV header extension (flags &
Embedding Area)
tools: add embeddingareasize arg to pvcreate and vgconvert
report: add reporting fields for Embedding Area start and size
man: update pvcreate/pvs/vgconvert man page to cover embedding area support
WHATS_NEW: add lines for embedding area support
lvmetad: fix to properly process embedding area
cleanup: remove struct pv_header_extension reference from struct pv_header
config: fix config node lookup inside empty sections to not return the section
itself
config: add vsn macro
config: add config_settings.h
config: add structs to represent config definition and register config_settings.h
content
config: refer to config nodes using assigned IDs
libdevmapper: add dm_config_value_is_bool function
config: add support for configuration check (config_def_check fn)
config: use config checks and add support for creating trees from config definition
(config_def_create_tree fn)
dumpconfig: add --type, --atversion and --validate arg
config: add support for enhanced config node output
dumpconfig: add --withcomments and --withversions switch
config: add comment note about advanced and unsupported config nodes
dumpconfig: add --ignoreadvanced and --ignoreunsupported switch
WHATS_NEW: add lines for config validation support
config: make DEFAULT_MAX_HISTORY unconditional
cleanup: get rid of compiler's warning about possible unitialized variable
dmsetup: fix 'splitname -o' to not fail if used without '-c'
cleanup: remove superfluous wrappers
metadata: add 'allow_orphan' arg to find_pv_by_name fn
vgextend: do not allow PV with 0 MDAs to be added while already in a VG
cleanup: remove unused 'pv_by_path' fn
WHATS_NEW: vgextend and PV with 0 MDAs
pv_write: clean up non-orphan format1 PV write
metadata: use PV's internal UNLABELLED_PV flag more consistently
config: remove typo in handling devices/write_cache_state config
udev: also autoactivate on coldplug
udev: add a few comments about variables used to recognize events
udev: fire pvscan --cache properly on CHANGE event for MD devices
toolcontext: check dm version lazily for udev_fallback setting
snapshot: fix check for snapshot-merge target presence
lvconvert: check for snapshot-merge support before merge init
WHATS_NEW: for commit 4f6c2951d6495ee335ab69da44ae2647cd341276
WHATS_NEW: bad day
refactor: rename embedding area -> bootloader area
WHATS_NEW: ea_start,ea_size -> ba_start,ba_size
dmeventd: always return success on dmevetnd -V
WHATS_NEW: return success on dmeventd -V
man: ea_start/ea_size -> ba_start/ba_size
initscripts: add pidfile reference in chkconfig header for clvmd and cmirrord
cleanup: use libdm's dm_sysfs_dir() for sysfs directory throughout
refactor: move lib/filters/device-types.h -> lib/device/device-types.h
refactor: move lib/device/device.c -> lib/device/dev-type.c
refactor: make device type recognition code common for general use
dev-type: dev_get_primary_dev fn: use dev_types and provide better return codes
filter-mpath: detect partitions of mpath components
cleanup: remove old and unused code to detect partition types
distclean: add missing items
dev-type: refine dev_get_primary_dev return codes and add more comments
man: refine lvm.conf and man page documentation for autoactivation feature
typo: lvm.conf: auto_activation_list -> auto_activation_volume_list
conf: refine lvm.conf documentation for autoactivation feature even more
dev-type: add/fix references for dev_types in non-linux case
dev-type: dev_get_primary_dev: fix ret value if dev is a partition and we used
sysfs
cleanup: clear outdated comment (TODO already done)
metadata: log_debug only when BA found in metadata
refactor: factor out common part of the code to open and read config files
config: add config_source_t type to identify configuration source
configure: add configure --with-default-profile-subdir
config: add support for loading profiles
config: add override_config_tree_from_profile fn to add the profile to a
configuration cascade
metadata: read VG/LV profile name from metadata if it exists and load it
config: add profile arg to find_config_tree_node
config: add profile arg to find_config_tree_str
config: add profile arg to find_config_tree_str_allow_empty
config: add profile arg to find_config_tree_int
config: add profile arg to find_config_tree_int64
config: add profile arg to find_config_tree_float
config: add profile arg to find_config_tree_bool
metadata: add support for storing profile name in metadata (during
vgcreate/lvcreate)
tools: add support for changing configuration profile for existing volumes
(vgchange/lvchange)
toolcontext: add a few comments for struct cmd_context and rename config_valid ->
config_initialized
config: make it possible to run several instances of configuration check at once
config: add validation for configuration profiles
lv: add lv_config_profile fn
thin: make selected thinp settings profilable
profile: strictly require profiles to be valid
conf: add separate 'conf' dir for config files
profile: add default.profile and install it
report: add vg_profile and lv_profile to report the profile attached to VG/LV
WHATS_NEW: configuration profile support
WHATS_NEW: config/profile_dir
man: document profile config and related options
man: refine doc for config profiles
config: fix timestamp comparison during merge
cleanup: cleanup dumpconfig code
config: fix use of last config check status if creating CFG_DEF_TREE_MISSING tree
config: make it possible to do a raw config tree merge
dumpconfig: add --mergedconfig option
dumpconfig: add --type profilable
dumpconfig: honour --atversion with --type profilable
config: fix unterminated strings in arrays
lvchange: backup VG after changing profile
activation: add support for skipping activation of selected LVs
tools: add --setactivationskip and --ignoreactivationskip to vgchange/lvchange
lvs: add 's(k)ip activatoin' lv_attr field
conf: add activation/auto_set_activation_skip
tests: fix tests to cope with latest changes
tests: use lvcreate -s -K for thin snapshots
WHATS_NEW: support for LV activation skip flag
man: lvs lv_attr 's(k)ip activation'
api test: remove unused variable
fix: apply profile and then get the config path + auto_set_activation not
profilable
config_settings: add comment about possible types
profile: move profile assignment to common lv_create_empty fn
systemd: generator: add lvm2-activation-net.service
dev-type: dev_get_primary_dev default error code 0, not -1
systemd: lvm2-activation-generator: use LOG_DEBUG/ERR severity for kmsg
tests: comment about pvscan --cache return value
man: pvs -o ba_start,ba_size -> pv_ba_start,pv_ba_size
lvconvert: add more checks for lvconvert --type
systemd: udevadm settle for lvm2-activation-net.service
filters: fix segfault on incorrect global_filter
tests: add profileconf fn to generate profiles
configure: autoreconf
WHATS_NEW: move line to WHATS_NEW_DM
thin: apply VG profile if creating a new thin pool
thin: chunk_size check already part of get_profilable_pool_params fn
lvmetad: fix mda offset/size overflow if >= 4g (32bit)
WHATS_NEW: previous commit
thin: fix commit e195b5227e624cb125b070b4a10e24efdab16d53
tests: add profiles.sh test
WHATS_NEW: entry for 19baf84290186a550b212260144523266350252b
workaround: gcc v4.8 on 32 bit param. passing bug when -02 opimization used
Petr Rockai (536):
Fix some memory leaks in dmeventd.
Fix the regression introduced by dmeventd leak fixes.
Allow keyboard interrupts in yes_no_prompt(). Add code to toollib.c
Make warnings go to stderr. Adds log_warn macro for that purpose,
Make warnings go to stderr. Change log_warn to that effect, log_print
Fix a possible segfault in libdevmapper-event. Thanks to Brian J. Wood
Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries quote the
Fix underquotations in lvm_dump.sh.
a) use dmsetup version to check for dmsetup, but if it fails, set
Fix a possible double-free in libdevmapper-event.
Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs.
Add snapshot dmeventd library (enables dmeventd snapshot monitoring).
Amend previous commit. * does not match .files...
Print warning when lvm tools are running as non-root.
Fix dmeventd regression where mirror and snapshot monitoring libraries
Add #include <signal.h> to dmeventd.c, fixes compilation on NetBSD.
Add "flags" metadata field (akin to "status") for
backward-compatible flags.
Fix gcc warnings.
Import new test utilities and a test harness.
Export testlib_cleanup_ from test-lib.sh, which is needed for test-utils.sh to
Update a bunch of tests to use functionality from test-utils.sh.
Add a simple test for partial activation.
Add a test for reappearing lost PVs causing endless metadata correction
Update test/Makefile.in to use the new harness for calling tests.
Convert t-pvremove-usage to use the new test-utils.sh.
Convert t-vgsplit-usage.sh to use the new test-utils.sh. Original conversion by
Port over t-vgreduce-usage. Should fix testsuite hangs where pvremove -ff would
More test conversions, all of these are by jstava.
Fix a syntax error in one of the scripts, introduced by last commit.
Conversion of t-vgsplit-operation.sh by jstava.
Fix [ a = b ] usage in t-vgsplit-operation: string comparison is '=', not
'=='.
Improve harness.sh output: also mention failing test's name near the end of its
Cosmetic: get rid of trailing garbage on comments in t-vgslpit-usage.sh.
Make harness.sh exit with non-zero status when tests fail.
More test conversions by jstava. Make check still passes.
Add a workaround for missing `losetup -s` by jstava, and a print a stacktrace
Conversion of last 2 tests to use test-utils.sh, by jstava.
Re-indent test-utils.sh consistently, using tabs.
Use $(abs_top_builddir) instead of @DMDIR@ and update paths appropriately.
Also report the tests that have been skipped, at the end of harness.sh.
Fix typo.
Set LD_LIBRARY_PATH in init.sh, as it is required to run dmsetup now as well,
Explicitly check after lvremove -ff vg that it did its job. By jstava.
Use separate locking directory for each of the tests, as they never share a
Add bz186013 check -- lvcreate rejects an invalid regionsize (jstava).
bz429342 lvcreate --nosync
add bz264241 check
Minor code and documentation cleanups and changes by jstava.
Fix t-pool-labels to pass again after the vgdisplay error return fix from
Include libdm in lcov reports.
Import a bunch of new tests by jstava. Mostly everything pass, they however
Add a bunch of sub-tests aimed at testing various bugzillas, by jstava.
Document current state of inconsistent metadata behaviour of a few commands in
Fix some checks in lvm-utils.sh. Note that "$(test ...)" is always empty,
since
A C implementation of "not" that handles fatal signals rather more
Re-implement the test harness in C. This lets us pass through signals and
Only fail when tests have failed, but not when they have been just skipped.
Fix test output collection in harness.c.
In testsuite's not.c, print a notice when program dies of a fatal signal.
Detect and wipe swap signatures in pvcreate.
Some extra (paranoid) checks on dev_is_{md,swap} result.
Missed file from previous checkin.
Do not include MISSING_PVs in allocation maps.
A more thorough PV equality test (that also copes better with MISSING_PVs) in
Refuse adding missing PVs in create_pv_list in toollib when allocatable_only is
Implement, test and document (first iteration of) lvconvert --repair.
Avoid scanning non-PV devices in functional tests, otherwise lvconvert --repair
Update WHATS_NEW wrt a recent patch.
Complain when lvconvert --repair is used on non-mirror LV.
Allow metadata correction even when PVs are missing.
- Ignore suspended devices during repair (Milan).
Get rid of the mdadm presence check in t-000-basic: no actual test uses
Refuse to open VG with MISSING_PVs for update unless handles_missing_pvs is set.
Take just a read lock when activating in lvchange.
Remove lockingfailed().
Port process_each_pv to new vg_read.
Fix bad prototype from previous checkin.
Un-export vg_read_internal.
Fix warning.
Update synopsis in lvconvert manpage to mention --repair.
Allow LV suspend while --ignorelockingfailure is in force.
Add test for RHBZ 481793 (passing, thanks to vg_read changes checked in
Slightly refactor mirror log conversions in lvconvert.
Make lvconvert honour log mirror options combined with downconversion.
Refactor file locking, lifting the flock wrapper code into separate
Make lvchange --refresh only take a read lock on volume group.
Implement write lock prioritisation for file locking and make it default.
Do not override the distclean target in liblvm's Makefile, it annoys make and
Handle metadata with unknown segment types more gracefully.
Fix the "const discarded" warnings introduced in the unknown segment
patch.
Only announce mirror monitoring to syslog after initialisation succeeds.
Rudimentary support for running testsuite in a builddir != srcdir situation.
Issue an Internal error message whenever _memlock_count drops below 0.
Add an extra memlock_inc() to _remove_mirror_images to properly balance
Fix another bug in memlock handling, this time the "global" dmeventd
memlock
What's new.
Fix the dmeventd LD_LIBRARY_PATH in the testsuite.
Add a missing #include (fix compiler warning).
Un-export vg_read_internal.
The double resume in remove_mirror_images does not happen *always*. Only call
In case we refuse to continue due to missing PVs, print a hint about using
Add a basic test for snapshots of mirrors, thanks to Jon Brassow.
More fixes for the testsuite in the $(builddir) != $(srcdir) situation.
Fix test/api to work with srcdir != builddir.
Don't fail in the builddir == srcdir case, though. (testsuite)
The sourcedir instances of the test scripts are not PHONY.
Optionally abort on internal errors (and leverage this option in the
If aborting due to an internal error, always print the message causing this.
#define an INTERNAL_ERROR macro and use it throughout LVM.
Revert unintended change that slipped in with last checkin.
Also clean up MISSING devices in --removemissing --force in vgreduce.
Fix removal of multiple devices from a mirror (+ regression test).
Revert another unintended change that snuck in.
In lvconvert --repair --use-policies, for the allocate policies, return success
Allow vgremove of a VG with PVs missing.
Make lvconvert --repair --use-policies exit with success when no action is needed.
In testsuite, catch also failures that happen in the middle of a pipeline.
Relax a check on blkid exit value, which seems to be different in different
Add _mlog devices to dependency trees using UUID, not name, in activation.
Add infrastructure for running the functional testsuite with locking_type set
Skip locking_type 3 tests instead of failing when system-wide clvmd is running.
Run both locking_type 1 and 3 tests (forgot to uncomment locking_type 1 before
Also honour abort_on_internal_errors when log_fn is set.
When a scsi_debug modprobe fails, skip the test instead of failing it.
Enforce distinct-PV allocation of snapshot/origin pairs in vgsplit test.
Work around a problem in t-mirror-lvconvert: different PV order on the
Re-run failing tests with log/verbose=4 (-vvvv) to help with debugging.
Do not pass NULL to setenv in the test harness.
Put back the `lvconvert -m+1 --mirrorlog disk' test in t-lvconvert-mirror.sh.
Move a fragile testcase toward the end of t-mirror-lvconvert.sh.
Keep the testsuite stats correct in spite of failed-test repetition.
In test harness, use fwrite(3) in place of write(2) to avoid mixing fd-level
Refactor the test utilities, dropping the legacy test-lib.sh and curtailing
Avoid spurious skips in the testsuite due to obsoleted
Set ulimit -c to unlimited to allow coredumps to be collected and analysed in
Fix a mis-override of $PWD in test-utils.sh.
Don't forget to cd into $TESTDIR in test-utils.sh / prepare_testdir.
Do not pollute /tmp with testing byproducts.
Add a new helper script for the testsuite, that makes checking for various
Explode t-mirror-basic into a number of smaller tests.
Absorb t-mirror-lvconvert-usage into t-lvconvert-mirror.
More testsuite helpers for check.sh.
For the testsuite, set a default polling interval to 0 in lvm.conf. Cuts down
Fix t-lvcreate-usage, as lvcreate ... -i1 no longer prints "Redundant stripes
Make it easy to run just a subset of tests by saying `make check
T="regex"`.
Disable the rather-dangerous prepare_scsi_debug_dev in the testsuite.
Optionally disable the verbose repeat of a failed test (export
Fix a reversed exit status from test harness.
Process all core dumps that exist upon a test failure (this would hopefully
Add check_cluster and check_local targets in addition to just "check".
SIGTERM testing clvmd before SIGKILL-ing it.
Allow incomplete mirror restore in lvconvert --repair upon insufficient space.
What's new.
Add a "should" alongside "not" to the test utilities. When a
"should" command
Suppress duplicate error messages about read failures and missing devices.
What's new.
Add some basic provisions for automated testing of dmeventd.
Add a basic test for dmeventd triggering lvconvert --repair. Needs improvement.
Improve the "check" testing utility: slightly refactor and provide
The "should" testing utility should actually only give a warning when the
Rename t-partial-activate to t-activate-partial (more activation tests coming).
Add a test for activation in presence of missing devices. This partially covers
Revert the huge device creation in t-lvconvert-mirror and downgrade the
A fairly extensive refactor of the mirror testing code. The exhaustive
Revert the "repeat failed tests with -vvvv" feature. Instead, dump debug
logs
Bump the debug.log level from 4 to 9 (the numbering is different from verbose).
Run tests in alphabetical (and thus stable across machines) order.
Chop up the big t-lvconvert-mirror-basic loop across 4 separate test scripts
Skip t-pvcreate-operation-md if mdadm fails to create the required device.
Account for mirror transient status when doing lvconvert --repair.
t-lvconvert-repair-transient hangs on .33 and on RHEL6 kernel -> disable
Add a test of wait_for_locks behaviour (adapted from an original by Dave).
Refactor the handles_missing_pv logic in lvchange.
Minor shell style cleanup.
Maintain memlock balance in clvmd.
.
Restore the "removemissing" behaviour of lvconvert --repair
--use-policies.
.
Don't fail t-pvcreate-operation-md if mdadm is broken.
Make vgck warn about missing PVs.
Do not create a clustered volume group in t-nomda-missing.
Reduce severity of the "mirror transient status" log message (this was
never
Never scan internal LVM devices.
Update WHATS_NEW.
test-utils: Fix a slight bug in the dmeventd-already-running error message.
Add an option to skip some tests in make check (regex based, like T=): eg.
Make lvconvert respect --yes/--force in the inactive log conversion
Implement vgextend --restoremissing (BZ 537913), which makes it possible to
Add a test for vgextend --restoremissing.
Update WHATS_NEW.
Give correct error message when creating a too-small snapshot (BZ 587063)
Update WHATS_NEW.
Limit repeated accesses to broken devices.
Update WHATS_NEW.
Tweak the lvm.conf comment about devices/disable_after_error_count.
Tweak WHATS_NEW for devices/disable_after_error_count.
Add a VERBOSE option to make check (make check VERBOSE=1).
Fixes for the devices/disable_after_error_count documentation.
Implement automatic snapshot extension with dmeventd, and add two new options
Update WHATS_NEW.
Avoid an extraneous orphans unlock in vgextend --restoremissing.
Fix a deadlock in clvmd.
Revert some debug statements that slipped in with last checkin.
Implement dmeventd -R, allowing dmeventd to be restarted without losing
Add a test for BZ 509182 (vgchange --monitor y breaks with max_lv).
Reduce a (huge) timeout in t-mirror-names.
Let's rely on the exit code and do not test for empty output.
Use a more generous timeout for dmeventd in t-lvconvert-repair-dmeventd.
Fix a double close in clvmd.
Update WHATS_NEW.
Add a missed test for dmeventd -R.
Alasdair correctly pointed out that if the two closes are concurrent (I haven't
Add code to the dmeventd snapshot plugin to automatically unmount snapshots
Update WHATS_NEW.
Add generic infrastructure to internal library to 'set' a property.
Implement lvm_vg_set_property() by calling internal 'set' property
function.
Add vg_set_property to the interactive lvm2app test program.
Make value.string const char *, in properties.h, to fix a warning introduced by
Add a new type and function to lvm2app to enumerate lvsegs.
Add the macro and specific 'get' functions for lvsegs.
Add lvm2app function to query lvseg properties.
Add a new type and function to lvm2app to enumerate pvsegs.
Add the macro and specific 'get' functions for pvsegs.
Add lvm2app function to query pvseg properties.
Update interactive tests for lvm2app lvseg and pvseg apis.
The _free_vg that is created as a placeholder when reporting segments in pvs
This patch adds helpers to allow users to lookup a lv or pv handle by
This patch adds helpers to allow users to lookup a lv or pv handle by
Add interactive tests for functions to lookup a pv|lv by name|uuid.
All 'size' values of lvm2app properties should be in bytes.
Disallow certain lvconvert operations that need to both allocate and free
Update WHATS_NEW.
Avoid the automatic MISSING_PV recovery path in commands with special
Fix a failing test (it used a combination of lvconvert parameters that is no
Refactor the percent (mirror sync, snapshot usage) handling code to use
What's new.
First go at a somewhat more comprehensive mechanism to run "unit" tests
for the
Do not build vgtest (superseded by vgtest.t). Fix the build line for .t files.
Only build the required bits under api/ on make check.
Fix the sed expression to get "base" names of tests.
Remove a redundant %.o: %.c rule from test/api/Makefile.in.
Add a validation step for pvmoveN internal LVs to vg_validate.
Hack up the RUN_BASE computation in the test Makefile.in a bit more (so that it
Add further consistency checking to vg_validate, ensuring that all segment
Add getters for copy_percent and snap_percent to the lvm2app API.
Fix sed substitution in copying tests to builddir (test/Makefile.in).
Use system assert in test/api/percent.c, for now.
Substantial rework of the functional test support code. Some new features:
Fix a couple of bugs in the new (test/lib/)aux.sh.
Move the mkdtemp functionality into test/lib/utils.sh.
Fix typo in t-pvcreate-operation-md.sh.
Add a test for RHBZ 640621 (metadata/dirs + no PV MDAs broken).
Fix another bug in t-pvcreate-operation-md (should pass now).
Re-enable t-lvconvert-repair-transient, avoiding the deadlock by running mkfs
Remove obsolete bits of support code from test/.
Fix up the make clean target in test/.
In aux, exit 200 no longer works as skip -- replace with real skip call.
Relax the mirror test in test/lib/check.sh.
Disable activation/monitoring in testing lvm.conf by default.
Remove *.t in test/api's make clean target.
Fix a typo in the new relaxed mirror check (test/lib/check.sh).
Add a test for the interaction of transient errors and dmeventd mirror repair.
Add a test for the interaction of snapshots of mirrors and lvconvert --repair.
Skip the api/percent test on kernels <= 2.6.32.
Kill clvmd properly after locking_type 3 tests (using clvmd/singlenode).
Fix a typo in pvmove.8 (fixes BZ 673618, spotted by John Bradshaw).
Allow overriding the DM_DEV_DIR used by the test suite (fixes BZ 672796). Use
Avoid flooding syslog with redundant messages when a snapshot is invalidated
Fix an lv_postorder bug where it failed to clear temporary flags, making it
As requested in BZ 454618:
Do not run past the end of an array in dmeventd's _handle_request when faced
In some cases, we could end up with a mirrored LV without a MIRRORED flag. In
What's new.
Add rudimentary versioning to the dmevend protocol, allowing us to detect the
This patchset refactors some reporting code and completes the remaining
Make the mirror log checks in t-lvconvert-repair-policy a bit more strict
Always copy all tests to builddir regardless of T/S, since subsequent runs
Make vg_mark_partial_lvs also clear existing PARTIAL_LV flags, so it can be
When glibc needs buffers for line buffering of input and output buffers, it
Add a new entry point in the mirror lvconvert code, for removing missing mirror
Rewrite vgreduce --removemissing --force, using existing primitives:
Update WHATS_NEW.
Initial design document for LVMetaD, building on the draft from June of last
First stab at the prototypes of the daemon-common functionality (to be
First go at the lvmetad client-side interface.
Start filling in some of the common daemon (server-side) functionality, taking
More scavenging of common daemon code, this time the clvmd local socket setup
More work on the common daemon framework. Make things compile, too.
Mention code layout in lvmetad DESIGN.
First draft of a document describing how we will automatically and
Add an API test that shows how to find a value of pe_start for a VG without
Also check in the pe_start API test that the disks have not been touched.
Common daemon code: Implement basic socket-based communication infrastructure
Add a skeleton for lvmetad, a test client, and a temporary Makefile to build
Fix RHBZ 651590 (failure to lock LV results in failure to repair mirror after
What's new.
Sketch out the actual on-wire format in daemon-client.h documentation, and add
Call daemon_close before exit in the testclient.
Do not open the socket with SOCK_NONBLOCK in daemon-client, since we have no
Implement daemon_send_simple and use it in the testclient.
LVMetaD build hack: link to lvm-internal &c. and add a simple test script.
Parse the incoming config tree in daemon-server.c, providing the
Also parse the config_tree on the client end (daemon-client.c).
Add int/str lookup routines specific to the reply (in client) and request (in
Differentiate the request and response format, in daemon/common.
Fix t-vgreduce-usage to stop relying on the persistent cache not seeing a
Add a couple missing #includes in uuid.h.
Add a missing libdevmapper.h #include to lvm-types.h (for dm_list).
Slightly refactor the config code to allow better reuse (no functional change).
Revert the #include changes. Need to fix this at the #include site for now, and
Improve format_buffer in daemon-shared.c, adding block formatting in addition
Various improvements to the daemon-common code, including automated response
Start filling in the core LVMetaD functionality and the corresponding
More work on cache maintenance code in lvmetad: keep track of PV status.
Work out some more details in metadata update in lvmetad.
Add an API to config.h for creating values in the config_tree mempool.
Make it possible to represent type-correct single-item arrays in config trees.
Towards MISSING (PV) flag management in lvmetad.
Make lvmetad report the VG ID and status (complete, partial) in reply to pv_add
Add code to lvmetad's testclient that scans an actual physical device,
Make lvmetad also report VGID in reply when adding a PV without MDAs (this
Can't have a global memory pool in lvmetad (that would constitute an ongoing
Fix two small (but eventually unbounded) leaks in daemon-server.c.
Free up allocated memory before exiting, in lvmetad.
Optimise PV -> VG lookups by using a UUID (hash) map.
lvmetad: Avoid stale PV -> VG mappings on metadata update.
First stab at making lvmetad-core threadsafe. The current design should allow
lvmetad: Robustify update_pv_status and remove an useless lookup.
lvmetad: Fix a possible infinite loop in vg_status.
lvmetad: Obliterate vg_status by returning the same information from
lvmetad: A couple of TODOs, and fix a few trivial memory leaks.
lvmetad: Check integrity of multiple metadata copies, i.e. ensure that seqno
lvmetad: Edit the MISSING_PV flags only after making a "reply" copy of
the
Move the core of the lib/config/config.c functionality into libdevmapper,
Adapt the daemon/common code to use the new dm_config interface.
Adapt LVMetaD to use the new dm_config interfaces.
A compromise integration of LVMetaD into the build: I have kept all the
Get rid of the old lvmetad Makefile.
Fix warnings in daemons/common.
Fix warnings and constness handling in lvmetad-core (adjusting the
Do not call prepare_lvmetad just yet in tests.
Mention --enable-lvmetad in WHATS_NEW.
Replace const usage of dm_config_find_node with more appropriate value-lookup
When resizing LVs, always round in the safe direction, regardless of whether we
Update WHATS_NEW.
Fix the divisibility check in the allocator for the mirror+stripe case (require
Update WHATS_NEW.
Keep the LVM-based dmeventd plugins from trying to manipulate the dmeventd
New.
Remove a redundant (and in some cases, misleading) message about snapshot
In t-lvcreate-large, do not create a clustered VG. LV activation/suspend does
Do not repeat a failed test's output when VERBOSE is in effect.
Correctly handle concurrent read (CR) locks in singlenode clvmd. This means
Implement a CUnit-based runner for unit tests. Copy and adapt (actual unit)
Fix a syntax error.
Tidy the shell tests into their own subdir. We now have:
Fix the fallout in shell tests from the t-XXX -> shell/XXX move.
Fix the last fix (t-XXX -> shell/XXX).
Fix a bug in dmeventd snapshot monitoring code where the monitoring threshold
Update WHATS_NEW.
More of WHATS_NEW.
Fix clvmd to respect DMEVENTD_MONITOR_IGNORE. Fixes a bug where dmeventd
Update comment on LCK_*DMEVENTD*.
Nowadays, lvm-version.h is generated from lvm-version.h.in, and lives in the
Use pkg-config to look for CUnit (needed for systems where it's not on the
In the dm_config_*get_* functions, make the actual value retrieval optional
Start a rudimentary unit test for the dm_config_* interface.
Add a unit test for dm_config_clone_node.
Autoreconf.
Add a shell test for config parsing and merging (lvm dumpconfig).
Move dm_config_write out of libdm, back to lib/config, as config_write.
Use a more canonic regex escaping in the default lvm.conf file for testing.
Fix a compiler warning.
Make a cleaner split between config tree and config file functionality. Move
Fix up lvmetad for the minor API change in dm_config_create.
Add a unit test for config cascade (overlay). Needs expanding though.
Fix a couple of resource leaks in daemon-common server code -- filehandles and
Unfortunately, blank lines are sometimes produced by config serializer, and
Fix prototypes for daemon_send_simple (const char).
Fix a boundary condition in read_buffer in daemon-shared.c.
Beef up the lvmetad code with more functionality and a bunch of bugfixes. There
Remove a dubious log message ("another thread is handling an event") from
LVM
What's new.
Move lvmcache data structures behind an API (making the structures private to
What's new: lvmcache.
Keep a global (per-format) orphan_vg and keep any and all orphan PVs linked to
What's new.
In the test harness, do the back-substitution (@TESTDIR@, @PREFIX@) also on the
Fix pool names of the format1/format_pool orphan VGs.
Do not forget to initialise the error value in daemon_reply.
lvmetad server-side update:
Turn a warning to an error in vgreduce --removemissing, since we exit with a
In lvmetad, also nuke VGs when all their PVs are stolen by another VG (vgmerge
(lvmetad) Remove unused variable.
Run tests with lvmetad if we have it.
Update lvmetad: use device major/minor pair to track devices. Keep a pvmeta
Drop the now-redundant pvid_to_status hash.
Tweak lvmetad a bit more:
Also use DEFAULT_RUN_DIR for the lvmetad socket on the client side.
The lvmetad client-side integration. Only active when use_lvmetad = 1 is set in
Missed update for include/.symlinks.in to include lvmetad.h.
Add -ldaemon to make.tmpl.in.
We need daemons/common now even if the lvmetad server side is not built.
Add a missed dependency that is required to pull in dameons/common in an early
Kick out a debugging call to valgrind in lvmcache-exercise.sh.
Add a vgscan to lvcreate-repair.sh. The old test applied device filter hacks to
Couple of improvements in the daemon (common + lvmetad) code:
Make the calls to pvscan --lvmetad in the testsuite slightly more civilised.
Fix an error path in daemon_open.
Clean up the lvmetad state more thoroughly upon shutdown.
Fix server-side leaks in lvmetad.
Add tentative documentation of pvscan --lvmetad to the pvscan manpage.
Improve error handling & reporting in common daemon code.
- Improve error reporting on lvmetad connection failure.
A bit of documentation for lvmetad_vg_lookup.
Fix a possible SEGV in lvmetad client code, and a minor leak in pvscan
Attempt a fix for lvm shell accumulating copies of orphan PVs with each
"pvs"
Fix a whitespace bug in the last checkin.
Use 64 bit integers whenever extracting numbers from daemon replies.
Add a regression test for the PSize bug in pvs/lvmetad.
Use 64 bit integers for device size & label sector in _pv_populate_lvmcache in
Add a toplevel check_lvmetad target.
Fix a regression in handling --major/--minor arguments to lvcreate & lvchange,
It's new.
Relax the active-minor test a bit.
Add a rudimentary lvmetad manpage.
Add provisions to flag tests that we know will fail, without flagging the build
Add a (currently failing) test for RHBZ 816672.
lvmetad: Implement --test (fixes #832033).
TEST: Add lvmetad-test; checks --test with lvmetad.
libdm-string: Add dm_vasprintf.
lvmetad: Fix an obscure error message.
libdaemon: Draft logging infrastructure.
TEST: Kill lvmetad early in teardown.
filters: Alwayz zalloc the filter struct.
dev-cache: Make it possible to pass in a NULL filter.
libdaemon: Extend and refactor APIs.
lib/cache/lvmetad: Refactor to use dm_config_tree in requests.
example.conf.in: The command to refresh lvmetad is pvscan --cache.
Implement devices/global_filter.
lvmetad: Use "%" PRId64 in place of "%d" for extra clarity.
lib/cache/lvmetad: s/pvscan_lvmetad/lvmetad_pvscan/ in the API
Makefiles: Build libdaemonclient unconditionally.
TEST: Add LVM_VALGRIND_LVMETAD to testing options.
lvmetad: Make vgscan --cache an alias to pvscan --cache.
lvmetad: Clear metadata/PV cache before a token-triggered rescan.
lvmetad: Fix #845269: SEGV on corrupt lvmetad response.
lvmetad: Give inconsistent metadata warnings in pvscan --cache.
lvmetad: Initialise debug_config also if no -d is given.
TEST: Workaround for lvmetad vs inconsistent metadata.
lvremove: Ask before discarding data areas.
lvremove: Revert to allowing removal of partial LVs.
libdaemonclient: Use dm_{malloc,free} in place of {malloc,free}.
libdaemonclient: Use log_sys_error in place of perror.
libdaemon: Split daemon-shared.[hc] into daemon-io.[hc] and config-util.[hc].
TEST: Add lvmetad-pvscan-cache to check that pvscan --cache works.
TEST: Only run the pvscan --cache test with lvmetad active.
lvmetad: Avoid overlapping locks that could cause a deadlock (BZ 862253).
lvmetad: In pvscan --cache, update the token directly.
dev-cache: Make dev_iter_create work with a NULL filter.
libdaemon-server: Fix a memory leak in daemon_log_multi.
libdaemon-server: Optimize logging for a fast no-output path.
libdaemon-client: Fix a memory leak in daemon_send.
lvmetad: Fix a typo-induced leak in destroy_metadata_hashes.
TEST: When INTERACTIVE=1, allow scripts to control a TTY.
TEST: Wait for lvmetad socket to appear in "aux prepare_lvmetad".
TEST: Give lvmetad a chance to exit gracefully upon teardown.
lvmetad: Fix a leak in an error path in update_metadata.
lvmetad: Fix a leak on duplicated PVs (same PVID, different device).
TEST: Check that LVM1 VGs work when using lvmetad (BZ 863401).
example.conf: Warn about running lvmetad with use_lvmetad = 0.
TEST: Avoid building unit tests with --disable-testing.
libdaemon-server: Do not create pidfile if NULL.
lvmetad: Only create pidfile when running as a daemon (no -f).
configure: Use pkg-config to look for valgrind/memcheck.h.
test: Skip thin tests if thin support is configured out.
lvmetad: Fix the -f pidfile (non-)creation logic.
lvmetad: Warn if lvmetad is running but disabled.
test: Check that lvmetad is refreshed correctly on restart.
lvmetad: Fix help output (flags and their meaning).
pvscan --cache: Also read metadata from LVM1 PVs (BZ 863401).
test: Skip the topology test if setting up scsi_debug fails.
libdaemon: Make buffer handling asymptotically more efficient.
test: Skip lvconvert-raid on kernels < 3.2 since they BUG out.
lvmetad: Implement a "dump" request to capture lvmetad state.
test: Add lvmetad-dump.sh.
lvmdump: Fix systems with tr on PATH outside of /usr/bin.
lvmdump: Add -l, to collect a state dump from lvmetad.
lvmetad: Make --sysinit suppress connection failure warnings.
lvmetad: Fix the fix for 813766 (lvmetad connection warning).
Update WHATS_NEW.
lvmetad: Only print scanning messages when scanning 1 device.
lvmetad: Disable and warn when locking_type is 3.
lvmetad: Init lazily, to avoid socket access on config overrides.
test: Check that overriding use_lvmetad with --config works.
Document use_lvmetad and global_filter in lvm.conf.5.
Automatically restore MISSING PVs with no MDAs.
lvmetad: Fix autoactivation for MDA-less PVs.
toollib: Avoid a global lock in process_each_pv if lvmetad is used.
Update WHATS_NEW.
lvmetad: Fix a possible deadlock.
lvmetad: Fix a possible race in remove_metadata.
lvmetad: Fix a race in metadata update.
lvmetad: Call _lvmetad_handle_reply in lvmetad_vg_lookup.
Update WHATS_NEW.
configure: Respect pkg-config --cflags for udev.
lvmetad: Mark PVs visible to lvmetad but not to us as MISSING.
lvmetad: Check for reappeared PVs.
lvmetad: Fix a memory leak introduced in 15fdd5c90dd.
test: Invalidate .cache after vgimportclone.
test: Re-instate exec in lvm-wrapper, catching crashes inside not.
libdaemon: Print a diagnostic when we fail to lock the pidfile.
vgimportclone: override global_filter in lvm.conf
filters: toplevel filter not persistent
lvmetad: no use of persistent filter with lvmetad
tests: add hide_dev/unhide_dev to aux
tests: skip the double log failure test on 2.6
tests: set up global_filter instead of just filter
tests: make filter extension more robust
tests: run all the test flavours in a single batch
tests: collect all test results in files
tests: do not expose duplicate PVs in vgimportclone.sh
test: Avoid hardcoding path to bash (not all systems have /bin/bash).
Move export_vg_to_config_tree alongside export_vg_to_buffer.
Add and track an "ondisk" pointer to struct volume_group.
locking: Make it possible to pass down an LV to activation code.
Actually pass LV metadata to activation code, when available.
metadata: Fix a pool CRC failure due to "late" ondisk copy creation.
activation: Pass both ondisk and incore LV to suspend.
format1: Fix snapshot reload in lv_remove.
lvm2api: Make the vg_list_* functions work with lvmetad (+ test).
metadata: Do not try to maintain an ondisk copy of orphan VGs.
TEST: Add a regression test for the ondisk/orphan bug.
metadata: Do not ignore errors in _vg_update_vg_ondisk.
metadata: Fix tracking of read_status flags in _vg_make_handle.
pvscan: Respect lvmetad (global) filter in --cache w/ a device.
Sebastian Ott (1):
filters: add scm devices
Steven Whitehouse (77):
dec use count on close. corrects a typo.
o Use kmem_cache_destroy() to remove slab cache.
o I'm afraid that wu and wl etc. is just too confusing.... I've changed it
o Some ioctl() commands.
o Some structures change size with different configs, so always include
o Now we handle target modules correctly
o Forgot to add ref to module.
o Tidy in dm-fs.c
o Two fixes which Alasdair pointed out.
o New code for handling block device registration. Not yet used but checked
Changes to device handling;
o Forgot to create slab caches for dm-blkdev.c
o As promised earlier, the device registration is now hashed and the
o New ioctl(): LV_BMAP which is compatible with LVM so that hopefully LILO
o Made pending I/O wait uninterruptible
o Support /sbin/hotplug
o Targets now get rw passed through so they can do COW for example
o Use count should be an atomic_t
o Fixed code where return value of vmalloc wasn't checked
o Work in progress, please ignore these files for a day or two whilst I
o Again, please ignore this for the time being.
o New file dmfs-super.c
o Changed dm_create() to return a struct mapped_device rather than an int
Should have been included in the previous commit.
These files are now a bit closer towards what I'm aiming at. Still a lot
o Bug fix to LV_BMAP ioctl()
o More fs fiddling. Another check point commit.
o Cut down number of vmallocs to increase speed and efficiency
o Change the deallocation of tables to match the vmalloc changes in my
o Fixed a bug where we were not holding a reference of the block devices
o Added ref counting to tables
o Removed the error reporting function from the target constructor function
o Further changes to new file system interface
o Some new files (also part of new fs interface)
o Changed to use table->err_msg rather than passing functions around
o Use ERR_PTR and PTR_ERR rather than an extra argument.
o Bug fix in error path
o Sync up of todays changes .... nothing very important
Well when things start looking so complicated that future direction becomes
o Check in case of setting up volumes before root is mounted.
o Beginnings of new interface.
o More updates
o Lunchtime.
o Kill write funcs for error/status files
Just a small sync of pending changes before I start looking at this again
o Everybody needs dm.h
Some more sync ups
o Further tidyups and fixes.
o Some bug fixes
o More fixes
o More bug fixes
o Tidy up, removing debugging printk's no longer needed
o Fixes to parsing code
o Get file size correct for table
o Fixed infinite loop in parser
o Update to parser
Ok. this is the big one.... the change to the new fs interface.
o Patches to go with earlier check in
o Fix a typo. This should fix devfs support.
o Fix crash that Patrick reported
o Remove unused variable.
o Fix bug in dmfs-error.c where it could return too many bytes under some
o Error list handling now part of fs rather than part of table.
o Fix typos from yesterday
o Correction in logic for write access to tables
o Added a file containing a TODO list.
o Added two items which ought to be done when we update to 2.4.14-pre3 or
Tidy and changes to make code smaller.
Oops. Forgot to check this in earlier. Changes as per previous check in
o Fix module ref counts so that you can actually unload dm-mod
o Revised seq_file usage after discussions on linux-fsdevel
New patches for 2.4.16
o Confusingly, dmfs-tdir isn't gone, its now called dmfs-lv.c and its the
o Initial merge attempt
o Added a few more projects
o Removed unused MOD_INC/DEC_USE_COUNT
o Updated projects.txt to remove the earlier error which turned out to be
Takahiro Yasui (7):
Fix error message when adding metadata directory to internal list fails.
Fix size and error message of memory allocation at backup initialization.
Remove old metadata backup file after renaming vg.
Restore log_suppress state when metadata backup file is up-to-date.
Fix error message when archive initialization fails.
Save and restore the previous logging level when log level is changed.
Fix wrong number of mirror log at allocate policy
Thomas Woerner (2):
Added files lib/lvm.h and lib/lvm_base.c:
Fix include/.symlinks for lvm2.h to lvm.h renaming
Tony Asleson (42):
python-lvm: Update example to work with lvm object removal.
python-lvm: seg. fault in liblvm_lvm_percent_to_float
python-lvm: Memory leaks & seg. fault fixes
test: set LD_LIBRARY_PATH to all dirs with *.so
python-lvm: Initial check-in of python-lvm unit test case.
lvm2app: Add lv snapshot support
config_def_check: fix memory leak
lvm2app: Add thin and thin pool lv creation V5
lvm2app: Implementation of pv resize (v6)
lvm2app: Move percent_of_extents to lvm-percent.[h|c]
lvm2app: Rework argument handling for lv resize
lvm2app: Move core lv re-size code (v6)
lvm2app: Implement lv resize (v3)
lvm2app: Add function to retrieve list of PVs V3
lvm2app: Implement lvm_pv_remove V2
python-lvm: Add bindings for lvm_pv_remove
lvm2app: Set suppress to 1
_get_pvs: Remove unused variable
lib2app: Fix warnings in lvm_list_pvs_free
lib2app: Added PV create. V2
python-lvm: Add pvCreate python method
lvm2app: Add method to retrieve attr from lv.
python-lvm: Add method to retrieve lv attr.
lvm2app: Add function to retrieve the origin.
python-lvm: Added lv method getOrigin
python-lvm: Bindings for thin pool, thin lv creation V3
lvm2app: Add thinp snapshot functionality
python-lvm: Change snapshot call impl.
python-lvm: Bug fixes from unit tests.
liblvm: Moved additional pv resize code
python-lvm: Improve unit test case(s)
liblvm/python-lvm New additions
lib/properties: Common code for handling properties.
lvm2app: Add thin and thin pool lv creation
lvm-percent.c: Add #include "lib.h"
lvm2api: Add missing files from prev commit.
python-lvm: Add call to close/re-open C lib.
lvm2app: lvm_vg_list_lvs filter hidden LVs
python-lvm: Change exception back to LibLVMerror
python-lvm: Correct parsing arguments for integers
python unit test: White space/pep8 cleanup
python unit test: Limit PVs to use
Zdenek Kabelac (1632):
added more safety checks
readahead at least twice the strip size (same as raid0 driver does)
added manpage
install conditionally fsadm.8 manpage
Fix lvresize to support /dev/mapper prefix in the lvname
fixing fsadm usage with older blockdev,blkid,readline tools
Fix wrong free_count on imported volume group from pool device
copy vgid only when volume group is present in import_pool_pv
Improve/Fix read ahead 'auto' calculation for stripe_size
extended configure with --enable-profiling for compiling code with gcov info
Added generation of the versioned libdevmapper-event.so for LVM's test
disable mdadm test-case until a better solution is found
* parse error output for 'auto' keyword
avoid endless option parsing loop
vgremove tries to remove lv snapshot first.
put dmeventd into the LD_LIBRARY_PATH for lvm-wrapper
add test for pool labels gfs
configure aborts if lcov or genhtml are missing with --enable-profiling
added const and saved relocation entry
added const modifiers
* more strict const
get lv_list properly from vg->lst and fix compiler warning
added test for coverage improvement
valid parameter for lvchange -p is 'rw'
fail testcase for failed commands inside the for loop
* minor compilator warning fix for improper function declaration.
removed redundant redeclaration of init_indent() and init_msg_prefix() from
lvm-logging.h
minor compiler warning fix for function declaration prototype
cleaner const char* usage for last_path_component()
fix missing const char*
daemons depends on liblvm2cmd - fixes parallel builds
add simple test for dev node usability (detect devices mounted with nodev)
operate on test subdirectory instead on main /dev
Replace _dm_snprintf with EMIT_PARAMS macro for creating target lines
add support for ext4 resize in fsadm
Remove external dependency on the 'cut' command in fsadm
Fixed bug where lvresize option -t was not properly passed to fsadm.
Do not create some dm and lvm static librarie when they are not requested
Avoid referencing files from DESTDIR during build process
Do not query nonexistent devices for readahead.
Use 'lvm lvresize' instead of 'lvresize' in fsadm.
Minor replace of of ${top_srcdir} with $(top_srcdir) for lcov target
Run distclean also for daemons/cmirrord
Remove daemons/clogd from distclean dirs (replaced with cmirrord)
Update distclean target for rename clogd to cmirrord. (2.02.52)
Add fflush for the case the log is redirected to the buffered file.
Export functions out_inc_indent(), out_dec_indent() for creating
Update for outnl and indent functions
minor code comment update
minor whitespace indentation
skip cast from (void*)
minor indent change
Fix coredump and memory leak for 'dmsetup help -c'
Fix unlocking vg in some pvresize and toollib error paths.
Destroy allocated mempool in _vg_read_orphans() error path.
Cleanup returns for void functions.
Fix typo fsdam -> fsadm (closes bug 552721)
Just add '.' at the end of error message.
Show all fields for 'dmsetup info -c -o all'.
Error message prints unrecognized key.
Use offsetof() macro and avoid defining dummy static union for FIELD() macro.
Add macros outsize() for out_size() and outhint() for out_hint() that check
Export function out_text_with_comment() and add outfc() macro that checks
Use macro outsize() with check for error return value.
Add few const modifiers.
orig_status preserves 64bit status.
lvol%d is generated for NULL name in lv_create_empty().
Move initialization of the 'cmd' member of the struct alloc_handle
Cleanup gcc warning: null argument where non-null required (arg.2)
Cleanup gcc warning: cast from function call of type 'struct dm_list *'
Cleanup gcc warning: cast discards qualifiers from pointer target type
Cleanup const compiler warning
Update entry for few previous gcc cleanup commits.
Reset released pointer and counters.
Log entry for the last lvmcmdline.c commit
* add more 'const' - fixes gcc constness warning
Cleanup float arithmetic gcc warning.
Fix dm_report_field_uint64 to really use 64bit.
* update for last 3 commits
Use dm_report_field_int32 instead of dm_report_field_uint64 for printing
'-1'
Update
Usage of AC_PROG_SED and AC_PROG_MKDIR_P requires autoconf version 2.61.
Use datarootdir and fix warning during configure process:
Use $(top_builddir) for inclusion of make.tmpl in Makefiles.
Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere.
Use consistently $() instead of ${} for all Makefile variables,
This patch moves inclusion of the make.tmpl before DEFS modification,
As fsadm is installed by default - it's a common practice to rather
Introduce LVMINTERNAL_LIBS
Readline linking update
Pthread linking change
Removes -rdynamic from linking of lvm.static and dmeventd.static.
This patch add SELINUX_LIBS and STATIC_LIBS variables.
Use DL_LIBS, remove -ldl from global LIBS and link -ldl only when needed.
Use UDEV_LIBS, and link -ludev only when needed.
mlockall() -> mlock()
Use '_' prefix for local static variable.
Unconditionaly ignore also Virtual Dynamically-linked Shared Object
Use mlock() only on 'r' memory maps
Update comments for selecting maps
Remove const modifier for struct volume_group* from process_each_lv_in_vg().
Move declaration of struct dm_info info to declaration block.
Updates .so links for plugins
Fixing compilation warning: implicit declaration of function ‘umask’
Avoid hard sed replacement - i.e. quick test change in make.tmpl
Add $(LIB_STATIC) to TARGETS so it's cleaned in the same way
Use $(top_srcdir) for sources and add cscope.out to distclean targets.
distclean fixes
Update cflow file generation - support build dir and use $(top_srcdir)
Fixing another set of distclean problems where we left some generated files
Split long line in Makefile and keep $abs_top_buildir as shell variable
Avoid modification of .in files outside man directory.
Oops, avoid returning errors from shell to makefile for builddir == srcdir
Fix also error code from clean:
Remove mlockall() form dmeventd
Fix resouce leak in error path
Release pool in the same reversed order
Updated syslog messages
Force C locale
Update memlock
Count only readable size for memlock stats.
Update for dmeventd changes.
Use .commands created in builddir for symlink installation.
Install generated 10-dm.rules from builddir.
Update for make install.
Missed to convert T -> SCRIPTS
Set ret value to success initially.
Better debug message for Un/Locked memory size.
Fix lcov target
Distcleanup config files only in toplevel directory.
As lcov module is not installed with GD.pm dependency we need
Using 'not' if the test 'should' fail.
Add cleandir target.
Use vpath instead of VPATH.
INSTALL rules updates
Update install rules for udev.
Use C locales and use_mlockall for clvmd.
Add error diagnostic for setenv failure.
Added awk script relpath.awk to calculate relative paths.
Fix double DESTDIR usage for infodir and mandir.
Install symbolic .so links with relative paths between usrlibdir and libdir.
Make matcher_t and parse_t compilable
Small indent change
Show string with invalid pattern
Release pools for regex if there is error during processing
Initialise _vginfos list staticaly so there is no problem with using uninitialised
Install plugins to subdirs
Add dm_list_splice() to join two lists.
Headerfile <pthread.h> is no longer needed here
Link liblvm2cmd.so with devmapper-event and devmapper libs.
Link libdevmapper-event.so with libdevmapper.so.
Plugins do not use pthread or lvm2cmd directly.
Skip unneeded 'cat' command execution.
Use Require.private: field for devmapper-event.pc
Add UDEV_PC and SELINUX_PC substituted variables
Switch to use Requires.private for devmapper.pc and lvm2app.pc
Add pkgconfigdir for placement of .pc files
Use /bin/bash for scripts with bashisms
For lcov target there is no need to include source file dependencies
Return ECMD_FAILED for break in process_each_lv() and process_each_segment_in_lv()
API change for args of process_each_lv_in_vg()
Replicator: libdm support
Replicator: support deactivate of replicator-dev nodes
Replicator: check open_count for parents of presuspend_node
Replicator: base lvm2 support
Replicator: new files for Replicator target
Replicator: check replicator segment
Replicator: extend _lv_each_dependency() with dependencies for Replicator devices
Replicator: extend volume_group with list of VGs and flag
Replicator: add sorted cmd_vg list
Replicator: add find_replicator_vgs
Hmm - fixing cvs import mistake
Right directory name for replicator files.
Remove files from wrong directory
Add toolcontext.h header file.
Replicator: add read and release VGs for rsites
Replicator: use cmd_vg list for _process_one_vg()
Replicator: use cmd_vg for process_each_lv_in_vg()
Replicator: lock_lv_vol() finds missing VGs
Replicator: activate checks for missing vgs
Replicator: update _create_partial_dtree()
Replicator: VG with cmd_missing_vgs does not generate output
Replicator: add replicator to dtree
Replicator: update activate code for vgchange
Update Copyright date for resently modifed files
Fix copy&paste detection of kernel release version.
Use absolute paths in commands
Use INSTALL_DIR to create directories
Fix wrong usage of exec_prefix from previous patch introducing LVM_PATH define
Update WHATS_NEW for last commit
Use "" instead of <> for configure.h and libdevmapper.h
Update lvresize/extend/reduce manpages with --nofsck, --resizefs options
Add man page for dmeventd
Add man pages for lvmconf and unsupported lvmsadc and lvmsar tools.
Adding section number for lvm.conf manpages.
Better WHATS_NEW message - as we still have not fixed 'make exec_prefix'
build
Fix typo: premitted -> permitted
Fix typo: "INTERNAL ERROR" -> "INTERNAL_ERROR"
Add few missing information about what is this script doing.
Preload libc locale messages.
Fix typo reported in Debian bugzilla #586043
Cleanups for configure:
Minor optimalization of _test_word.
Do not log backtrace in valid _lv_resume() code path
Small update of memlock debug messages.
Set return value 0 for 'dmsetup -c -o help'
Update for dmsetup
Revert previous commit as it would return also for incorrect syntax.
Fix format string from patch apply mistake
Do not use VPATH in include/Makefile
Visually better align lines which are executed as a result of true
Using count=0 is sufficient for creation of zeroed files.
Add shell function to trim spaces.
Minor speedup of lock test -
Fix return status 0 for "dmsetup info -c -o help".
Clean generated files .exported_symbols_generated, example.conf for distclean.
Wait for node creation before displaying debug info in dmsetup.
Use void parameter for function definition.
Fix constness warning in archive_file structure from archive.c.
Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes().
Fix 'void*' arithmetic warning in some functions from libdm-iface.c.
Fix 'void*' arithmetic warnings in dbg_malloc.c.
Add missing cleanup rule for generated .exported_symbols_generated
Maps fix
Fix leaked pool report
Fix memory leak of config_tree
Replace "can not" with "cannot"
Fix a serious bug in the behavior of fasdm tool when breaked.
Correctly respect --dry-run option for fsadm
Support for passing --yes flag recursively.
Fix assignment of default LVM variable
Fix detection of mounted filesystem.
Fix usage of --yes flag for ReiserFS resize
Add support for noninterctive shell execution
Update script for fsadm testing
Skip fsadm testing until proper installation rules are commited in.
Don't use floor() in _bitset_with_random_bits
Fix linking order for liblvm2cmd
Speedup memory un/locking
Update
Fix strict-aliasing compile warning in partition table scanning
Add coverage test for partition table scanning
Fix clang warning for ntohl(*((uint32_t *)buf))
Print vg_name and do not to access vg->name
Ensure we always have origin defined
Reuse result of previous strchr
Fix potential NULL pointer dereference
Fix missing initilisation to 0
Switch to char* arithmetic from void*
Use 'const' struct id *pvid for device_from_pvid()
rom -> from
ok this seems to be never ending story...
Use const pointer for return value of dm_basename
Fix constness warnings
Fix constness warning for _vg_read_by_vgid() uuid usage
Fix constness warning
Fix constness warning
Use const config node
Remove bufused for calculation
Update C declaration () -> (void)
Use static indentifier for internal functions
Instrument compiler about code unreachability
Fix NULL pointer dereference for too large MDA error path
Hotfix usage of __builtin_unreachable()
Macro uninitialized_var gives warnings in static analysis
Add missing return for NULL passed buffer
Return different status code for fsadm check of mounted filesystem
Add DIAGNOSTICS section to fsadm man page.
Use new status code from fsadm check
Use include make.tmpl
Add given user prefix to make target install_initscripts
Add OCF support
Fix include commit and switch to use DISTCLEAN_TARGETS
Scan also 'mount' output for mounted filesystem.
Update fsadm regresion
fsadm fix for downsize of unmounted fs
Add date configurable variable DATE
Preserve const for char pointer
Move va_end(ap) so we do not leave with return -1 without calling it.
Move va_end() so it is also used before error path return
Add missing closedir() - fixes resource leak
Do not call dm_task_destroy with NULL
Move arg_vgnames from local scope
Add missing fclose
Fix resource leak of dlopened pointer
Fix memory leak in error path
Add missing destrustion of cmd_context
Cleanup remove test for NULL
Fix check for empty system_dir
Remove printing of LCK_CACHE
Reset vg pointer after release
Remove dead assignment in _lock_for_cluster
Remove dead assignment in lvm2_main
Remove unused 'i' in _pv_analyze_mda_raw
Remove dead assignment in 'main'
Remove dead assignment in dm_tree_node_add_mirror_target_log
Use one fprintf call for usage print
Fix memory leak in error path
Remove dead assignment in _mirror_emit_segment_line
Remove dead assignment in _step_matcher
Remove dead assignment in wait_for_child
Optimize lookup table read
Check reallocated buffer for NULL before use
Replace snprintf with dm_snprintf
Add missing test for failed pool allocation
Remove check for lv is NULL
Add error path stack traces
Add stack trace for error path
Test uuid for NULL
Remove unneeded test for NULL
Fallback to full rescan for missing device
Optimize second call to strchr with same parameters
Check result of vginfo_from_vgname
Add logging for pipe write() and close() error
Test lv_name is not NULL
Log error from unlink failure
Add backtraces for errors
Check lv_info() success
Check str_list_add() success
Remove reset of vg->vgmem pointer as it is access of already release memory
Fix NULL pointer check for *buf
Move var declarations to function begining
Add more strict const pointers around config tree
Test return value from read() and close() for an error.
update
Some const cleanups
Use const char* const * for dm_regex_create()
Fix wrong cast to char*
Remove const usage from destroy callbacks
Switch void* to char* arithmetic
Use const char* for offset calculation
Use const char * for name and old_name in vg
Fix error path if regex engine cannot be created in _build_matcher().
Replace multiple fprintf calls with one large string parameter
Add checks for allocation errors in config node clonning.
Use dm_free for dm_malloc-ed areas in _clog_ctr/_clog_dtr (cmirrord).
Removed unused pointer
Remove dead store in lvm_run_command
Remove dead assignment of segh
Remove unused variable dev_dir_provided
Remove unused variable label
Add check for unlink errors
Add internal error if pointer is uninitialized
Verbose log old_umask value
Remove dead assignment
Add missing test for reallocation error.
Remove dead assignment of lv_total and lv_capasity_total
Log error state from pthread_join operation
Fix memory leak in debug mode of restart_clvmd() error path
Add backtraces for archive and backup_locally
Fix last pthread_join fix commit
Detect errors from dm_task_set calls
Hide unused code into if 0
Add backtraces for backup and backup_remove fail paths
Remove check for existance of vg pointer
Remove dead assignment to thisfd
Remove unused variable mirr_state and its assignment
Return PERCENT_INVALID for error case
Fail deamonization if lvmcache_init fail
Add missing error path tests
Fix gcc warnings for missing headers and prototypes
Add sys_debug loging for unlink
Check result of dm_snprintf for error
Remove unneeded stack prints after log_error
Remove dead assignment of 'ret' value
Intentionaly ignore result from get_config_uint32
Fix memory leak in filter creation error path
Improve OCF dir support
Add default error path for get_property
Change import_vg_from_buffer to use config_tree
Cache config_tree
Use strndup as GNU extension
Define DM_COOKIE_AUTO_CREATE
Add internal fs cookie
Speedup consequent activation calls
Avoid cookie sharing between forked processes
Fix missing declaration for fs_unlock
Hotfix to stop harness busylooping
Check for file with clvmd pid
Add exec_cmd paramater sync_needed
Skip unnecessary lock_vol() call after volume deactivation
Enable monitoring for cluster tests
Include default make.tmpl
Do not log backtrace for correctly processed command
Set default value to counter_last
Do not scan devices unnecessarily for reseting error counter
Remove -f from list of targets for cleanup
Initialize pool object for each row
Add missing lvm_quit in test
Avoid rebuilding of uuid validation table
Skip NULL check before dm_free
Use memcpy and add error message
Compile code for memory debuging only with DEBUG_MEM
Updating man pages
Display duration of tests when it passed.
Accelerate mirror tests
Do not break pipes
Add command to wait for udevadm settle
Query only test related vg name
Replacei sleep wait with udev settle
Lower disk space usage of inconsistent mda test
Lower device size of pvmove test
Fix udev synchronization for no-locking mode
Skip sysinit test for cluster
Revert wrong fix for nolock locking missing fs_unlock
Better fix for no-locking udev sync and clvmd
Synchronize with udev for lv_info
Do not check for open_count when not needed.
Fix wipe size when seting up mda.
Remove fs_unlock from lv_resume path
Increase hash table size to 1024 lv names and 64 pv uuids
Fix operation node stacking for consecutive dm ops
Use cluster-wide message to request device name sync
Remove extra sync calls.
Add --addnodeonresume, --addnodeoncreate
Place back some common options
Add configure option --with-device-nodes-on
Fix CRC32 calculation on big endian CPU
Revert DEBUG_MEM cleanup commit
Support 64bit ints in config
Replace PV_MIN_SIZE with function pv_min_size()
Critical section
Remove fs_unlock after failed suspend
Fix !DEVMAPPER_SUPPORT build
Void* arithmetic replaced with char*
API change - support more const arg
Const fixing
Memory unlock allows 1 page difference
Add some backtraces for error paths in process_each_lv
Use return_0 to get bactrace
Add debug message for open_count failure
Fix gcc warnings for unused variables
Use backward compatible configuration for test
Test result of dm_task_set_uuid
Remove dead code
Add fall through comments
Fix void pointer arithmetic warning in pool debug code
Quick fix to compile lvm2api tests when possible
Build test.c also without readline library
Invert condition for READLINE check
Add missing return
Indent case part properly
Do not echo y to lvconvert
Avoid using pipes on lv commands
Leave some time to scheduler
Fix reading of released memory
Use lvm_getpagesize wrapper
Fix reading byte from char params[-1] position
Do not send random bytes in message
Refactor vg allocation code
Use void pointer instead of char for binary key
Use hash tables for validating names
Refactor code for _lv_postoder
Indent spaces to tabs
Keep pool name also for pool-fast
Optimise _eat_space and _get_token
Document pv_min_size in lvm.conf manpage
Missed merge fix in vg_validate patch
Fix usage of readlink
Fix buffer allocation size for uuid string
Use proper size of strncpy
Fix allocation of system_id
Revert this commit
Add missing