summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* lvmnotify: add initial dbus notificationdev-dct-notifyDavid Teigland2015-09-215-0/+120
| | | | | | This follows the pattern of lvmlockd, which notifies lvmlockd whenever a VG is updated, providing the VG name and new seqno.
* WHATS_NEW: commits cb8f29d1473d993d890387fe24331c9b9fe4713c - ↵Peter Rajnoha2015-09-211-0/+2
| | | | a54b4bba3578e371bb36ddb3b040a71825a62814
* report: add lv_convert_lv_uuid fieldPeter Rajnoha2015-09-215-9/+48
|
* report: add lv_move_pv_uuid fieldPeter Rajnoha2015-09-215-11/+49
|
* pv: add 'mem' arg for pv_uuid_dup and pv_name_dupPeter Rajnoha2015-09-214-9/+9
|
* report: add lv_mirror_log_uuid fieldPeter Rajnoha2015-09-215-10/+50
|
* report: add lv_data_lv_uuid fieldPeter Rajnoha2015-09-215-7/+49
|
* report: add lv_metadata_lv_uuid fieldPeter Rajnoha2015-09-215-7/+48
|
* report: add lv_origin_uuid fieldPeter Rajnoha2015-09-215-22/+61
|
* report: add lv_pool_lv_uuid fieldPeter Rajnoha2015-09-215-9/+49
|
* lv: add 'mem' arg for lv_uuid_dupPeter Rajnoha2015-09-214-5/+5
|
* cleanup: report: reuse existing _uuid_disp fn to report pv_uuid fieldPeter Rajnoha2015-09-211-17/+15
|
* tests: check dmsetup remove --forceZdenek Kabelac2015-09-181-0/+65
|
* tests: use remount-ro for extfsZdenek Kabelac2015-09-181-4/+9
| | | | Avoid showing kernel warn of umounting broken fs.
* man: use PD/HP for compressed linesZdenek Kabelac2015-09-181-56/+59
| | | | | Using .PD 0 to user zero spacing together with .HP is the best way for condensed list of commands.
* man: enhance dmsetup/dmstatsZdenek Kabelac2015-09-183-252/+265
| | | | | | Document more supported options. Cleanup man-style when documenting options. Use .PD 0 and .HP
* dmsetup: improve help textZdenek Kabelac2015-09-182-16/+20
| | | | Document more options.
* dmsetup: use noflush with force removalZdenek Kabelac2015-09-182-1/+6
| | | | | | When user specifies '--force' with remove/remove_all/wipe_table use '--noflush --nolockfs' resume flags, so the operation will not block when device underneath is blocked.
* libdm: parse Overflow string from snapshot statusZdenek Kabelac2015-09-183-0/+4
| | | | | | This is likely to be a new 'info' provided by kernel snapshot target. For now just parse this string.
* uuid: Report invalid character.Heinz Mauelshagen2015-09-181-1/+1
|
* WHATS_NEW: commit 6c0b4a2769067048fa144814e298a3272564c475Peter Rajnoha2015-09-171-0/+1
|
* libdm: file: add proper checks for directory components in dm_create_dirPeter Rajnoha2015-09-171-14/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also make error messages more consistent: Before this patch: (/run/lock exists and is not a directory) $ pvs /run/lock/lvm: mkdir failed: Not a directory File-based locking initialisation failed. (/run/lock/lvm exists and is not a directory) $ pvs Directory "/run/lock/lvm" not found File-based locking initialisation failed. With this patch applied: (/run/lock exists and is not a directory) $ pvs Existing path /run/lock is not a directory. Failed to create directory /run/lock/lvm. File-based locking initialisation failed (/run/lock/lvm exists and is not a directory) $ pvs Existing path /run/lock/lvm is not a directory. Failed to create directory /run/lock/lvm. File-based locking initialisation failed.
* libdm: dev_node: use lstat instead of stat while removing and renaming nodesPeter Rajnoha2015-09-172-5/+17
| | | | | | | | When using udev, the /dev/mapper entries are symlinks - fix the code to count with this. This patch also fixes the dmsetup mknodes and vgmknodes to properly repair /dev/mapper content if it sees dangling symlink in /dev/mapper.
* libdm: report: make it possible to use blank value as selection for string ↵Peter Rajnoha2015-09-173-10/+33
| | | | | | | | | | | | | | | | | | | | | | | | list report field $ lvs -o name,tags vg LV LV Tags lvol0 lvol1 mytag Before this patch: $ lvs -o name,tags vg -S 'tags=""' Failed to parse string list value for selection field lv_tags. Selection syntax error at 'tags=""'. Use 'help' for selection to get more help. (and the same for -S 'tags={}' and -S 'tags=[]') With this patch applied: $ lvs -o name,tags vg -S 'tags=""' LV LV Tags lvol0 (and the same for -S 'tags={}' and -S 'tags=[]')
* lvmlockd: unlock lv if command fails before lock completesDavid Teigland2015-09-162-36/+109
| | | | | | | | | | | | | | | | | | | | | | If lvmlockd acquires an lv lock for a command, but the command exits before the reply, then the command has not activated the lv and lvmlockd should unlock it. This only applies when the lv was not already locked. (There will always be a chance that the lv lock is held while the lv is not active, i.e. if the command fails in the small window between getting the lv lock and before doing the activation. In that case, rerunning the activation command corrects the inconsistency.) This commit helps by automatically clearing the inconsistency (lv locked by not activated) in the most common case when the lv lock operation is slow to complete and the command is canceled by the user. This commit also adds and cleans up references to the client id in a bunch of log messages, which is useful to follow processing on each independent lock request.
* format-text: label: fix missing dev assignment for struct label in ↵Peter Rajnoha2015-09-152-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _text_pv_write When using lvm shell, some structures which are cached in memory may be reused. This happens for the struct label (a part of lvmcache_info structure) when lvmetad is used in which case the PV scan is not done that would normally overwrite these label structures in memory and making them up-to-date. This is all consequence of the fact that struct lvmcache_info and struct label are not always assigned in the same part of the code. For example, if lvmetad *is not* used, parts of the struct label are reassigned in label_read fn while struct lvmcache_info is created elsewhere. No part of the code reused struct label (and its "dev" field) before calling label_read fn. That's why the real bug is hidden when using lvm shell without lvmetad. However, with lvmetad and lvm shell, the situation is a bit different. The label_read fn is not called if lvmetad *is* used, hence the struct label may have ended up not initialized properly. There was missing assignment for the dev field in struct label in _text_pv_write fn which caused this problem to appear in lvm shell with lvmetad, for example: Before this patch: lvm> pvcreate /dev/sda Physical volume "/dev/sda" successfully created lvm> pvs /dev/sda PV VG Fmt Attr PSize PFree unknown device lvm2 --- 128.00m 128.00m With this patch applied: lvm> pvcreate /dev/sda Physical volume "/dev/sda" successfully created lvm> pvs /dev/sda PV VG Fmt Attr PSize PFree /dev/sda lvm2 --- 128.00m 128.00m Also, this problem had not appeared before changes introduced by commits e1a63905d14cc73352b905c70cb4084b7e521e33 through 3a6f91d7139119bea664050a957cbc21490398bc which, among other things, added proper label field type reporting. Before, label reporting was the same as using struct physical_volume which has its own dev field assigned and so this problem was not exposed.
* post-releaseAlasdair G Kergon2015-09-154-2/+8
|
* pre-releasev2_02_131Alasdair G Kergon2015-09-155-7/+7
|
* man: Add all_man Makefile target.Alasdair G Kergon2015-09-154-5/+19
| | | | | Use 'make all_man' to generate all man pages (regardless of configuration options) or 'make install_all_man' to install them.
* vgcreate: initialize new PVs only in first vg_writeDavid Teigland2015-09-141-3/+4
| | | | | | | | | | | | | When a command does a sequence of vg_write + vg_commit + vg_write + vg_commit, initialization of non-PV devices happens during the first vg_write, and does not need to be repeated by the second vg_write. When creating a lockd VG, this sequence occurs because the VG is first created, then the lockd data is created, then the lockd data is then written to the VG metadata.
* tests: early check for snapshot-mergeZdenek Kabelac2015-09-141-2/+3
|
* tests: lvextend of full thin poolZdenek Kabelac2015-09-141-0/+79
|
* thin: show message on error pathZdenek Kabelac2015-09-141-2/+11
| | | | | | | Add missing log_error and show proper reason for failure when autoextend is set to 0. Add missing log_error when checked LV is not locally active.
* libdm: no validate for pool without messagesZdenek Kabelac2015-09-142-1/+2
| | | | | | | | Avoid validation of free space in pool, when no messages are passed. Patch a3c7e326c3e9950fe74e433c406d6e1b5a53bf25 add new check for pool overload - but this check should not be made if there are no messages and transaction_id is still within 'bounds' (bigger by 1).
* vgimporeclone: use correct cache dir pathZdenek Kabelac2015-09-142-2/+3
| | | | | | | | | | | | | Commit 00b36ef06acb15c82d7c9b37872753f02c638316 had a typo and missed '{' for shell variable, thus command used slightly different 'tmp' dir name for cache dir (with extra '}'). Such change was unnoticed until a recent fix in persistent filter, lvm2 missed to update cache file when --config was specified. The result was, /tmp dir was accumulating snap.XXXXX} dirs when running vgimportclose script.
* tests: wait for sync before deactivationZdenek Kabelac2015-09-111-2/+8
| | | | | On slower machine/disk, sync may block udev from reading and may prevent deactivation.
* tests: new thin testsZdenek Kabelac2015-09-112-0/+60
|
* makefiles: distclean missing filesZdenek Kabelac2015-09-112-0/+3
|
* pool: validate pool_metadata has proper suffixZdenek Kabelac2015-09-111-6/+18
|
* thin: improve swapping of identifiersZdenek Kabelac2015-09-113-6/+12
| | | | | | Since we may want to swap names when LVs are complex types, we cannot avoid doing full renames on both LV stacks. Temporarily use 'pvmove_tmeta' as unused name to prevent validation troubles.
* thin: lvconvert use passed PVs for _pmspareZdenek Kabelac2015-09-112-3/+4
| | | | | When PVs are given on 'lvconvert' respect them when converting volume to thin-pool and allocating i.e. _pmspare.
* configure: relocate configure.hZdenek Kabelac2015-09-117-15/+12
| | | | | | | | | | Commit 9403edbb93a2c337df790408e9ff3d26566b7443 move location of configure.h and lvm-version.h. Let's try even better place then /conf dir which should be left for user configurable files. Put these files right into include dir.
* configure: correct messageZdenek Kabelac2015-09-111-1/+1
|
* man lvmlockd: move and update text about vgremoveDavid Teigland2015-09-111-6/+4
| | | | | The requirement to stop VGs before vgremove applies to both sanlock and dlm VGs.
* lvmlockd: prevent vgremove of dlm VG while lockspace is usedDavid Teigland2015-09-114-11/+131
| | | | | | | | | This applies the same rule/logic to dlm VGs that has always existed for sanlock VGs. Allowing a dlm VG to be removed while its lockspace was still running on other hosts largely worked, but there were difficult problems if another VG with the same name was recreated. Forcing the VG lockspace to be stopped, gives both sanlock and dlm VGs the same behavior.
* lvmlockd: remove shortcut for lockspace thread cleanupDavid Teigland2015-09-111-11/+0
| | | | | | | This shortcut was added for an odd case that I do not believe is relevant any more. Having an alternate path for lockspace thread cleanup is a complication that could lead to problems.
* lvmlockd: optimize dlm global lockspace creationDavid Teigland2015-09-112-4/+17
| | | | | | Set a flag indicating that the dlm global lockspace exists to avoid going through the entire process of trying to add it before finding it exists.
* lockd: fix rescanning VG metadataDavid Teigland2015-09-111-1/+1
| | | | | | | | The code was expecting the wrong return value from compare_config, which returns 0 when equal. This is a problem for a lockd VG using multiple PVs when the VG needs to be rescanned.
* spec: upgradeZdenek Kabelac2015-09-104-70/+131
| | | | | Upgrade spec rules to be in touch with recent code. Provide services and proper postin/preun/postun scriplets.
* tests: remove only existing loopsZdenek Kabelac2015-09-101-1/+1
| | | | If loop device meanwhile dissapered, skip 'losetup -d' call.