exclusive-lock: exclusive locking support
object-map: object map support (requires exclusive-lock)
fast-diff: fast diff calculations (requires object-map)
+ deep-flatten: snapshot flatten support
.. option:: --image-shared
#define RBD_FEATURE_EXCLUSIVE_LOCK (1<<2)
#define RBD_FEATURE_OBJECT_MAP (1<<3)
#define RBD_FEATURE_FAST_DIFF (1<<4)
+#define RBD_FEATURE_DEEP_FLATTEN (1<<5)
#define RBD_FEATURES_INCOMPATIBLE (RBD_FEATURE_LAYERING | \
RBD_FEATURE_STRIPINGV2)
-#define RBD_FEATURES_RW_INCOMPATIBLE (RBD_FEATURES_INCOMPATIBLE | \
+#define RBD_FEATURES_RW_INCOMPATIBLE (RBD_FEATURES_INCOMPATIBLE | \
RBD_FEATURE_EXCLUSIVE_LOCK | \
- RBD_FEATURE_OBJECT_MAP | \
- RBD_FEATURE_FAST_DIFF)
+ RBD_FEATURE_OBJECT_MAP | \
+ RBD_FEATURE_FAST_DIFF | \
+ RBD_FEATURE_DEEP_FLATTEN)
-#define RBD_FEATURES_ALL (RBD_FEATURE_LAYERING | \
- RBD_FEATURE_STRIPINGV2 | \
+#define RBD_FEATURES_ALL (RBD_FEATURE_LAYERING | \
+ RBD_FEATURE_STRIPINGV2 | \
RBD_FEATURE_EXCLUSIVE_LOCK | \
- RBD_FEATURE_OBJECT_MAP | \
- RBD_FEATURE_FAST_DIFF)
+ RBD_FEATURE_OBJECT_MAP | \
+ RBD_FEATURE_FAST_DIFF | \
+ RBD_FEATURE_DEEP_FLATTEN)
#define RBD_FEATURES_MUTABLE (RBD_FEATURE_EXCLUSIVE_LOCK | \
- RBD_FEATURE_OBJECT_MAP | \
+ RBD_FEATURE_OBJECT_MAP | \
RBD_FEATURE_FAST_DIFF)
#endif
RBD_FEATURE_STRIPINGV2, "striping")(
RBD_FEATURE_EXCLUSIVE_LOCK, "exclusive-lock")(
RBD_FEATURE_OBJECT_MAP, "object-map")(
- RBD_FEATURE_FAST_DIFF, "fast-diff");
+ RBD_FEATURE_FAST_DIFF, "fast-diff")(
+ RBD_FEATURE_DEEP_FLATTEN, "deep-flatten");
void usage()
{
--allow-shrink allow shrinking of an image when resizing
Supported image features:
- layering (+), striping (+), exclusive-lock (*), object-map (*), fast-diff (*)
+ layering (+), striping (+), exclusive-lock (*), object-map (*), fast-diff (*), deep-flatten
(*) supports enabling/disabling on existing images
(+) enabled by default for new images if features are not specified