mirror of
https://github.com/ceph/ceph
synced 2025-02-16 15:27:47 +00:00
rbd: rename image-cache invalidate command
Rename command image-cache to persistent-cache. Refactoring the code of invalidate command. [ idryomov: error message, incorporate doc and help.t hunks, drop do_persistent_cache_invalidate() ] Signed-off-by: Yin Congmin <congmin.yin@intel.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
bd66fdda91
commit
05bfe10ad9
@ -99,20 +99,20 @@ For example::
|
||||
hit_bytes: 192 MiB / 66%
|
||||
miss_bytes: 97 MiB
|
||||
|
||||
Discard Cache
|
||||
-------------
|
||||
Invalidate Cache
|
||||
----------------
|
||||
|
||||
To discard a cache file with ``rbd``, specify the ``image-cache invalidate``
|
||||
option, the pool name and the image name. ::
|
||||
To invalidate (discard) a cache file with ``rbd``, specify the
|
||||
``persistent-cache invalidate`` command, the pool name and the image name. ::
|
||||
|
||||
rbd image-cache invalidate {pool-name}/{image-name}
|
||||
rbd persistent-cache invalidate {pool-name}/{image-name}
|
||||
|
||||
The command removes the cache metadata of the corresponding image, disable
|
||||
The command removes the cache metadata of the corresponding image, disables
|
||||
the cache feature and deletes the local cache file if it exists.
|
||||
|
||||
For example::
|
||||
|
||||
$ rbd image-cache invalidate rbd/foo
|
||||
$ rbd persistent-cache invalidate rbd/foo
|
||||
|
||||
.. _section: ../../rados/configuration/ceph-conf/#configuration-sections
|
||||
.. _commands: ../../man/8/rbd#commands
|
||||
|
@ -56,7 +56,6 @@
|
||||
group snap remove (... rm) Remove a snapshot from a group.
|
||||
group snap rename Rename group's snapshot.
|
||||
group snap rollback Rollback group to snapshot.
|
||||
image-cache invalidate Discard existing / dirty image cache
|
||||
image-meta get Image metadata get the value associated
|
||||
with the key.
|
||||
image-meta list (image-meta ls) Image metadata list keys with values.
|
||||
@ -125,6 +124,8 @@
|
||||
object-map rebuild Rebuild an invalid object map.
|
||||
perf image iostat Display image IO statistics.
|
||||
perf image iotop Display a top-like IO monitor.
|
||||
persistent-cache invalidate Invalidate (discard) existing / dirty
|
||||
persistent cache.
|
||||
pool init Initialize pool for use by RBD.
|
||||
pool stats Display pool statistics.
|
||||
remove (rm) Delete an image.
|
||||
@ -1107,23 +1108,6 @@
|
||||
--group arg group name
|
||||
--snap arg snapshot name
|
||||
|
||||
rbd help image-cache invalidate
|
||||
usage: rbd image-cache invalidate [--pool <pool>] [--namespace <namespace>]
|
||||
[--image <image>] [--image-id <image-id>]
|
||||
<image-spec>
|
||||
|
||||
Discard existing / dirty image cache
|
||||
|
||||
Positional arguments
|
||||
<image-spec> image specification
|
||||
(example: [<pool-name>/[<namespace>/]]<image-name>)
|
||||
|
||||
Optional arguments
|
||||
-p [ --pool ] arg pool name
|
||||
--namespace arg namespace name
|
||||
--image arg image name
|
||||
--image-id arg image id
|
||||
|
||||
rbd help image-meta get
|
||||
usage: rbd image-meta get [--pool <pool>] [--namespace <namespace>]
|
||||
[--image <image>]
|
||||
@ -2124,6 +2108,25 @@
|
||||
-p [ --pool ] arg pool name
|
||||
--namespace arg namespace name
|
||||
|
||||
rbd help persistent-cache invalidate
|
||||
usage: rbd persistent-cache invalidate
|
||||
[--pool <pool>]
|
||||
[--namespace <namespace>]
|
||||
[--image <image>] [--image-id <image-id>]
|
||||
<image-spec>
|
||||
|
||||
Invalidate (discard) existing / dirty persistent cache.
|
||||
|
||||
Positional arguments
|
||||
<image-spec> image specification
|
||||
(example: [<pool-name>/[<namespace>/]]<image-name>)
|
||||
|
||||
Optional arguments
|
||||
-p [ --pool ] arg pool name
|
||||
--namespace arg namespace name
|
||||
--image arg image name
|
||||
--image-id arg image id
|
||||
|
||||
rbd help pool init
|
||||
usage: rbd pool init [--pool <pool>] [--force]
|
||||
<pool-name>
|
||||
|
@ -26,7 +26,6 @@ set(rbd_srcs
|
||||
action/Flatten.cc
|
||||
action/Ggate.cc
|
||||
action/Group.cc
|
||||
action/ImageCache.cc
|
||||
action/ImageMeta.cc
|
||||
action/Import.cc
|
||||
action/Info.cc
|
||||
@ -43,6 +42,7 @@ set(rbd_srcs
|
||||
action/Nbd.cc
|
||||
action/ObjectMap.cc
|
||||
action/Perf.cc
|
||||
action/PersistentCache.cc
|
||||
action/Pool.cc
|
||||
action/Remove.cc
|
||||
action/Rename.cc
|
||||
|
@ -14,27 +14,27 @@
|
||||
|
||||
namespace rbd {
|
||||
namespace action {
|
||||
namespace image_cache {
|
||||
namespace persistent_cache {
|
||||
|
||||
namespace at = argument_types;
|
||||
namespace po = boost::program_options;
|
||||
|
||||
void get_arguments(po::options_description *positional,
|
||||
po::options_description *options) {
|
||||
at::add_image_spec_options(positional, options,
|
||||
at::ARGUMENT_MODIFIER_NONE);
|
||||
void get_arguments_invalidate(po::options_description *positional,
|
||||
po::options_description *options) {
|
||||
at::add_image_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE);
|
||||
at::add_image_id_option(options);
|
||||
}
|
||||
|
||||
int execute_discard(const po::variables_map &vm,
|
||||
const std::vector<std::string> &ceph_global_init_args) {
|
||||
int execute_invalidate(const po::variables_map &vm,
|
||||
const std::vector<std::string> &ceph_global_init_args) {
|
||||
size_t arg_index = 0;
|
||||
std::string pool_name;
|
||||
std::string namespace_name;
|
||||
std::string image_name;
|
||||
std::string snap_name;
|
||||
int r = utils::get_pool_image_snapshot_names(
|
||||
vm, at::ARGUMENT_MODIFIER_NONE, &arg_index, &pool_name, &namespace_name,
|
||||
&image_name, nullptr, true, utils::SNAPSHOT_PRESENCE_NONE,
|
||||
&image_name, &snap_name, true, utils::SNAPSHOT_PRESENCE_NONE,
|
||||
utils::SPEC_VALIDATION_NONE);
|
||||
if (r < 0) {
|
||||
return r;
|
||||
@ -43,29 +43,27 @@ int execute_discard(const po::variables_map &vm,
|
||||
librados::Rados rados;
|
||||
librados::IoCtx io_ctx;
|
||||
librbd::Image image;
|
||||
r = utils::init_and_open_image(pool_name, namespace_name, image_name, "",
|
||||
"", false, &rados, &io_ctx, &image);
|
||||
r = utils::init_and_open_image(pool_name, namespace_name, image_name, "", "",
|
||||
false, &rados, &io_ctx, &image);
|
||||
if (r < 0) {
|
||||
std::cerr << "rbd: failed to open image " << image_name << ": "
|
||||
<< cpp_strerror(r) << std::endl;
|
||||
return r;
|
||||
}
|
||||
|
||||
r = image.invalidate_cache();
|
||||
if (r < 0) {
|
||||
std::cerr << "rbd: failed to discard the cache of image " << image_name << ": "
|
||||
std::cerr << "rbd: invalidating persistent cache failed: "
|
||||
<< cpp_strerror(r) << std::endl;
|
||||
return r;
|
||||
}
|
||||
|
||||
image.close();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Shell::Action action_discard(
|
||||
{"image-cache", "invalidate"}, {}, "Discard existing / dirty image cache", "",
|
||||
&get_arguments, &execute_discard);
|
||||
Shell::Action action_invalidate(
|
||||
{"persistent-cache", "invalidate"}, {},
|
||||
"Invalidate (discard) existing / dirty persistent cache.", "",
|
||||
&get_arguments_invalidate, &execute_invalidate);
|
||||
|
||||
} // namespace image_cache
|
||||
} // namespace persistent_cache
|
||||
} // namespace action
|
||||
} // namespace rbd
|
Loading…
Reference in New Issue
Block a user