rbd: activate support for layered images
authorAlex Elder <elder@inktank.com>
Fri, 26 Oct 2012 04:34:40 +0000 (23:34 -0500)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:19:23 +0000 (21:19 -0700)
Now that we have most everything in place to support layered rbd
images, enable support for them in the kernel client.  Issue a
warning to the log that the support is considered experimental
whenever a format 2 layered image is mapped.

Note that we also have to claim to support the STRIPINGV2 feature,
due to a mistake in the way the rbd CLI set up those flags.  This
feature can work if it has the right parameters, and safeguards
have been put in place to reject those images that do not have
compatible parameters.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c

index c6a3f46..4d99d40 100644 (file)
@@ -80,7 +80,7 @@
 
 /* Features supported by this (client software) implementation. */
 
-#define RBD_FEATURES_SUPPORTED (0)
+#define RBD_FEATURES_SUPPORTED (RBD_FEATURES_ALL)
 
 /*
  * An RBD device name will be "rbd#", where the "rbd" comes from
@@ -4724,6 +4724,8 @@ static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
                ret = rbd_dev_v2_parent_info(rbd_dev);
                if (ret)
                        goto out_err;
+               rbd_warn(rbd_dev, "WARNING: kernel support for "
+                                       "layered rbd images is EXPERIMENTAL!");
        }
 
        /* If the image supports fancy striping, get its parameters */