diff mbox

rbd: update feature bits

Message ID 516715E1.5090708@inktank.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Elder April 11, 2013, 7:58 p.m. UTC
There is a new rbd feature bit defined for "fancy striping." Add
it to the ones defined in the kernel client.

Change RBD_FEATURES_ALL so it represents the set of all feature
bits (rather than just the ones we support).  Define a new symbol
RBD_FEATURES_SUPPORTED to indicate the supported ones.

Signed-off-by: Alex Elder <elder@inktank.com>
---
 drivers/block/rbd.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

 	*snap_features = le64_to_cpu(features_buf.features);

Comments

Josh Durgin April 11, 2013, 8:04 p.m. UTC | #1
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>

On 04/11/2013 12:58 PM, Alex Elder wrote:
> There is a new rbd feature bit defined for "fancy striping." Add
> it to the ones defined in the kernel client.
>
> Change RBD_FEATURES_ALL so it represents the set of all feature
> bits (rather than just the ones we support).  Define a new symbol
> RBD_FEATURES_SUPPORTED to indicate the supported ones.
>
> Signed-off-by: Alex Elder <elder@inktank.com>
> ---
>   drivers/block/rbd.c |    9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index 11b7987..503e64f 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -73,11 +73,14 @@
>
>   /* Feature bits */
>
> -#define RBD_FEATURE_LAYERING      1
> +#define RBD_FEATURE_LAYERING	(1<<0)
> +#define RBD_FEATURE_STRIPINGV2	(1<<1)
> +#define RBD_FEATURES_ALL \
> +	    (RBD_FEATURE_LAYERING | RBD_FEATURE_STRIPINGV2)
>
>   /* Features supported by this (client software) implementation. */
>
> -#define RBD_FEATURES_ALL          (0)
> +#define RBD_FEATURES_SUPPORTED	(0)
>
>   /*
>    * An RBD device name will be "rbd#", where the "rbd" comes from
> @@ -2843,7 +2846,7 @@ static int _rbd_dev_v2_snap_features(struct
> rbd_device *rbd_dev, u64 snap_id,
>   		return ret;
>
>   	incompat = le64_to_cpu(features_buf.incompat);
> -	if (incompat & ~RBD_FEATURES_ALL)
> +	if (incompat & ~RBD_FEATURES_SUPPORTED)
>   		return -ENXIO;
>
>   	*snap_features = le64_to_cpu(features_buf.features);
>

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 11b7987..503e64f 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -73,11 +73,14 @@ 

 /* Feature bits */

-#define RBD_FEATURE_LAYERING      1
+#define RBD_FEATURE_LAYERING	(1<<0)
+#define RBD_FEATURE_STRIPINGV2	(1<<1)
+#define RBD_FEATURES_ALL \
+	    (RBD_FEATURE_LAYERING | RBD_FEATURE_STRIPINGV2)

 /* Features supported by this (client software) implementation. */

-#define RBD_FEATURES_ALL          (0)
+#define RBD_FEATURES_SUPPORTED	(0)

 /*
  * An RBD device name will be "rbd#", where the "rbd" comes from
@@ -2843,7 +2846,7 @@  static int _rbd_dev_v2_snap_features(struct
rbd_device *rbd_dev, u64 snap_id,
 		return ret;

 	incompat = le64_to_cpu(features_buf.incompat);
-	if (incompat & ~RBD_FEATURES_ALL)
+	if (incompat & ~RBD_FEATURES_SUPPORTED)
 		return -ENXIO;