mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
pvs: Hide inaccessible clustered PVs.
Inaccessible clustered PVs can be hidden from pvs -a in the same way as foreign PVs, rather than showing them as if they do not belong to a VG.
This commit is contained in:
parent
87941ccd17
commit
5bf74f2997
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.118 -
|
Version 2.02.118 -
|
||||||
=================================
|
=================================
|
||||||
|
Remove inaccessible clustered PVs from 'pvs -a'.
|
||||||
Don't invalidate cached orphan information while global lock is held.
|
Don't invalidate cached orphan information while global lock is held.
|
||||||
Avoid rescan of all devices when requested pvscan for removed device.
|
Avoid rescan of all devices when requested pvscan for removed device.
|
||||||
Measure configuration timestamps with nanoseconds when available.
|
Measure configuration timestamps with nanoseconds when available.
|
||||||
|
@ -175,6 +175,7 @@ const char *skip_dev_dir(struct cmd_context *cmd, const char *vg_name,
|
|||||||
* and the command option has been used to ignore clustered vgs.
|
* and the command option has been used to ignore clustered vgs.
|
||||||
*
|
*
|
||||||
* Case c covers the other errors returned when reading the VG.
|
* Case c covers the other errors returned when reading the VG.
|
||||||
|
* If *skip is 1, it's OK for the caller to read the list of PVs in the VG.
|
||||||
*/
|
*/
|
||||||
static int _ignore_vg(struct volume_group *vg, const char *vg_name,
|
static int _ignore_vg(struct volume_group *vg, const char *vg_name,
|
||||||
struct dm_list *arg_vgnames, int allow_inconsistent, int *skip)
|
struct dm_list *arg_vgnames, int allow_inconsistent, int *skip)
|
||||||
@ -211,7 +212,14 @@ static int _ignore_vg(struct volume_group *vg, const char *vg_name,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((read_error == FAILED_CLUSTERED)) {
|
||||||
|
*skip = 1;
|
||||||
|
stack; /* Error already logged */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (read_error != SUCCESS) {
|
if (read_error != SUCCESS) {
|
||||||
|
*skip = 0;
|
||||||
log_error("Cannot process volume group %s", vg_name);
|
log_error("Cannot process volume group %s", vg_name);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -2718,8 +2726,11 @@ static int _process_pvs_in_vgs(struct cmd_context *cmd, uint32_t flags,
|
|||||||
if (_ignore_vg(vg, vg_name, NULL, flags & READ_ALLOW_INCONSISTENT, &skip)) {
|
if (_ignore_vg(vg, vg_name, NULL, flags & READ_ALLOW_INCONSISTENT, &skip)) {
|
||||||
stack;
|
stack;
|
||||||
ret_max = ECMD_FAILED;
|
ret_max = ECMD_FAILED;
|
||||||
release_vg(vg);
|
if (!skip) {
|
||||||
continue;
|
release_vg(vg);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
/* Drop through to eliminate a clustered VG's PVs from the devices list */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user