All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <mchristi@redhat.com>
To: dm-devel@redhat.com, christophe.varoqui@opensvc.com
Cc: Mike Christie <mchristi@redhat.com>
Subject: [PATCH 5/5] rbd: use lock_on_read if set
Date: Tue, 11 Oct 2016 16:36:55 -0500	[thread overview]
Message-ID: <1476221815-17900-6-git-send-email-mchristi@redhat.com> (raw)
In-Reply-To: <1476221815-17900-1-git-send-email-mchristi@redhat.com>

If lock_on_read is set initially, pass it as a map option
when remapping the image.

Signed-off-by: Mike Christie <mchristi@redhat.com>
---
 libmultipath/checkers/rbd.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libmultipath/checkers/rbd.c b/libmultipath/checkers/rbd.c
index e516166..c920cbb 100644
--- a/libmultipath/checkers/rbd.c
+++ b/libmultipath/checkers/rbd.c
@@ -46,6 +46,7 @@ struct rbd_checker_context {
 	char *username;
 	int remapped;
 	int blacklisted;
+	int lock_on_read:1;
 
 	rados_t cluster;
 
@@ -142,6 +143,9 @@ int libcheck_init(struct checker * c)
 		goto free_addr;
 	}
 
+	if (strstr(config_info, "lock_on_read"))
+		ct->lock_on_read = 1;
+
 	ct->config_info = strdup(config_info);
 	if (!ct->config_info)
 		goto free_addr;
@@ -398,7 +402,10 @@ static int rbd_remap(struct rbd_checker_context *ct)
 	case 0:
 		argv[i++] = "rbd";
 		argv[i++] = "map";
-		argv[i++] = "-o noshare";
+		if (ct->lock_on_read)
+			argv[i++] = "-o noshare,lock_on_read";
+		else
+			argv[i++] = "-o noshare";
 		if (ct->username) {
 			argv[i++] = "--id";
 			argv[i++] = ct->username;
-- 
2.7.2

  parent reply	other threads:[~2016-10-11 21:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-11 21:36 [PATCH 0/5] rbd checker fixes Mike Christie
2016-10-11 21:36 ` [PATCH 1/5] rbd: fix sync repair support Mike Christie
2016-10-11 21:36 ` [PATCH 2/5] rbd: check for nonshared clients Mike Christie
2016-10-11 21:36 ` [PATCH 3/5] rbd: check for exclusive lock enabled Mike Christie
2016-10-11 21:36 ` [PATCH 4/5] rbd: fixup log messages Mike Christie
2016-10-11 21:36 ` Mike Christie [this message]
2016-10-16  7:56 ` [PATCH 0/5] rbd checker fixes Christophe Varoqui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1476221815-17900-6-git-send-email-mchristi@redhat.com \
    --to=mchristi@redhat.com \
    --cc=christophe.varoqui@opensvc.com \
    --cc=dm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.