1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-30 17:18:21 +03:00

Never scan internal LVM devices.

This commit is contained in:
Petr Rockai 2010-08-09 14:05:16 +00:00
parent 0ae41c4412
commit f3ad0dcfde
2 changed files with 10 additions and 5 deletions

View File

@ -153,12 +153,17 @@ int device_is_usable(struct device *dev)
if (!dm_task_get_info(dmt, &info))
goto_out;
if (!info.exists || info.suspended)
if (!info.exists)
goto out;
name = dm_task_get_name(dmt);
uuid = dm_task_get_uuid(dmt);
if (info.suspended && ignore_suspended_devices()) {
log_debug("%s: Suspended device %s not usable.", dev_name(dev), name);
goto out;
}
/* FIXME Also check for mirror block_on_error and mpath no paths */
/* For now, we exclude all mirrors */
@ -166,8 +171,8 @@ int device_is_usable(struct device *dev)
next = dm_get_next_target(dmt, next, &start, &length,
&target_type, &params);
/* Skip if target type doesn't match */
if (target_type && !strcmp(target_type, "mirror")) {
log_debug("%s: Mirror device not usable.", dev_name(dev));
if (target_type && !strcmp(target_type, "mirror") && ignore_suspended_devices()) {
log_debug("%s: Mirror device %s not usable.", dev_name(dev), name);
goto out;
}
} while (next);

View File

@ -279,8 +279,8 @@ static int _lookup_p(struct dev_filter *f, struct device *dev)
if (!l)
dm_list_iterate_items(sl, &dev->aliases)
dm_hash_insert(pf->devices, sl->str, PF_GOOD_DEVICE);
if (ignore_suspended_devices() && !device_is_usable(dev)) {
log_debug("%s: Skipping (suspended/internal)", dev_name(dev));
if (!device_is_usable(dev)) {
log_debug("%s: Skipping unusable device", dev_name(dev));
return 0;
}
return pf->real->passes_filter(pf->real, dev);