[lvm-devel] [PATCH] Skip also special lvm devices in scan (if ignore suspended is used).
Milan Broz
mbroz at redhat.com
Thu May 13 15:24:22 UTC 2010
This shoud avoid various races between dmeventd on multiple nodes
in cluster where one node already repairing device and another
run full scan and locks the device.
Signed-off-by: Milan Broz <mbroz at redhat.com>
---
lib/activate/dev_manager.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index d52d46f..ccafc1e 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -130,7 +130,7 @@ int device_is_usable(dev_t dev)
{
struct dm_task *dmt;
struct dm_info info;
- const char *name;
+ const char *name, *uuid;
uint64_t start, length;
char *target_type = NULL;
char *params;
@@ -157,6 +157,7 @@ int device_is_usable(dev_t dev)
goto out;
name = dm_task_get_name(dmt);
+ uuid = dm_task_get_uuid(dmt);
/* FIXME Also check for mirror block_on_error and mpath no paths */
/* For now, we exclude all mirrors */
@@ -171,6 +172,11 @@ int device_is_usable(dev_t dev)
/* FIXME Also check dependencies? */
+ /* Check internal lvm devices */
+ if (!is_reserved_lvname(name) && uuid &&
+ !strncmp(uuid, UUID_PREFIX, sizeof(UUID_PREFIX) - 1))
+ goto out;
+
r = 1;
out:
--
1.7.1
More information about the lvm-devel
mailing list