31 lines
912 B
Diff
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
|
||
|
|
|