Message ID | 57AA2060.20708@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | christophe varoqui |
Headers | show |
Distributors will surely want to build all checkers to have the docs and hwtable in sync with the shipped checkers, and cover the widest range of setups. I'd rather drop this patch or, if it proves to be a problem, merge a variant with the rbd checker build by default and not-buildable by explicit define. But thanks, Christophe On Tue, Aug 9, 2016 at 8:26 PM, Mike Christie <mchristi@redhat.com> wrote: > On 08/09/2016 10:36 AM, Christophe Varoqui wrote: > > Merged. > > > > Thanks. > > > I think it is worth advertizing here that the build now requires rados.h. > > > > Sorry about adding the silly dependency. How about the attached patch to > make the rbd checker only be built if the user requests it. In the > documentation for my use, I will describe how to build it. This way > majority of users will not be bothered. > > > > Thanks. > > > > On Mon, Aug 8, 2016 at 2:01 PM, Mike Christie <mchristi@redhat.com> > wrote: > > > >> The following patches made over Christophe's tree today, > >> add Ceph rbd support for handling blacklisted devices. > >> > >> > >> This is not general support for rbd and multipath. There is > >> no boot/root support and it does not support features like > >> multibus. My use is for HA configurations, specifically for exporting > >> rbd images through multiple LIO instances. In this case, we have one > >> rbd instance that has the ceph rbd exclusive lock and it can send > >> WRITE requests. If that host becomes unreachable, then another host > >> will grab the lock, and blacklist the original host to prevent it from > >> sending stale IO (when blacklisted IO will be failed by the OSD). > >> > >> To recover from that type of scenario, this patchset adds a repair() > >> callout to the checker. If the path is in the PATH_DOWN state this > >> callout can be used to fix it up. For my case, I am remapping > >> the device to flush stale IO and cleanup the old lock, > >> and then unblacklisting the path, so it can be used again. > >> > >> Changes since v1: > >> - Drop ID_UID use and implemented sysfs getuid support. > >> - Drop settings that were defaults and follow template. > >> - Fix ceph auth/user. > >> > >> > > > > > > > > -- > > dm-devel mailing list > > dm-devel@redhat.com > > https://www.redhat.com/mailman/listinfo/dm-devel > > > > -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
On 08/10/2016 12:55 AM, Christophe Varoqui wrote: > Distributors will surely want to build all checkers to have the docs and > hwtable in sync with the shipped checkers, and cover the widest range of > setups. > > I'd rather drop this patch or, if it proves to be a problem, merge a > variant with the rbd checker build by default and not-buildable by > explicit define. Hello Mike and Christophe, How about detecting at compile time whether the rbd header files are available? That approach avoids that we have to introduce a configure script and also avoids that the user has to enable rbd support explicitly. In e.g. the fio makefile there are several tests to check which libraries are available and can be used during the fio build. Bart. -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
>From 4d0bfdfc032d4fabf0ac08ba105125ded168bd95 Mon Sep 17 00:00:00 2001 From: Mike Christie <mchristi@redhat.com> Date: Tue, 9 Aug 2016 13:19:41 -0500 Subject: [PATCH 1/1] checker: do not build rbd by default rbd is not a common driver and users will probably not have the tools/libs to use it. Make the rbd checker not built by default. Signed-off-by: Mike Christie <mchristi@redhat.com> --- libmultipath/checkers/Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile index 5fd2099..aeb425f 100644 --- a/libmultipath/checkers/Makefile +++ b/libmultipath/checkers/Makefile @@ -11,8 +11,11 @@ LIBS= \ libcheckdirectio.so \ libcheckemc_clariion.so \ libcheckhp_sw.so \ - libcheckrdac.so \ - libcheckrbd.so + libcheckrdac.so + +ifneq ($(CHECKER_RBD),) +LIBS += libcheckrbd.so +endif CFLAGS += -I.. -- 2.7.2