[linux-lvm] vgchange acquire an exclusive VG lock for refresh
David Teigland
teigland at redhat.com
Tue Aug 29 21:41:43 UTC 2023
On Tue, Aug 29, 2023 at 02:36:53PM +0800, wangzhiqiang (Q) wrote:
> diff --git a/tools/vgchange.c b/tools/vgchange.c
> index f07b245bd..f35ff4c0e 100644
> --- a/tools/vgchange.c
> +++ b/tools/vgchange.c
> @@ -1003,7 +1003,7 @@ int vgchange(struct cmd_context *cmd, int argc, char **argv)
> init_external_device_info_source(DEV_EXT_NONE);
> }
>
> - if (update)
> + if (update || arg_is_set(cmd, refresh_ARG))
> flags |= READ_FOR_UPDATE;
> else if (arg_is_set(cmd, activate_ARG))
> flags |= READ_FOR_ACTIVATE;
Shouldn't it be:
else if (arg_is_set(cmd, activate_ARG) ||
arg_is_set(cmd, refresh_ARG))
flags |= READ_FOR_ACTIVATE;
READ_FOR_ACTIVATE should translate to an ex lock like READ_FOR_UPDATE.
Note the same fix for lvchange refresh in commit 47bcb446b83f9aa4fca74301fda109a8bf670fbb
Dave
More information about the linux-lvm
mailing list