1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-11 09:18:25 +03:00
lvm2/tools
Peter Rajnoha 5771fee535 Use new dev_open_readonly fn to prevent opening devices for read-write when not necessary.
Before, we used vg_write_lock_held call to determnine the way a device is
opened. Unfortunately, this opened many devices in RW mode when it was not
really necessary. With the OPTIONS+="watch" rule used in the udev rules,
this could fire numerous events while closing such devices (and it caused
useless scans from within udev rules in return).

A common bug we hit with this was with the lvremove command which was unable
to remove the LV since it was being opened from within the udev rules. This
patch should minimize such situations (at least with respect to LVM handling
of devices).

Though there's still a possibility someone will open a device 'outside' in
parallel and fire the event based on the watch rule when closing a device
once opened for RW.
2011-05-28 09:48:14 +00:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
args.h Support repetition of --addtag and --deltag arguments. 2010-11-11 17:29:05 +00:00
cmdnames.h Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
commands.h Add global/metadata_read_only to use unrepaired metadata in read-only cmds. 2010-10-25 11:20:54 +00:00
dmsetup.c Require libudev >= 143 when compiling with udev support. 2011-04-22 11:56:41 +00:00
dumpconfig.c Tidy some uses of arg_count and introduce arg_is_set. 2009-11-03 15:50:42 +00:00
formats.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvchange.c s/MIRROR_NOTSYNCED/LV_NOTSYNCED/ - Flag will may refer to more than just mirrors 2011-03-29 12:51:57 +00:00
lvconvert.c Add a new entry point in the mirror lvconvert code, for removing missing mirror 2011-05-07 13:56:13 +00:00
lvconvert.h Add a new entry point in the mirror lvconvert code, for removing missing mirror 2011-05-07 13:56:13 +00:00
lvcreate.c cosmetic change - swapping one macro for another 2011-03-25 21:56:28 +00:00
lvdisplay.c Rework the toollib interface (process_each_*) on top of new vg_read. 2009-07-01 17:00:50 +00:00
lvextend.c Some whitespace tidy-ups. 2008-01-30 14:00:02 +00:00
lvm2cmd-static.c Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
lvm2cmd.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvm2cmd.h Remove C++ private keyword from headers. 2010-06-16 13:01:25 +00:00
lvm2cmdline.h Support repetition of --addtag and --deltag arguments. 2010-11-11 17:29:05 +00:00
lvm-static.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvm.c Support repetition of --addtag and --deltag arguments. 2010-11-11 17:29:05 +00:00
lvmchange.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvmcmdlib.c mlockall() -> mlock() 2010-03-05 14:48:33 +00:00
lvmcmdline.c When glibc needs buffers for line buffering of input and output buffers, it 2011-05-07 13:50:11 +00:00
lvmdiskscan.c Use new dev_open_readonly fn to prevent opening devices for read-write when not necessary. 2011-05-28 09:48:14 +00:00
lvreduce.c Some whitespace tidy-ups. 2008-01-30 14:00:02 +00:00
lvremove.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvrename.c Rename vg_release to free_vg. 2010-12-08 20:50:48 +00:00
lvresize.c This patch adds the ability to extend 0 length layered LVs. This 2011-04-06 21:32:20 +00:00
lvscan.c Do not check for open_count when not needed. 2011-02-03 01:24:46 +00:00
Makefile.in Fix linking order for liblvm2cmd 2010-10-15 09:41:21 +00:00
polldaemon.c Use return_0 to get bactrace 2011-02-18 15:05:40 +00:00
polldaemon.h Default to checking LV's progress before waiting in _wait_for_single_lv. 2010-01-22 21:59:42 +00:00
pvchange.c Allow non-orphan PVs with two metadata areas to be resized. 2011-02-28 13:19:02 +00:00
pvck.c Add escape sequence for ':' and '@' found in device names used as PVs. 2010-09-23 12:02:33 +00:00
pvcreate.c Add new free_pv_fid fn and use it throughout to free all attached fids. 2011-03-11 14:56:56 +00:00
pvdisplay.c Rename vg_release to free_vg. 2010-12-08 20:50:48 +00:00
pvmove.c Remove double braces 2011-03-29 20:19:03 +00:00
pvremove.c Add new free_pv_fid fn and use it throughout to free all attached fids. 2011-03-11 14:56:56 +00:00
pvresize.c Add new free_pv_fid fn and use it throughout to free all attached fids. 2011-03-11 14:56:56 +00:00
pvscan.c Add new free_pv_fid fn and use it throughout to free all attached fids. 2011-03-11 14:56:56 +00:00
reporter.c Use empty string instead of /dev// for LV path when there's no VG. 2011-03-09 12:44:42 +00:00
segtypes.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
stub.h Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
toollib.c Do not log a superfluous stack message when the lv is properly processed 2011-05-19 13:59:22 +00:00
toollib.h Const fixing 2011-02-18 14:47:28 +00:00
tools.h Refactor the percent (mirror sync, snapshot usage) handling code to use 2010-11-30 11:53:31 +00:00
vgcfgbackup.c Fix process_each_vg / _process_one_vg when vg_read() returns FAILED_LOCKING. 2009-09-15 01:38:59 +00:00
vgcfgrestore.c Const fixing 2011-02-18 14:47:28 +00:00
vgchange.c PE size overflows, on most architectures it is catch by "PE cannot be 0" 2011-03-02 20:00:09 +00:00
vgck.c Make vgck warn about missing PVs. 2010-07-27 20:05:29 +00:00
vgconvert.c Add new free_pv_fid fn and use it throughout to free all attached fids. 2011-03-11 14:56:56 +00:00
vgcreate.c Const fixing 2011-02-18 14:47:28 +00:00
vgdisplay.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgexport.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgextend.c Const fixing 2011-02-18 14:47:28 +00:00
vgimport.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgmerge.c Fix free_vg order 2011-03-30 14:35:00 +00:00
vgmknodes.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgreduce.c Rewrite vgreduce --removemissing --force, using existing primitives: 2011-05-07 15:52:16 +00:00
vgremove.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgrename.c Const fixing 2011-02-18 14:47:28 +00:00
vgscan.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
vgsplit.c pre-release clean-ups 2011-04-29 00:21:13 +00:00