#define RBD_FEATURE_OBJECT_MAP (1<<3)
#define RBD_FEATURE_FAST_DIFF (1<<4)
#define RBD_FEATURE_DEEP_FLATTEN (1<<5)
+#define RBD_FEATURE_JOURNALING (1<<6)
/// features that make an image inaccessible for read or write by
/// clients that don't understand them
RBD_FEATURE_EXCLUSIVE_LOCK | \
RBD_FEATURE_OBJECT_MAP | \
RBD_FEATURE_FAST_DIFF | \
- RBD_FEATURE_DEEP_FLATTEN)
+ RBD_FEATURE_DEEP_FLATTEN | \
+ RBD_FEATURE_JOURNALING)
#define RBD_FEATURES_ALL (RBD_FEATURE_LAYERING | \
RBD_FEATURE_STRIPINGV2 | \
RBD_FEATURE_EXCLUSIVE_LOCK | \
RBD_FEATURE_OBJECT_MAP | \
RBD_FEATURE_FAST_DIFF | \
- RBD_FEATURE_DEEP_FLATTEN)
+ RBD_FEATURE_DEEP_FLATTEN | \
+ RBD_FEATURE_JOURNALING)
/// features that may be dynamically enabled or disabled
#define RBD_FEATURES_MUTABLE (RBD_FEATURE_EXCLUSIVE_LOCK | \
RBD_FEATURE_OBJECT_MAP | \
- RBD_FEATURE_FAST_DIFF)
+ RBD_FEATURE_FAST_DIFF | \
+ RBD_FEATURE_JOURNALING)
/// features that only work when used with a single client
/// using the image for writes
#define RBD_FEATURES_SINGLE_CLIENT (RBD_FEATURE_EXCLUSIVE_LOCK | \
RBD_FEATURE_OBJECT_MAP | \
- RBD_FEATURE_FAST_DIFF)
+ RBD_FEATURE_FAST_DIFF | \
+ RBD_FEATURE_JOURNALING)
#endif
--order arg object order [12 <= order <= 25]
--image-feature arg image features
[layering(+), striping(+), exclusive-lock(*),
- object-map(*), fast-diff(*), deep-flatten]
+ object-map(*), fast-diff(*), deep-flatten, journaling(*)]
--image-shared shared image
--stripe-unit arg stripe unit
--stripe-count arg stripe count
--order arg object order [12 <= order <= 25]
--image-feature arg image features
[layering(+), striping(+), exclusive-lock(*),
- object-map(*), fast-diff(*), deep-flatten]
+ object-map(*), fast-diff(*), deep-flatten, journaling(*)]
--image-shared shared image
--stripe-unit arg stripe unit
--stripe-count arg stripe count
(example: [<pool-name>/]<image-name>)
<features> image features
[layering, striping, exclusive-lock, object-map,
- fast-diff, deep-flatten]
+ fast-diff, deep-flatten, journaling]
Optional arguments
-p [ --pool ] arg pool name
(example: [<pool-name>/]<image-name>)
<features> image features
[layering, striping, exclusive-lock, object-map,
- fast-diff, deep-flatten]
+ fast-diff, deep-flatten, journaling]
Optional arguments
-p [ --pool ] arg pool name
--order arg object order [12 <= order <= 25]
--image-feature arg image features
[layering(+), striping(+), exclusive-lock(*),
- object-map(*), fast-diff(*), deep-flatten]
+ object-map(*), fast-diff(*), deep-flatten, journaling(*)]
--image-shared shared image
--stripe-unit arg stripe unit
--stripe-count arg stripe count
{RBD_FEATURE_EXCLUSIVE_LOCK, "exclusive-lock"},
{RBD_FEATURE_OBJECT_MAP, "object-map"},
{RBD_FEATURE_FAST_DIFF, "fast-diff"},
- {RBD_FEATURE_DEEP_FLATTEN, "deep-flatten"}};
+ {RBD_FEATURE_DEEP_FLATTEN, "deep-flatten"},
+ {RBD_FEATURE_JOURNALING, "journaling"}};
Format::Formatter Format::create_formatter(bool pretty) const {
if (value == "json") {