1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00
lvm2/lib/activate
Jonathan Brassow c95f17ea64 Mirror: Fix issue preventing PV creation on mirror LVs
Commit b248ba0a39 attempted to
prevent mirror devices which had a failed device in their
mirrored log from being usable/readable by LVM.  This was to
protect against circular dependancies where one LVM command
could be blocked trying to read one of these affected mirrors
while the LVM command to fix/unblock that mirror was stuck
behind the currently running command.

The above commit went wrong when it used 'device_is_usable()' to
recurse on the mirrored log device to check if it was suspended
or blocked.  The 'device_is_usable' function also contains a check
for reserved names - like *_mlog, etc.  This last check always
triggered when checking a mirror's log simply because of the name,
not because it was suspended or blocked - a false positive.

The solution is to create a new function like 'device_is_usable',
but without the check for reserved names.  Using this new function
(device_is_suspended_or_blocked), we can check the status of a
mirror's log device properly.
2013-08-07 17:42:26 -05:00
..
activate.c RAID: Fix segfault when reporting raid_syncaction field on older kernel 2013-07-19 10:01:48 -05:00
activate.h Mirror: Fix issue preventing PV creation on mirror LVs 2013-08-07 17:42:26 -05:00
dev_manager.c Mirror: Fix issue preventing PV creation on mirror LVs 2013-08-07 17:42:26 -05:00
dev_manager.h RAID: Add scrubbing support for RAID LVs 2013-04-11 15:33:59 -05:00
fs.c clean-up: Typo 's/should had/should have/' 2013-03-06 08:42:03 -06:00
fs.h Fix lv_info open_count test 2011-10-14 13:23:47 +00:00
targets.h Use UUIDs instead of names while processing event handlers. 2010-04-14 13:01:38 +00:00