]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: update cli/rbd cram tests for refactored rbd
authorJason Dillaman <dillaman@redhat.com>
Fri, 18 Sep 2015 23:36:24 +0000 (19:36 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 5 Nov 2015 21:12:42 +0000 (16:12 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/test/cli/rbd/help.t
src/test/cli/rbd/invalid-snap-usage.t
src/test/cli/rbd/not-enough-args.t

index ad6a9ee90b524d053c47e616548bd350d6333a47..9bc818b6229422510029fe113331d1df357629a7 100644 (file)
   $ rbd --help
-  usage: rbd [-n <auth user>] [OPTIONS] <cmd> ...
-  where 'pool' is a rados pool name (default is 'rbd') and 'cmd' is one of:
-    (ls | list) [-l | --long ] [pool-name]      list rbd images
-                                                (-l includes snapshots/clones)
-    (du | disk-usage) [<image-spec> | <snap-spec>]
-                                                show disk usage stats for pool,
-                                                image or snapshot
-    info <image-spec> | <snap-spec>             show information about image size,
-                                                striping, etc.
-    create [--order <bits>] [--image-features <features>] [--image-shared]
-           --size <M/G/T> <image-spec>          create an empty image
-    clone [--order <bits>] [--image-features <features>] [--image-shared]
-           <parent-snap-spec> <child-image-spec>
-                                                clone a snapshot into a COW
-                                                child image
-    children <snap-spec>                        display children of snapshot
-    flatten <image-spec>                        fill clone with parent data
-                                                (make it independent)
-    resize --size <M/G/T> <image-spec>          resize (expand or contract) image
-    rm <image-spec>                             delete an image
-    export (<image-spec> | <snap-spec>) [<path>]
-                                                export image to file
-                                                "-" for stdout
-    import [--image-features <features>] [--image-shared]
-           <path> [<image-spec>]                import image from file
-                                                "-" for stdin
-                                                "rbd/$(basename <path>)" is
-                                                assumed for <image-spec> if
-                                                omitted
-    diff [--from-snap <snap-name>] [--whole-object]
-           <image-spec> | <snap-spec>           print extents that differ since
-                                                a previous snap, or image creation
-    export-diff [--from-snap <snap-name>] [--whole-object]
-           (<image-spec> | <snap-spec>) <path>  export an incremental diff to
-                                                path, or "-" for stdout
-    merge-diff <diff1> <diff2> <path>           merge <diff1> and <diff2> into
-                                                <path>, <diff1> could be "-"
-                                                for stdin, and <path> could be "-"
-                                                for stdout
-    import-diff <path> <image-spec>             import an incremental diff from
-                                                path or "-" for stdin
-    (cp | copy) (<src-image-spec> | <src-snap-spec>) <dest-image-spec>
-                                                copy src image to dest
-    (mv | rename) <src-image-spec> <dest-image-spec>
-                                                rename src image to dest
-    image-meta list <image-spec>                image metadata list keys with values
-    image-meta get <image-spec> <key>           image metadata get the value associated with the key
-    image-meta set <image-spec> <key> <value>   image metadata set key with value
-    image-meta remove <image-spec> <key>        image metadata remove the key and value associated
-    object-map rebuild <image-spec> | <snap-spec>
-                                                rebuild an invalid object map
-    snap ls <image-spec>                        dump list of image snapshots
-    snap create <snap-spec>                     create a snapshot
-    snap rollback <snap-spec>                   rollback image to snapshot
-    snap rm <snap-spec>                         deletes a snapshot
-    snap purge <image-spec>                     deletes all snapshots
-    snap protect <snap-spec>                    prevent a snapshot from being deleted
-    snap unprotect <snap-spec>                  allow a snapshot to be deleted
-    watch <image-spec>                          watch events on image
-    status <image-spec>                         show the status of this image
-    map <image-spec> | <snap-spec>              map image to a block device
-                                                using the kernel
-    unmap <image-spec> | <snap-spec> | <device> unmap a rbd device that was
-                                                mapped by the kernel
-    showmapped                                  show the rbd images mapped
-                                                by the kernel
-    feature disable <image-spec> <feature>      disable the specified image feature
-    feature enable <image-spec> <feature>       enable the specified image feature
-    lock list <image-spec>                      show locks held on an image
-    lock add <image-spec> <id> [--shared <tag>] take a lock called id on an image
-    lock remove <image-spec> <id> <locker>      release a lock on an image
-    bench-write <image-spec>                    simple write benchmark
-                 --io-size <size in B/K/M/G/T>    write size
-                 --io-threads <num>               ios in flight
-                 --io-total <size in B/K/M/G/T>   total size to write
-                 --io-pattern <seq|rand>          write pattern
-  
-  <image-spec> is [<pool-name>]/<image-name>,
-  <snap-spec> is [<pool-name>]/<image-name>@<snap-name>,
-  or you may specify individual pieces of names with -p/--pool <pool-name>,
-  --image <image-name> and/or --snap <snap-name>.
-  
-  Other input options:
-    -p, --pool <pool-name>             source pool name
-    --dest-pool <pool-name>            destination pool name
-    --image <image-name>               image name
-    --dest <image-name>                destination image name
-    --snap <snap-name>                 snapshot name
-    --path <path-name>                 path name for import/export
-    -s, --size <size in M/G/T>         size of image for create and resize
-    --order <bits>                     the object size in bits; object size will be
-                                       (1 << order) bytes. Default is 22 (4 MB).
-    --image-format <format-number>     format to use when creating an image
-                                       format 1 is the original format
-                                       format 2 supports cloning (default)
-    --image-feature <feature>          optional format 2 feature to enable.
-                                       use multiple times to enable multiple features
-    --image-shared                     image will be used concurrently (disables
-                                       RBD exclusive lock and dependent features)
-    --stripe-unit <size in B/K/M>      size of a block of data
-    --stripe-count <num>               number of consecutive objects in a stripe
-    --id <username>                    rados user (without 'client.'prefix) to
-                                       authenticate as
-    --keyfile <path>                   file containing secret key for use with cephx
-    --keyring <path>                   file containing keyring for use with cephx
-    --shared <tag>                     take a shared (rather than exclusive) lock
-    --format <output-format>           output format (default: plain, json, xml)
-    --pretty-format                    make json or xml output more readable
-    --no-progress                      do not show progress for long-running commands
-    -o, --options <map-options>        options to use when mapping an image
-    --read-only                        set device readonly when mapping image
-    --allow-shrink                     allow shrinking of an image when resizing
-  
-  Supported image features:
-    layering (+), striping (+), exclusive-lock (*), object-map (*), fast-diff (*), deep-flatten
+  usage: rbd <command> ...
   
+  Command-line interface for managing Ceph RBD images.
+  
+  Positional arguments:
+    <command>
+      bench-write           Simple write benchmark.
+      children              Display children of snapshot.
+      clone                 Clone a snapshot into a COW child image.
+      copy (cp)             Copy src image to dest.
+      create                Create an empty image.
+      diff                  Print extents that differ since a previous snap, or
+                            image creation.
+      disk-usage (du)       Show disk usage stats for pool, image or snapshot
+      export                Export image to file.
+      export-diff           Export incremental diff to file.
+      feature disable       Disable the specified image feature.
+      feature enable        Enable the specified image feature.
+      flatten               Fill clone with parent data (make it independent).
+      image-meta get        Image metadata get the value associated with the key.
+      image-meta list       Image metadata list keys with values.
+      image-meta remove     Image metadata remove the key and value associated.
+      image-meta set        Image metadata set key with value.
+      import                Import image from file.
+      import-diff           Import an incremental diff.
+      info                  Show information about image size, striping, etc.
+      list (ls)             List rbd images.
+      lock add              Take a lock on an image.
+      lock list             Show locks held on an image.
+      lock remove (lock rm) Release a lock on an image.
+      map                   Map image to a block device using the kernel.
+      merge-diff            Merge two diff exports together.
+      object-map rebuild    Rebuild an invalid object map.
+      remove (rm)           Delete an image.
+      rename (mv)           Rename image within pool.
+      resize                Resize (expand or shrink) image.
+      showmapped            Show the rbd images mapped by the kernel.
+      snap create           Create a snapshot.
+      snap ls               Dump list of image snapshots.
+      snap protect          Prevent a snapshot from being deleted.
+      snap purge            Deletes all snapshots.
+      snap remove (snap rm) Deletes a snapshot.
+      snap rollback         Rollback image to snapshot.
+      snap unprotect        Allow a snapshot to be deleted.
+      status                Show the status of this image.
+      unmap                 Unmap a rbd device that was used by the kernel.
+      watch                 Watch events on image.
+  
+  Optional arguments:
+    -c [ --conf ] arg     path to cluster configuration
+    --cluster arg         cluster name
+    -i [ --id ] arg       client id (without 'client.' prefix)
+    -n [ --name ] arg     client name
+    --secret arg          path to secret key (deprecated)
+    --keyfile arg         path to secret key
+    --keyring arg         path to keyring
+  
+  See 'rbd help <command>' for help on a specific command.
+  $ while read -r line; do echo rbd help $line ; rbd help $line; done <<< "$(rbd help | grep '^    [a-z]' | sed 's/^    \([a-z -]*[a-z]\).*/\1/g')"
+  rbd help bench-write
+  usage: rbd bench-write [--pool <pool>] [--image <image>] [--io-size <io-size>] 
+                         [--io-threads <io-threads>] [--io-total <io-total>] 
+                         [--io-pattern <io-pattern>] 
+                         <image-spec> 
+  
+  Simple write benchmark.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --io-size arg        write size (in B/K/M/G/T)
+    --io-threads arg     ios in flight
+    --io-total arg       total size to write (in B/K/M/G/T)
+    --io-pattern arg     write pattern (rand or seq)
+  
+  rbd help children
+  usage: rbd children [--pool <pool>] [--image <image>] [--snap <snap>] 
+                      [--format <format>] [--pretty-format] 
+                      <snap-spec> 
+  
+  Display children of snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help clone
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  rbd help copy
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  rbd help create
+  usage: rbd create [--pool <pool>] [--image <image>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] --size <size> 
+                    <image-spec> 
+  
+  Create an empty image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    -s [ --size ] arg    image size (in M/G/T)
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  rbd help diff
+  usage: rbd diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--from-snap <from-snap>] [--whole-object] [--format <format>] 
+                  [--pretty-format] 
+                  <image-or-snap-spec> 
+  
+  Print extents that differ since a previous snap, or image creation.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --from-snap arg       snapshot starting point
+    --whole-object        compare whole object
+    --format arg          output format [plain, json, or xml]
+    --pretty-format       pretty formatting (json and xml)
+  
+  rbd help disk-usage
+  usage: rbd disk-usage [--pool <pool>] [--image <image>] [--snap <snap>] 
+                        [--format <format>] [--pretty-format] 
+                        <image-or-snap-spec> 
+  
+  Show disk usage stats for pool, image or snapshot
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --format arg          output format [plain, json, or xml]
+    --pretty-format       pretty formatting (json and xml)
+  
+  rbd help export
+  usage: rbd export [--pool <pool>] [--image <image>] [--snap <snap>] 
+                    [--path <path>] [--no-progress] 
+                    <source-image-or-snap-spec> <path-name> 
+  
+  Export image to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --no-progress                disable progress output
+  
+  rbd help export-diff
+  usage: rbd export-diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         [--path <path>] [--from-snap <from-snap>] 
+                         [--whole-object] [--no-progress] 
+                         <source-image-or-snap-spec> <path-name> 
+  
+  Export incremental diff to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --from-snap arg              snapshot starting point
+    --whole-object               compare whole object
+    --no-progress                disable progress output
+  
+  rbd help feature disable
+  usage: rbd feature disable [--pool <pool>] [--image <image>] 
+                             <image-spec> <features> [<features> ...]
+  
+  Disable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help feature enable
+  usage: rbd feature enable [--pool <pool>] [--image <image>] 
+                            <image-spec> <features> [<features> ...]
+  
+  Enable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help flatten
+  usage: rbd flatten [--pool <pool>] [--image <image>] [--no-progress] 
+                     <image-spec> 
+  
+  Fill clone with parent data (make it independent).
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  rbd help image-meta get
+  usage: rbd image-meta get [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> 
+  
+  Image metadata get the value associated with the key.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help image-meta list
+  usage: rbd image-meta list [--pool <pool>] [--image <image>] 
+                             [--format <format>] [--pretty-format] 
+                             <image-spec> 
+  
+  Image metadata list keys with values.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help image-meta remove
+  usage: rbd image-meta remove [--pool <pool>] [--image <image>] 
+                               <image-spec> <key> 
+  
+  Image metadata remove the key and value associated.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help image-meta set
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help import
+  usage: rbd import [--path <path>] [--dest-pool <dest-pool>] [--dest <dest>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] [--no-progress] 
+                    [--pool <pool>] [--image <image>] 
+                    <path-name> <dest-image-spec> 
+  
+  Import image from file.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    --no-progress        disable progress output
+    -p [ --pool ] arg    pool name (deprecated)
+    --image arg          image name (deprecated)
+  
+  Image Features:
     (*) supports enabling/disabling on existing images
-    (+) enabled by default for new images if features are not specified
+    (+) enabled by default for new images if features not specified
+  
+  rbd help import-diff
+  usage: rbd import-diff [--path <path>] [--pool <pool>] [--image <image>] 
+                         [--no-progress] 
+                         <path-name> <image-spec> 
+  
+  Import an incremental diff.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  rbd help info
+  usage: rbd info [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--format <format>] [--pretty-format] 
+                  <image-or-snap-spec> 
+  
+  Show information about image size, striping, etc.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --format arg          output format [plain, json, or xml]
+    --pretty-format       pretty formatting (json and xml)
+  
+  rbd help list
+  usage: rbd list [--long] [--pool <pool>] [--format <format>] [--pretty-format] 
+                  <pool-name> 
+  
+  List rbd images.
+  
+  Positional arguments
+    <pool-name>          pool name
+  
+  Optional arguments
+    -l [ --long ]        long listing format
+    -p [ --pool ] arg    pool name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help lock add
+  usage: rbd lock add [--pool <pool>] [--image <image>] [--shared <shared>] 
+                      <image-spec> <lock-id> 
+  
+  Take a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --shared arg         shared lock tag
+  
+  rbd help lock list
+  usage: rbd lock list [--pool <pool>] [--image <image>] [--format <format>] 
+                       [--pretty-format] 
+                       <image-spec> 
+  
+  Show locks held on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help lock remove
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  rbd help map
+  usage: rbd map [--pool <pool>] [--image <image>] [--snap <snap>] 
+                 [--options <options>] [--read-only] 
+                 <image-or-snap-spec> 
+  
+  Map image to a block device using the kernel.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    -o [ --options ] arg  mapping options
+    --read-only           mount read-only
+  
+  rbd help merge-diff
+  usage: rbd merge-diff [--path <path>] [--no-progress] 
+                        <diff1-path> <diff2-path> <path-name> 
+  
+  Merge two diff exports together.
+  
+  Positional arguments
+    <diff1-path>         path to first diff (or '-' for stdin)
+    <diff2-path>         path to second diff
+    <path-name>          path to merged diff (or '-' for stdout)
+  
+  Optional arguments
+    --path arg           path to merged diff (or '-' for stdout)
+    --no-progress        disable progress output
+  
+  rbd help object-map rebuild
+  usage: rbd object-map rebuild [--pool <pool>] [--image <image>] 
+                                [--snap <snap>] [--no-progress] 
+                                <image-or-snap-spec> 
+  
+  Rebuild an invalid object map.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --no-progress         disable progress output
+  
+  rbd help remove
+  usage: rbd remove [--pool <pool>] [--image <image>] [--no-progress] 
+                    <image-spec> 
+  
+  Delete an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  rbd help rename
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  rbd help resize
+  usage: rbd resize [--pool <pool>] [--image <image>] --size <size> 
+                    [--allow-shrink] [--no-progress] 
+                    <image-spec> 
+  
+  Resize (expand or shrink) image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    -s [ --size ] arg    image size (in M/G/T)
+    --allow-shrink       permit shrinking
+    --no-progress        disable progress output
+  
+  rbd help showmapped
+  usage: rbd showmapped [--format <format>] [--pretty-format] 
+  
+  Show the rbd images mapped by the kernel.
+  
+  Optional arguments
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help snap create
+  usage: rbd snap create [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Create a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  rbd help snap ls
+  usage: rbd snap ls [--pool <pool>] [--image <image>] [--format <format>] 
+                     [--pretty-format] 
+                     <image-spec> 
+  
+  Dump list of image snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help snap protect
+  usage: rbd snap protect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                          <snap-spec> 
+  
+  Prevent a snapshot from being deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  rbd help snap purge
+  usage: rbd snap purge [--pool <pool>] [--image <image>] [--no-progress] 
+                        <image-spec> 
+  
+  Deletes all snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  rbd help snap remove
+  usage: rbd snap remove [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Deletes a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  rbd help snap rollback
+  usage: rbd snap rollback [--pool <pool>] [--image <image>] [--snap <snap>] 
+                           [--no-progress] 
+                           <snap-spec> 
+  
+  Rollback image to snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --no-progress        disable progress output
+  
+  rbd help snap unprotect
+  usage: rbd snap unprotect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                            <snap-spec> 
+  
+  Allow a snapshot to be deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  rbd help status
+  usage: rbd status [--pool <pool>] [--image <image>] [--format <format>] 
+                    [--pretty-format] 
+                    <image-spec> 
+  
+  Show the status of this image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  rbd help unmap
+  usage: rbd unmap [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   <image-or-snap-or-device-spec> 
+  
+  Unmap a rbd device that was used by the kernel.
+  
+  Positional arguments
+    <image-or-snap-or-device-spec>  image, snapshot, or device specification
+                                    [<pool-name>/]<image-name>[@<snapshot-name>]
+                                    or <device-path>
+  
+  Optional arguments
+    -p [ --pool ] arg               pool name
+    --image arg                     image name
+    --snap arg                      snapshot name
+  
+  rbd help watch
+  usage: rbd watch [--pool <pool>] [--image <image>] 
+                   <image-spec> 
+  
+  Watch events on image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
index 6735dc4b338861981b7eb3b75ef6251c82a427e5..bfe87254dc7a6ef053d1ddf166ce057e49ffce64 100644 (file)
   $ rbd create foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd create [--pool <pool>] [--image <image>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] --size <size> 
+                    <image-spec> 
+  
+  Create an empty image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    -s [ --size ] arg    image size (in M/G/T)
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd flatten foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd flatten [--pool <pool>] [--image <image>] [--no-progress] 
+                     <image-spec> 
+  
+  Fill clone with parent data (make it independent).
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd resize foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd resize [--pool <pool>] [--image <image>] --size <size> 
+                    [--allow-shrink] [--no-progress] 
+                    <image-spec> 
+  
+  Resize (expand or shrink) image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    -s [ --size ] arg    image size (in M/G/T)
+    --allow-shrink       permit shrinking
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd rm foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd remove [--pool <pool>] [--image <image>] [--no-progress] 
+                    <image-spec> 
+  
+  Delete an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd import-diff /tmp/diff foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd import-diff [--path <path>] [--pool <pool>] [--image <image>] 
+                         [--no-progress] 
+                         <path-name> <image-spec> 
+  
+  Import an incremental diff.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd mv foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
   $ rbd mv foo@snap bar
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
   $ rbd mv foo@snap bar@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
   $ rbd image-meta list foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta list [--pool <pool>] [--image <image>] 
+                             [--format <format>] [--pretty-format] 
+                             <image-spec> 
+  
+  Image metadata list keys with values.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd image-meta get foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta get [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> 
+  
+  Image metadata get the value associated with the key.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta get foo@snap key
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta get [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> 
+  
+  Image metadata get the value associated with the key.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set foo@snap key
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set foo@snap key val
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta remove foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta remove [--pool <pool>] [--image <image>] 
+                               <image-spec> <key> 
+  
+  Image metadata remove the key and value associated.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta remove foo@snap key
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd image-meta remove [--pool <pool>] [--image <image>] 
+                               <image-spec> <key> 
+  
+  Image metadata remove the key and value associated.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd snap ls foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd snap ls [--pool <pool>] [--image <image>] [--format <format>] 
+                     [--pretty-format] 
+                     <image-spec> 
+  
+  Dump list of image snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd snap purge foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd snap purge [--pool <pool>] [--image <image>] [--no-progress] 
+                        <image-spec> 
+  
+  Deletes all snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd watch foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd watch [--pool <pool>] [--image <image>] 
+                   <image-spec> 
+  
+  Watch events on image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd status foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd status [--pool <pool>] [--image <image>] [--format <format>] 
+                    [--pretty-format] 
+                    <image-spec> 
+  
+  Show the status of this image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd feature disable foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd feature disable [--pool <pool>] [--image <image>] 
+                             <image-spec> <features> [<features> ...]
+  
+  Disable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature disable foo@snap layering
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd feature disable [--pool <pool>] [--image <image>] 
+                             <image-spec> <features> [<features> ...]
+  
+  Disable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature enable foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd feature enable [--pool <pool>] [--image <image>] 
+                            <image-spec> <features> [<features> ...]
+  
+  Enable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature enable foo@snap layering
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd feature enable [--pool <pool>] [--image <image>] 
+                            <image-spec> <features> [<features> ...]
+  
+  Enable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock list foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock list [--pool <pool>] [--image <image>] [--format <format>] 
+                       [--pretty-format] 
+                       <image-spec> 
+  
+  Show locks held on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd lock add foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock add [--pool <pool>] [--image <image>] [--shared <shared>] 
+                      <image-spec> <lock-id> 
+  
+  Take a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --shared arg         shared lock tag
+  
+  [22]
   $ rbd lock add foo@snap id
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock add [--pool <pool>] [--image <image>] [--shared <shared>] 
+                      <image-spec> <lock-id> 
+  
+  Take a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --shared arg         shared lock tag
+  
+  [22]
   $ rbd lock remove foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock remove foo@snap id
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock remove foo@snap id client.1234
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd bench-write foo@snap
   rbd: snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd bench-write [--pool <pool>] [--image <image>] [--io-size <io-size>] 
+                         [--io-threads <io-threads>] [--io-total <io-total>] 
+                         [--io-pattern <io-pattern>] 
+                         <image-spec> 
+  
+  Simple write benchmark.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --io-size arg        write size (in B/K/M/G/T)
+    --io-threads arg     ios in flight
+    --io-total arg       total size to write (in B/K/M/G/T)
+    --io-pattern arg     write pattern (rand or seq)
+  
+  [22]
 
   $ rbd clone foo@snap bar@snap
   rbd: destination snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd import /bin/ls ls@snap
   rbd: destination snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd import [--path <path>] [--dest-pool <dest-pool>] [--dest <dest>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] [--no-progress] 
+                    [--pool <pool>] [--image <image>] 
+                    <path-name> <dest-image-spec> 
+  
+  Import image from file.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    --no-progress        disable progress output
+    -p [ --pool ] arg    pool name (deprecated)
+    --image arg          image name (deprecated)
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd cp foo bar@snap
   rbd: destination snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd cp foo@snap bar@snap
   rbd: destination snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd mv foo bar@snap
   rbd: destination snapname specified for a command that doesn't use it
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
index df4fbd7f28c4597a3f237a9625befee4e1bfb889..84b52275e0fbb12ee5796a65182f66600f438955 100644 (file)
   $ rbd info
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd info [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--format <format>] [--pretty-format] 
+                  <image-or-snap-spec> 
+  
+  Show information about image size, striping, etc.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --format arg          output format [plain, json, or xml]
+    --pretty-format       pretty formatting (json and xml)
+  
+  [22]
   $ rbd create
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd create [--pool <pool>] [--image <image>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] --size <size> 
+                    <image-spec> 
+  
+  Create an empty image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    -s [ --size ] arg    image size (in M/G/T)
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd clone
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd clone foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd clone foo@snap
   rbd: destination image name was not specified
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd clone foo bar
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd clone foo bar@snap
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd clone [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   [--dest-pool <dest-pool>] [--dest <dest>] [--order <order>] 
+                   [--image-features <image-features>] [--image-shared] 
+                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
+                   <source-snap-spec> <dest-image-spec> 
+  
+  Clone a snapshot into a COW child image.
+  
+  Positional arguments
+    <source-snap-spec>   source snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --snap arg           source snapshot name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd children
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd children [--pool <pool>] [--image <image>] [--snap <snap>] 
+                      [--format <format>] [--pretty-format] 
+                      <snap-spec> 
+  
+  Display children of snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd children foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd children [--pool <pool>] [--image <image>] [--snap <snap>] 
+                      [--format <format>] [--pretty-format] 
+                      <snap-spec> 
+  
+  Display children of snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd flatten
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd flatten [--pool <pool>] [--image <image>] [--no-progress] 
+                     <image-spec> 
+  
+  Fill clone with parent data (make it independent).
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd resize
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd resize [--pool <pool>] [--image <image>] --size <size> 
+                    [--allow-shrink] [--no-progress] 
+                    <image-spec> 
+  
+  Resize (expand or shrink) image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    -s [ --size ] arg    image size (in M/G/T)
+    --allow-shrink       permit shrinking
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd rm
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd remove [--pool <pool>] [--image <image>] [--no-progress] 
+                    <image-spec> 
+  
+  Delete an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd export
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd export [--pool <pool>] [--image <image>] [--snap <snap>] 
+                    [--path <path>] [--no-progress] 
+                    <source-image-or-snap-spec> <path-name> 
+  
+  Export image to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd import
   rbd: path was not specified
-  [1]
+  
+  usage: rbd import [--path <path>] [--dest-pool <dest-pool>] [--dest <dest>] 
+                    [--image-format <image-format>] [--new-format] 
+                    [--order <order>] [--image-features <image-features>] 
+                    [--image-shared] [--stripe-unit <stripe-unit>] 
+                    [--stripe-count <stripe-count>] [--no-progress] 
+                    [--pool <pool>] [--image <image>] 
+                    <path-name> <dest-image-spec> 
+  
+  Import image from file.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+    --image-format arg   image format [1 or 2]
+    --new-format         use image format 2
+                         (deprecated)
+    --order arg          object order [12 <= order <= 25]
+    --image-features arg image features
+                         [layering(+), striping(+), exclusive-lock(*),
+                         object-map(*), fast-diff(*), deep-flatten]
+    --image-shared       shared image
+    --stripe-unit arg    stripe unit
+    --stripe-count arg   stripe count
+    --no-progress        disable progress output
+    -p [ --pool ] arg    pool name (deprecated)
+    --image arg          image name (deprecated)
+  
+  Image Features:
+    (*) supports enabling/disabling on existing images
+    (+) enabled by default for new images if features not specified
+  
+  [22]
   $ rbd diff
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--from-snap <from-snap>] [--whole-object] [--format <format>] 
+                  [--pretty-format] 
+                  <image-or-snap-spec> 
+  
+  Print extents that differ since a previous snap, or image creation.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --from-snap arg       snapshot starting point
+    --whole-object        compare whole object
+    --format arg          output format [plain, json, or xml]
+    --pretty-format       pretty formatting (json and xml)
+  
+  [22]
   $ rbd export-diff
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd export-diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         [--path <path>] [--from-snap <from-snap>] 
+                         [--whole-object] [--no-progress] 
+                         <source-image-or-snap-spec> <path-name> 
+  
+  Export incremental diff to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --from-snap arg              snapshot starting point
+    --whole-object               compare whole object
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd export-diff foo
   rbd: path was not specified
-  [1]
+  
+  usage: rbd export-diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         [--path <path>] [--from-snap <from-snap>] 
+                         [--whole-object] [--no-progress] 
+                         <source-image-or-snap-spec> <path-name> 
+  
+  Export incremental diff to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --from-snap arg              snapshot starting point
+    --whole-object               compare whole object
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd export-diff foo@snap
   rbd: path was not specified
-  [1]
+  
+  usage: rbd export-diff [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         [--path <path>] [--from-snap <from-snap>] 
+                         [--whole-object] [--no-progress] 
+                         <source-image-or-snap-spec> <path-name> 
+  
+  Export incremental diff to file.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <path-name>                  export file (or '-' for stdout)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --path arg                   export file (or '-' for stdout)
+    --from-snap arg              snapshot starting point
+    --whole-object               compare whole object
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd merge-diff
   rbd: first diff was not specified
-  [1]
+  
+  usage: rbd merge-diff [--path <path>] [--no-progress] 
+                        <diff1-path> <diff2-path> <path-name> 
+  
+  Merge two diff exports together.
+  
+  Positional arguments
+    <diff1-path>         path to first diff (or '-' for stdin)
+    <diff2-path>         path to second diff
+    <path-name>          path to merged diff (or '-' for stdout)
+  
+  Optional arguments
+    --path arg           path to merged diff (or '-' for stdout)
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd merge-diff /tmp/diff1
   rbd: second diff was not specified
-  [1]
+  
+  usage: rbd merge-diff [--path <path>] [--no-progress] 
+                        <diff1-path> <diff2-path> <path-name> 
+  
+  Merge two diff exports together.
+  
+  Positional arguments
+    <diff1-path>         path to first diff (or '-' for stdin)
+    <diff2-path>         path to second diff
+    <path-name>          path to merged diff (or '-' for stdout)
+  
+  Optional arguments
+    --path arg           path to merged diff (or '-' for stdout)
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd merge-diff /tmp/diff1 /tmp/diff2
   rbd: path was not specified
-  [1]
+  
+  usage: rbd merge-diff [--path <path>] [--no-progress] 
+                        <diff1-path> <diff2-path> <path-name> 
+  
+  Merge two diff exports together.
+  
+  Positional arguments
+    <diff1-path>         path to first diff (or '-' for stdin)
+    <diff2-path>         path to second diff
+    <path-name>          path to merged diff (or '-' for stdout)
+  
+  Optional arguments
+    --path arg           path to merged diff (or '-' for stdout)
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd import-diff
   rbd: path was not specified
-  [1]
+  
+  usage: rbd import-diff [--path <path>] [--pool <pool>] [--image <image>] 
+                         [--no-progress] 
+                         <path-name> <image-spec> 
+  
+  Import an incremental diff.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd import-diff /tmp/diff
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd import-diff [--path <path>] [--pool <pool>] [--image <image>] 
+                         [--no-progress] 
+                         <path-name> <image-spec> 
+  
+  Import an incremental diff.
+  
+  Positional arguments
+    <path-name>          import file (or '-' for stdin)
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    --path arg           import file (or '-' for stdin)
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd cp
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd cp foo
   rbd: destination image name was not specified
-  [1]
+  
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd cp foo@snap
   rbd: destination image name was not specified
-  [1]
+  
+  usage: rbd copy [--pool <pool>] [--image <image>] [--snap <snap>] 
+                  [--dest-pool <dest-pool>] [--dest <dest>] [--no-progress] 
+                  <source-image-or-snap-spec> <dest-image-spec> 
+  
+  Copy src image to dest.
+  
+  Positional arguments
+    <source-image-or-snap-spec>  source image or snapshot specification
+                                 (example:
+                                 [<pool-name>/]<image-name>[@<snap-name>])
+    <dest-image-spec>            destination image specification
+                                 (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg            source pool name
+    --image arg                  source image name
+    --snap arg                   source snapshot name
+    --dest-pool arg              destination pool name
+    --dest arg                   destination image name
+    --no-progress                disable progress output
+  
+  [22]
   $ rbd mv
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
   $ rbd mv foo
   rbd: destination image name was not specified
-  [1]
+  
+  usage: rbd rename [--pool <pool>] [--image <image>] [--dest-pool <dest-pool>] 
+                    [--dest <dest>] 
+                    <source-image-spec> <dest-image-spec> 
+  
+  Rename image within pool.
+  
+  Positional arguments
+    <source-image-spec>  source image specification
+                         (example: [<pool-name>/]<image-name>)
+    <dest-image-spec>    destination image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    source pool name
+    --image arg          source image name
+    --dest-pool arg      destination pool name
+    --dest arg           destination image name
+  
+  [22]
   $ rbd image-meta list
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd image-meta list [--pool <pool>] [--image <image>] 
+                             [--format <format>] [--pretty-format] 
+                             <image-spec> 
+  
+  Image metadata list keys with values.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd image-meta get
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd image-meta get [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> 
+  
+  Image metadata get the value associated with the key.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta get foo
   rbd: metadata key was not specified
-  [1]
+  
+  usage: rbd image-meta get [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> 
+  
+  Image metadata get the value associated with the key.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set foo
   rbd: metadata key was not specified
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta set foo key
   rbd: metadata value was not specified
-  [1]
+  
+  usage: rbd image-meta set [--pool <pool>] [--image <image>] 
+                            <image-spec> <key> <value> 
+  
+  Image metadata set key with value.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+    <value>              image meta value
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta remove
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd image-meta remove [--pool <pool>] [--image <image>] 
+                               <image-spec> <key> 
+  
+  Image metadata remove the key and value associated.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd image-meta remove foo
   rbd: metadata key was not specified
-  [1]
+  
+  usage: rbd image-meta remove [--pool <pool>] [--image <image>] 
+                               <image-spec> <key> 
+  
+  Image metadata remove the key and value associated.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <key>                image meta key
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd object-map rebuild
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd object-map rebuild [--pool <pool>] [--image <image>] 
+                                [--snap <snap>] [--no-progress] 
+                                <image-or-snap-spec> 
+  
+  Rebuild an invalid object map.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    --no-progress         disable progress output
+  
+  [22]
   $ rbd snap ls
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap ls [--pool <pool>] [--image <image>] [--format <format>] 
+                     [--pretty-format] 
+                     <image-spec> 
+  
+  Dump list of image snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd snap create
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap create [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Create a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap create foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd snap create [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Create a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap rollback
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap rollback [--pool <pool>] [--image <image>] [--snap <snap>] 
+                           [--no-progress] 
+                           <snap-spec> 
+  
+  Rollback image to snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd snap rollback foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd snap rollback [--pool <pool>] [--image <image>] [--snap <snap>] 
+                           [--no-progress] 
+                           <snap-spec> 
+  
+  Rollback image to snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd snap rm
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap remove [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Deletes a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap rm foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd snap remove [--pool <pool>] [--image <image>] [--snap <snap>] 
+                         <snap-spec> 
+  
+  Deletes a snapshot.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap purge
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap purge [--pool <pool>] [--image <image>] [--no-progress] 
+                        <image-spec> 
+  
+  Deletes all snapshots.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --no-progress        disable progress output
+  
+  [22]
   $ rbd snap protect
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap protect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                          <snap-spec> 
+  
+  Prevent a snapshot from being deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap protect foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd snap protect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                          <snap-spec> 
+  
+  Prevent a snapshot from being deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap unprotect
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd snap unprotect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                            <snap-spec> 
+  
+  Allow a snapshot to be deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd snap unprotect foo
   rbd: snap name was not specified
-  [1]
+  
+  usage: rbd snap unprotect [--pool <pool>] [--image <image>] [--snap <snap>] 
+                            <snap-spec> 
+  
+  Allow a snapshot to be deleted.
+  
+  Positional arguments
+    <snap-spec>          snapshot specification
+                         (example: [<pool-name>/]<image-name>@<snapshot-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --snap arg           snapshot name
+  
+  [22]
   $ rbd watch
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd watch [--pool <pool>] [--image <image>] 
+                   <image-spec> 
+  
+  Watch events on image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd status
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd status [--pool <pool>] [--image <image>] [--format <format>] 
+                    [--pretty-format] 
+                    <image-spec> 
+  
+  Show the status of this image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd map
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd map [--pool <pool>] [--image <image>] [--snap <snap>] 
+                 [--options <options>] [--read-only] 
+                 <image-or-snap-spec> 
+  
+  Map image to a block device using the kernel.
+  
+  Positional arguments
+    <image-or-snap-spec>  image or snapshot specification
+                          (example: [<pool-name>/]<image-name>[@<snap-name>])
+  
+  Optional arguments
+    -p [ --pool ] arg     pool name
+    --image arg           image name
+    --snap arg            snapshot name
+    -o [ --options ] arg  mapping options
+    --read-only           mount read-only
+  
+  [22]
   $ rbd unmap
   rbd: unmap requires either image name or device path
-  [1]
+  
+  usage: rbd unmap [--pool <pool>] [--image <image>] [--snap <snap>] 
+                   <image-or-snap-or-device-spec> 
+  
+  Unmap a rbd device that was used by the kernel.
+  
+  Positional arguments
+    <image-or-snap-or-device-spec>  image, snapshot, or device specification
+                                    [<pool-name>/]<image-name>[@<snapshot-name>]
+                                    or <device-path>
+  
+  Optional arguments
+    -p [ --pool ] arg               pool name
+    --image arg                     image name
+    --snap arg                      snapshot name
+  
+  [22]
   $ rbd feature disable
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd feature disable [--pool <pool>] [--image <image>] 
+                             <image-spec> <features> [<features> ...]
+  
+  Disable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature disable foo
   rbd: at least one feature name must be specified
-  [1]
+  
+  usage: rbd feature disable [--pool <pool>] [--image <image>] 
+                             <image-spec> <features> [<features> ...]
+  
+  Disable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature enable
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd feature enable [--pool <pool>] [--image <image>] 
+                            <image-spec> <features> [<features> ...]
+  
+  Enable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd feature enable foo
   rbd: at least one feature name must be specified
-  [1]
+  
+  usage: rbd feature enable [--pool <pool>] [--image <image>] 
+                            <image-spec> <features> [<features> ...]
+  
+  Enable the specified image feature.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <features>           image features
+                         [layering, striping, exclusive-lock, object-map,
+                         fast-diff, deep-flatten]
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock list
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd lock list [--pool <pool>] [--image <image>] [--format <format>] 
+                       [--pretty-format] 
+                       <image-spec> 
+  
+  Show locks held on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --format arg         output format [plain, json, or xml]
+    --pretty-format      pretty formatting (json and xml)
+  
+  [22]
   $ rbd lock add
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd lock add [--pool <pool>] [--image <image>] [--shared <shared>] 
+                      <image-spec> <lock-id> 
+  
+  Take a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --shared arg         shared lock tag
+  
+  [22]
   $ rbd lock add foo
   rbd: lock id was not specified
-  [1]
+  
+  usage: rbd lock add [--pool <pool>] [--image <image>] [--shared <shared>] 
+                      <image-spec> <lock-id> 
+  
+  Take a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --shared arg         shared lock tag
+  
+  [22]
   $ rbd lock remove
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock remove foo
   rbd: lock id was not specified
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd lock remove foo id
   rbd: locker was not specified
-  [1]
+  
+  usage: rbd lock remove [--pool <pool>] [--image <image>] 
+                         <image-spec> <lock-id> <locker> 
+  
+  Release a lock on an image.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+    <lock-id>            unique lock id
+    <locker>             locker client
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+  
+  [22]
   $ rbd bench-write
   rbd: image name was not specified
-  [1]
+  
+  usage: rbd bench-write [--pool <pool>] [--image <image>] [--io-size <io-size>] 
+                         [--io-threads <io-threads>] [--io-total <io-total>] 
+                         [--io-pattern <io-pattern>] 
+                         <image-spec> 
+  
+  Simple write benchmark.
+  
+  Positional arguments
+    <image-spec>         image specification
+                         (example: [<pool-name>/]<image-name>)
+  
+  Optional arguments
+    -p [ --pool ] arg    pool name
+    --image arg          image name
+    --io-size arg        write size (in B/K/M/G/T)
+    --io-threads arg     ios in flight
+    --io-total arg       total size to write (in B/K/M/G/T)
+    --io-pattern arg     write pattern (rand or seq)
+  
+  [22]