Blame SOURCES/lvm2-2_02_178-lvmlockd-add-lockopt-values-for-skipping-selected-lo.patch

f0aa83
From 8a5e0083200db4b8d1ee2d4e95079372e75fd750 Mon Sep 17 00:00:00 2001
f0aa83
From: David Teigland <teigland@redhat.com>
f0aa83
Date: Tue, 9 Jan 2018 11:18:57 -0600
f0aa83
Subject: [PATCH 09/25] lvmlockd: add lockopt values for skipping selected
f0aa83
 locks
f0aa83
f0aa83
and add lockopt to common options.
f0aa83
f0aa83
(cherry picked from commit 46cedb105bb7fdba0107794ca5801c2a0e8fd524)
f0aa83
---
f0aa83
 tools/command-lines.in |  9 ++++-----
f0aa83
 tools/lvmcmdline.c     | 10 ++++++++++
f0aa83
 2 files changed, 14 insertions(+), 5 deletions(-)
f0aa83
f0aa83
diff --git a/tools/command-lines.in b/tools/command-lines.in
f0aa83
index d0e5e06..a1776ce 100644
f0aa83
--- a/tools/command-lines.in
f0aa83
+++ b/tools/command-lines.in
f0aa83
@@ -187,7 +187,7 @@
f0aa83
 # OO_ALL is included in every command automatically.
f0aa83
 #
f0aa83
 OO_ALL: --commandprofile String, --config String, --debug,
f0aa83
---driverloaded Bool, --help, --longhelp, --profile String, --quiet,
f0aa83
+--driverloaded Bool, --help, --lockopt String, --longhelp, --profile String, --quiet,
f0aa83
 --verbose, --version, --yes, --test
f0aa83
 
f0aa83
 #
f0aa83
@@ -1524,19 +1524,18 @@ ID: vgchange_systemid
f0aa83
 DESC: Change the system ID of a VG.
f0aa83
 
f0aa83
 vgchange --lockstart
f0aa83
-OO: --lockopt String, --select String
f0aa83
+OO: --select String
f0aa83
 OP: VG|Tag|Select ...
f0aa83
 ID: vgchange_lockstart
f0aa83
 DESC: Start the lockspace of a shared VG in lvmlockd.
f0aa83
 
f0aa83
 vgchange --lockstop
f0aa83
-OO: --lockopt String, --select String
f0aa83
+OO: --select String
f0aa83
 OP: VG|Tag|Select ...
f0aa83
 ID: vgchange_lockstop
f0aa83
 DESC: Stop the lockspace of a shared VG in lvmlockd.
f0aa83
 
f0aa83
 vgchange --locktype LockType VG
f0aa83
-OO: --lockopt String
f0aa83
 ID: vgchange_locktype
f0aa83
 DESC: Change the lock type for a shared VG.
f0aa83
 
f0aa83
@@ -1563,7 +1562,7 @@ OO: --addtag Tag, --alloc Alloc, --autobackup Bool, --clustered Bool, --maxlogic
f0aa83
 --physicalextentsize SizeMB, --force, --zero Bool, --labelsector Number,
f0aa83
 --metadatasize SizeMB, --pvmetadatacopies MetadataCopiesPV, --vgmetadatacopies MetadataCopiesVG,
f0aa83
 --reportformat ReportFmt, --dataalignment SizeKB, --dataalignmentoffset SizeKB,
f0aa83
---shared, --systemid String, --locktype LockType, --lockopt String
f0aa83
+--shared, --systemid String, --locktype LockType
f0aa83
 ID: vgcreate_general
f0aa83
 
f0aa83
 ---
f0aa83
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
f0aa83
index b693722..791e272 100644
f0aa83
--- a/tools/lvmcmdline.c
f0aa83
+++ b/tools/lvmcmdline.c
f0aa83
@@ -2682,6 +2682,16 @@ static int _init_lvmlockd(struct cmd_context *cmd)
f0aa83
 		return 1;
f0aa83
 	}
f0aa83
 
f0aa83
+	if (use_lvmlockd && arg_is_set(cmd, lockopt_ARG)) {
f0aa83
+		const char *opts = arg_str_value(cmd, lockopt_ARG, "");
f0aa83
+		if (strstr(opts, "skiplv"))
f0aa83
+			cmd->lockd_lv_disable = 1;
f0aa83
+		if (strstr(opts, "skipvg"))
f0aa83
+			cmd->lockd_vg_disable = 1;
f0aa83
+		if (strstr(opts, "skipgl"))
f0aa83
+			cmd->lockd_gl_disable = 1;
f0aa83
+	}
f0aa83
+
f0aa83
 	if (use_lvmlockd && locking_is_clustered()) {
f0aa83
 		log_error("ERROR: configuration setting use_lvmlockd cannot be used with clustered locking_type 3.");
f0aa83
 		return 0;
f0aa83
-- 
f0aa83
1.8.3.1
f0aa83