diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2018-01-16 09:41:54 -0500 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2018-01-29 12:36:03 -0500 |
commit | e573427a440fd67d3f522357d7ac901d59281948 (patch) | |
tree | 349867a8fb7ac4ad785eabf06c7c0cd9b28ebdc3 | |
parent | d98f153f1a116f79e636edd34b4fec07e49ae9b2 (diff) |
rbd: whitelist RBD_FEATURE_OPERATIONS feature bit
This feature bit restricts older clients from performing certain
maintenance operations against an image (e.g. clone, snap create).
krbd does not perform maintenance operations.
Cc: stable@vger.kernel.org
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
-rw-r--r-- | drivers/block/rbd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 4a886d8c4a3c..8e40da093766 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -124,11 +124,13 @@ static int atomic_dec_return_safe(atomic_t *v) | |||
124 | #define RBD_FEATURE_STRIPINGV2 (1ULL<<1) | 124 | #define RBD_FEATURE_STRIPINGV2 (1ULL<<1) |
125 | #define RBD_FEATURE_EXCLUSIVE_LOCK (1ULL<<2) | 125 | #define RBD_FEATURE_EXCLUSIVE_LOCK (1ULL<<2) |
126 | #define RBD_FEATURE_DATA_POOL (1ULL<<7) | 126 | #define RBD_FEATURE_DATA_POOL (1ULL<<7) |
127 | #define RBD_FEATURE_OPERATIONS (1ULL<<8) | ||
127 | 128 | ||
128 | #define RBD_FEATURES_ALL (RBD_FEATURE_LAYERING | \ | 129 | #define RBD_FEATURES_ALL (RBD_FEATURE_LAYERING | \ |
129 | RBD_FEATURE_STRIPINGV2 | \ | 130 | RBD_FEATURE_STRIPINGV2 | \ |
130 | RBD_FEATURE_EXCLUSIVE_LOCK | \ | 131 | RBD_FEATURE_EXCLUSIVE_LOCK | \ |
131 | RBD_FEATURE_DATA_POOL) | 132 | RBD_FEATURE_DATA_POOL | \ |
133 | RBD_FEATURE_OPERATIONS) | ||
132 | 134 | ||
133 | /* Features supported by this (client software) implementation. */ | 135 | /* Features supported by this (client software) implementation. */ |
134 | 136 | ||