1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/tools
David Teigland 2bce6faed0 pvchange: fix file locking deadlock
Calling clear_hint_file() to invalidate hints would acquire
the hints flock before the global flock which could cause deadlock.
The lock order requires the global lock to be taken first.

pvchange was always invalidating hints, which was unnecessary;
only invalidate hints when changing a PV uuid.  Because of the
lock ordering, take the global lock before clear_hint_file which
locks the hints file.
2021-06-02 16:29:54 -05:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore tools: add generated headers to .gitignore 2017-03-10 13:13:41 +00:00
args.h args.h: bold command refference 2021-04-23 23:00:55 +02:00
cmdnames.h doc: change fsf address 2016-01-21 12:11:37 +01:00
command-lines.in enable command syntax for thin and writecache 2021-05-24 16:09:35 -05:00
command.c cov: ensure there is space for 0 at eol 2021-04-23 22:58:45 +02:00
command.h commands: use AUTOTYPE in definitions 2021-04-21 08:41:37 -05:00
commands.h commands.h: keep entries alphabetically sorted 2021-03-02 22:54:40 +01:00
dumpconfig.c lvmconfig: Add options to produce file preamble 2017-08-05 16:23:34 +01:00
errors.h tools: Introduce exit code EINIT_FAILED. 2017-07-26 23:18:03 +01:00
formats.c doc: change fsf address 2016-01-21 12:11:37 +01:00
license.inc pre-release 2017-03-28 16:11:35 +01:00
lv_props.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lv_types.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lvchange.c Add metadata-based autoactivation property for VG and LV 2021-04-07 15:32:49 -05:00
lvconvert_poll.c thin: ignore parallel merge while polling 2021-03-18 18:34:57 +01:00
lvconvert_poll.h build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvconvert.c tools: Add support for "idm" lock type 2021-05-20 16:01:05 -05:00
lvcreate.c Add metadata-based autoactivation property for VG and LV 2021-04-07 15:32:49 -05:00
lvdisplay.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvextend.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd-static.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmdline.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm.c lvm: Fix editline compilation 2021-03-22 11:37:19 +01:00
lvmcmdlib.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvmcmdline.c commands: use AUTOTYPE in definitions 2021-04-21 08:41:37 -05:00
lvmdevices.c label_read_pvid: separate error and no-pvid 2021-04-23 17:37:08 -05:00
lvmdiskscan.c remove unused full filter 2018-12-04 14:06:46 -06:00
lvpoll.c build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvreduce.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvremove.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvrename.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
lvresize.c lvresize: allow mixing striped with errors or zero 2021-03-18 18:56:49 +01:00
lvscan.c Remove lvmetad 2018-07-11 11:26:42 -05:00
Makefile.in makefiles: static linking enhancements 2021-04-12 09:54:15 +02:00
polldaemon.c polldaemon: improve support for interruptions 2021-04-06 22:02:31 +02:00
pvchange.c pvchange: fix file locking deadlock 2021-06-02 16:29:54 -05:00
pvck.c cov: check setup_devices return code 2021-04-23 23:00:55 +02:00
pvcreate.c device usage based on devices file 2021-02-23 16:43:32 -06:00
pvdisplay.c add device hints to reduce scanning 2019-01-15 10:23:47 -06:00
pvmove_poll.c pvmove: add missing synchronization 2019-08-20 12:44:39 +02:00
pvmove_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove.c writecache: don't pvmove device used by writecache 2021-06-02 11:12:20 -05:00
pvremove.c pvcreate: call label scan prior to pvcreate_each_device 2019-04-30 14:10:27 -05:00
pvresize.c exported vg handling 2019-06-25 15:39:08 -05:00
pvscan.c label_read_pvid: separate error and no-pvid 2021-04-23 17:37:08 -05:00
reporter.c cleanup: matching declaration order 2020-09-01 17:57:50 +02:00
segtypes.c doc: change fsf address 2016-01-21 12:11:37 +01:00
stub.h Remove vgconvert 2018-06-13 14:14:03 -05:00
tags.c doc: change fsf address 2016-01-21 12:11:37 +01:00
tool.h configure: avoid repeative inclusion of configure.h 2018-12-21 19:19:50 +01:00
toollib.c tools: Add support for "idm" lock type 2021-05-20 16:01:05 -05:00
toollib.h writecache: cachesettings in lvchange and lvs 2020-06-10 12:14:00 -05:00
tools.h device usage based on devices file 2021-02-23 16:43:32 -06:00
vals.h tools: correct units description 2021-04-19 14:40:14 +02:00
vgcfgbackup.c improve reading and repairing vg metadata 2019-06-07 15:54:04 -05:00
vgcfgrestore.c locking: unify global lock for flock and lockd 2019-04-29 13:01:05 -05:00
vgchange.c Add metadata-based autoactivation property for VG and LV 2021-04-07 15:32:49 -05:00
vgck.c vgck: fix updatemetadata writing different descriptions 2019-10-11 12:57:32 -05:00
vgcreate.c Add metadata-based autoactivation property for VG and LV 2021-04-07 15:32:49 -05:00
vgdisplay.c tidy: Add missing underscores to statics. 2017-10-18 15:58:13 +01:00
vgexport.c lvmlockd: primarily use vg_is_shared 2018-06-01 13:15:22 -05:00
vgextend.c device usage based on devices file 2021-02-23 16:43:32 -06:00
vgimport.c exported vg handling 2019-06-25 15:39:08 -05:00
vgimportclone.c cov: remove unnecessary headers 2021-03-10 01:29:44 +01:00
vgimportdevices.c cov: unused value 2021-03-10 01:29:44 +01:00
vgmerge.c remove vg_read_error 2020-04-24 11:14:29 -05:00
vgmknodes.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
vgreduce.c add suggestion message for mirror LVs 2020-01-15 09:46:54 -06:00
vgremove.c exported vg handling 2019-06-25 15:39:08 -05:00
vgrename.c vgrename: fix error value when name exists 2020-04-21 09:33:56 -05:00
vgscan.c locking: unify global lock for flock and lockd 2019-04-29 13:01:05 -05:00
vgsplit.c cleanup: indent 2021-04-23 23:00:55 +02:00