lvm2/0028-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
wangzhiqiang 817359b9f1 vgchange: acquire an exclusive VG lock for refresh
Signed-off-by: wangzhiqiang <wangzhiqiang95@huawei.com>
(cherry picked from commit e1e03956638b111cc8a9e9430bb798a372a5e765)
2024-02-22 19:44:13 +08:00

31 lines
912 B
Diff

From 65d23a1d75013f328e9a3a1914484514621822ef Mon Sep 17 00:00:00 2001
From: wangzhiqiang <wangzhiqiang95@huawei.com>
Date: Wed, 30 Aug 2023 15:47:42 -0500
Subject: [PATCH] vgchange: acquire an exclusive VG lock for refresh
Concurrent vgchange --refresh commands can lead to hung
tasks in dm code.
Signed-off-by: wangzhiqiang <wangzhiqiang95@huawei.com>
---
tools/vgchange.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/vgchange.c b/tools/vgchange.c
index e2d3dad02..8c1d605c6 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -1008,7 +1008,8 @@ int vgchange(struct cmd_context *cmd, int argc, char **argv)
if (update)
flags |= READ_FOR_UPDATE;
- else if (arg_is_set(cmd, activate_ARG))
+ else if (arg_is_set(cmd, activate_ARG) ||
+ arg_is_set(cmd, refresh_ARG))
flags |= READ_FOR_ACTIVATE;
if (!(handle = init_processing_handle(cmd, NULL))) {
--
2.33.0