X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcls%2Frbd%2Fcls_rbd_client.h;fp=src%2Fceph%2Fsrc%2Fcls%2Frbd%2Fcls_rbd_client.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=ed2c02c714e10c1a40921ae8d9f3a90bd0c12831;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/cls/rbd/cls_rbd_client.h b/src/ceph/src/cls/rbd/cls_rbd_client.h deleted file mode 100644 index ed2c02c..0000000 --- a/src/ceph/src/cls/rbd/cls_rbd_client.h +++ /dev/null @@ -1,437 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef CEPH_LIBRBD_CLS_RBD_CLIENT_H -#define CEPH_LIBRBD_CLS_RBD_CLIENT_H - -#include "cls/lock/cls_lock_types.h" -#include "cls/rbd/cls_rbd_types.h" -#include "common/bit_vector.hpp" -#include "common/snap_types.h" -#include "include/types.h" -#include "librbd/Types.h" - -class Context; -namespace librados { - class ObjectReadOperation; - class IoCtx; - class ObjectWriteOperation; -} - -namespace librbd { - namespace cls_client { - // high-level interface to the header - void get_immutable_metadata_start(librados::ObjectReadOperation *op); - int get_immutable_metadata_finish(bufferlist::iterator *it, - std::string *object_prefix, - uint8_t *order); - int get_immutable_metadata(librados::IoCtx *ioctx, const std::string &oid, - std::string *object_prefix, uint8_t *order); - - void get_mutable_metadata_start(librados::ObjectReadOperation *op, - bool read_only); - int get_mutable_metadata_finish(bufferlist::iterator *it, - uint64_t *size, uint64_t *features, - uint64_t *incompatible_features, - std::map *lockers, - bool *exclusive_lock, std::string *lock_tag, - ::SnapContext *snapc, ParentInfo *parent); - int get_mutable_metadata(librados::IoCtx *ioctx, const std::string &oid, - bool read_only, uint64_t *size, uint64_t *features, - uint64_t *incompatible_features, - map *lockers, - bool *exclusive_lock, - std::string *lock_tag, - ::SnapContext *snapc, - ParentInfo *parent); - - // low-level interface (mainly for testing) - void create_image(librados::ObjectWriteOperation *op, uint64_t size, - uint8_t order, uint64_t features, - const std::string &object_prefix, int64_t data_pool_id); - int create_image(librados::IoCtx *ioctx, const std::string &oid, - uint64_t size, uint8_t order, uint64_t features, - const std::string &object_prefix, int64_t data_pool_id); - int get_features(librados::IoCtx *ioctx, const std::string &oid, - snapid_t snap_id, uint64_t *features); - void set_features(librados::ObjectWriteOperation *op, uint64_t features, - uint64_t mask); - int set_features(librados::IoCtx *ioctx, const std::string &oid, - uint64_t features, uint64_t mask); - int get_object_prefix(librados::IoCtx *ioctx, const std::string &oid, - std::string *object_prefix); - void get_data_pool_start(librados::ObjectReadOperation *op); - int get_data_pool_finish(bufferlist::iterator *it, int64_t *data_pool_id); - int get_data_pool(librados::IoCtx *ioctx, const std::string &oid, - int64_t *data_pool_id); - int get_size(librados::IoCtx *ioctx, const std::string &oid, - snapid_t snap_id, uint64_t *size, uint8_t *order); - int set_size(librados::IoCtx *ioctx, const std::string &oid, - uint64_t size); - void set_size(librados::ObjectWriteOperation *op, uint64_t size); - int get_parent(librados::IoCtx *ioctx, const std::string &oid, - snapid_t snap_id, ParentSpec *pspec, - uint64_t *parent_overlap); - int set_parent(librados::IoCtx *ioctx, const std::string &oid, - const ParentSpec &pspec, uint64_t parent_overlap); - void set_parent(librados::ObjectWriteOperation *op, - const ParentSpec &pspec, uint64_t parent_overlap); - void get_flags_start(librados::ObjectReadOperation *op, - const std::vector &snap_ids); - int get_flags_finish(bufferlist::iterator *it, uint64_t *flags, - const std::vector &snap_ids, - std::vector *snap_flags); - int get_flags(librados::IoCtx *ioctx, const std::string &oid, - uint64_t *flags, const std::vector &snap_ids, - vector *snap_flags); - void set_flags(librados::ObjectWriteOperation *op, snapid_t snap_id, - uint64_t flags, uint64_t mask); - int remove_parent(librados::IoCtx *ioctx, const std::string &oid); - void remove_parent(librados::ObjectWriteOperation *op); - int add_child(librados::IoCtx *ioctx, const std::string &oid, - const ParentSpec &pspec, const std::string &c_imageid); - void add_child(librados::ObjectWriteOperation *op, - const ParentSpec pspec, const std::string &c_imageid); - void remove_child(librados::ObjectWriteOperation *op, - const ParentSpec &pspec, const std::string &c_imageid); - int remove_child(librados::IoCtx *ioctx, const std::string &oid, - const ParentSpec &pspec, const std::string &c_imageid); - void get_children_start(librados::ObjectReadOperation *op, - const ParentSpec &pspec); - int get_children_finish(bufferlist::iterator *it, - std::set *children); - int get_children(librados::IoCtx *ioctx, const std::string &oid, - const ParentSpec &pspec, set& children); - void snapshot_add(librados::ObjectWriteOperation *op, snapid_t snap_id, - const std::string &snap_name, - const cls::rbd::SnapshotNamespace &snap_namespace); - void snapshot_remove(librados::ObjectWriteOperation *op, snapid_t snap_id); - void snapshot_rename(librados::ObjectWriteOperation *op, - snapid_t src_snap_id, - const std::string &dst_name); - int get_snapcontext(librados::IoCtx *ioctx, const std::string &oid, - ::SnapContext *snapc); - - void snapshot_list_start(librados::ObjectReadOperation *op, - const std::vector &ids); - int snapshot_list_finish(bufferlist::iterator *it, - const std::vector &ids, - std::vector *names, - std::vector *sizes, - std::vector *parents, - std::vector *protection_statuses); - void snapshot_timestamp_list_start(librados::ObjectReadOperation *op, - const std::vector &ids); - - int snapshot_timestamp_list_finish(bufferlist::iterator *it, - const std::vector &ids, - std::vector *timestamps); - - int snapshot_timestamp_list(librados::IoCtx *ioctx, const std::string &oid, - const std::vector &ids, - std::vector *timestamps); - - int snapshot_list(librados::IoCtx *ioctx, const std::string &oid, - const std::vector &ids, - std::vector *names, - std::vector *sizes, - std::vector *parents, - std::vector *protection_statuses); - - void snapshot_namespace_list_start(librados::ObjectReadOperation *op, - const std::vector &ids); - int snapshot_namespace_list_finish(bufferlist::iterator *it, - const std::vector &ids, - std::vector *namespaces); - int snapshot_namespace_list(librados::IoCtx *ioctx, const std::string &oid, - const std::vector &ids, - std::vector *namespaces); - - void get_all_features_start(librados::ObjectReadOperation *op); - int get_all_features_finish(bufferlist::iterator *it, - uint64_t *all_features); - int get_all_features(librados::IoCtx *ioctx, const std::string &oid, - uint64_t *all_features); - - int copyup(librados::IoCtx *ioctx, const std::string &oid, - bufferlist data); - int get_protection_status(librados::IoCtx *ioctx, const std::string &oid, - snapid_t snap_id, uint8_t *protection_status); - int set_protection_status(librados::IoCtx *ioctx, const std::string &oid, - snapid_t snap_id, uint8_t protection_status); - void set_protection_status(librados::ObjectWriteOperation *op, - snapid_t snap_id, uint8_t protection_status); - int snapshot_get_limit(librados::IoCtx *ioctx, const std::string &oid, - uint64_t *limit); - void snapshot_set_limit(librados::ObjectWriteOperation *op, - uint64_t limit); - - void get_stripe_unit_count_start(librados::ObjectReadOperation *op); - int get_stripe_unit_count_finish(bufferlist::iterator *it, - uint64_t *stripe_unit, - uint64_t *stripe_count); - int get_stripe_unit_count(librados::IoCtx *ioctx, const std::string &oid, - uint64_t *stripe_unit, uint64_t *stripe_count); - - void set_stripe_unit_count(librados::ObjectWriteOperation *op, - uint64_t stripe_unit, uint64_t stripe_count); - int set_stripe_unit_count(librados::IoCtx *ioctx, const std::string &oid, - uint64_t stripe_unit, uint64_t stripe_count); - void get_create_timestamp_start(librados::ObjectReadOperation *op); - int get_create_timestamp_finish(bufferlist::iterator *it, - utime_t *timestamp); - int get_create_timestamp(librados::IoCtx *ioctx, const std::string &oid, - utime_t *timestamp); - int metadata_list(librados::IoCtx *ioctx, const std::string &oid, - const std::string &start, uint64_t max_return, - map *pairs); - void metadata_list_start(librados::ObjectReadOperation *op, - const std::string &start, uint64_t max_return); - int metadata_list_finish(bufferlist::iterator *it, - std::map *pairs); - void metadata_set(librados::ObjectWriteOperation *op, - const map &data); - int metadata_set(librados::IoCtx *ioctx, const std::string &oid, - const map &data); - void metadata_remove(librados::ObjectWriteOperation *op, - const std::string &key); - int metadata_remove(librados::IoCtx *ioctx, const std::string &oid, - const std::string &key); - int metadata_get(librados::IoCtx *ioctx, const std::string &oid, - const std::string &key, string *v); - - // operations on rbd_id objects - void get_id_start(librados::ObjectReadOperation *op); - int get_id_finish(bufferlist::iterator *it, std::string *id); - int get_id(librados::IoCtx *ioctx, const std::string &oid, std::string *id); - - void set_id(librados::ObjectWriteOperation *op, std::string id); - int set_id(librados::IoCtx *ioctx, const std::string &oid, std::string id); - - // operations on rbd_directory objects - int dir_get_id(librados::IoCtx *ioctx, const std::string &oid, - const std::string &name, std::string *id); - void dir_get_id_start(librados::ObjectReadOperation *op, - const std::string &image_name); - int dir_get_id_finish(bufferlist::iterator *iter, std::string *image_id); - void dir_get_name_start(librados::ObjectReadOperation *op, - const std::string &id); - int dir_get_name_finish(bufferlist::iterator *it, std::string *name); - int dir_get_name(librados::IoCtx *ioctx, const std::string &oid, - const std::string &id, std::string *name); - void dir_list_start(librados::ObjectReadOperation *op, - const std::string &start, uint64_t max_return); - int dir_list_finish(bufferlist::iterator *it, map *images); - int dir_list(librados::IoCtx *ioctx, const std::string &oid, - const std::string &start, uint64_t max_return, - map *images); - void dir_add_image(librados::ObjectWriteOperation *op, - const std::string &name, const std::string &id); - int dir_add_image(librados::IoCtx *ioctx, const std::string &oid, - const std::string &name, const std::string &id); - int dir_remove_image(librados::IoCtx *ioctx, const std::string &oid, - const std::string &name, const std::string &id); - void dir_remove_image(librados::ObjectWriteOperation *op, - const std::string &name, const std::string &id); - // atomic remove and add - void dir_rename_image(librados::ObjectWriteOperation *op, - const std::string &src, const std::string &dest, - const std::string &id); - - // operations on the rbd_object_map.$image_id object - void object_map_load_start(librados::ObjectReadOperation *op); - int object_map_load_finish(bufferlist::iterator *it, - ceph::BitVector<2> *object_map); - int object_map_load(librados::IoCtx *ioctx, const std::string &oid, - ceph::BitVector<2> *object_map); - void object_map_save(librados::ObjectWriteOperation *rados_op, - const ceph::BitVector<2> &object_map); - void object_map_resize(librados::ObjectWriteOperation *rados_op, - uint64_t object_count, uint8_t default_state); - void object_map_update(librados::ObjectWriteOperation *rados_op, - uint64_t start_object_no, uint64_t end_object_no, - uint8_t new_object_state, - const boost::optional ¤t_object_state); - void object_map_snap_add(librados::ObjectWriteOperation *rados_op); - void object_map_snap_remove(librados::ObjectWriteOperation *rados_op, - const ceph::BitVector<2> &object_map); - - // class operations on the old format, kept for - // backwards compatability - void old_snapshot_add(librados::ObjectWriteOperation *rados_op, - snapid_t snap_id, const std::string &snap_name); - void old_snapshot_remove(librados::ObjectWriteOperation *rados_op, - const std::string &snap_name); - void old_snapshot_rename(librados::ObjectWriteOperation *rados_op, - snapid_t src_snap_id, const std::string &dst_name); - - void old_snapshot_list_start(librados::ObjectReadOperation *op); - int old_snapshot_list_finish(bufferlist::iterator *it, - std::vector *names, - std::vector *sizes, - ::SnapContext *snapc); - int old_snapshot_list(librados::IoCtx *ioctx, const std::string &oid, - std::vector *names, - std::vector *sizes, - ::SnapContext *snapc); - - // operations on the rbd_mirroring object - void mirror_uuid_get_start(librados::ObjectReadOperation *op); - int mirror_uuid_get_finish(bufferlist::iterator *it, - std::string *uuid); - int mirror_uuid_get(librados::IoCtx *ioctx, std::string *uuid); - int mirror_uuid_set(librados::IoCtx *ioctx, const std::string &uuid); - void mirror_mode_get_start(librados::ObjectReadOperation *op); - int mirror_mode_get_finish(bufferlist::iterator *it, - cls::rbd::MirrorMode *mirror_mode); - int mirror_mode_get(librados::IoCtx *ioctx, - cls::rbd::MirrorMode *mirror_mode); - int mirror_mode_set(librados::IoCtx *ioctx, - cls::rbd::MirrorMode mirror_mode); - int mirror_peer_list(librados::IoCtx *ioctx, - std::vector *peers); - int mirror_peer_add(librados::IoCtx *ioctx, const std::string &uuid, - const std::string &cluster_name, - const std::string &client_name, - int64_t pool_id = -1); - int mirror_peer_remove(librados::IoCtx *ioctx, - const std::string &uuid); - int mirror_peer_set_client(librados::IoCtx *ioctx, - const std::string &uuid, - const std::string &client_name); - int mirror_peer_set_cluster(librados::IoCtx *ioctx, - const std::string &uuid, - const std::string &cluster_name); - void mirror_image_list_start(librados::ObjectReadOperation *op, - const std::string &start, uint64_t max_return); - int mirror_image_list_finish(bufferlist::iterator *it, - std::map *mirror_image_ids); - int mirror_image_list(librados::IoCtx *ioctx, - const std::string &start, uint64_t max_return, - std::map *mirror_image_ids); - void mirror_image_get_image_id_start(librados::ObjectReadOperation *op, - const std::string &global_image_id); - int mirror_image_get_image_id_finish(bufferlist::iterator *it, - std::string *image_id); - int mirror_image_get_image_id(librados::IoCtx *ioctx, - const std::string &global_image_id, - std::string *image_id); - int mirror_image_get(librados::IoCtx *ioctx, const std::string &image_id, - cls::rbd::MirrorImage *mirror_image); - void mirror_image_get_start(librados::ObjectReadOperation *op, - const std::string &image_id); - int mirror_image_get_finish(bufferlist::iterator *iter, - cls::rbd::MirrorImage *mirror_image); - void mirror_image_set(librados::ObjectWriteOperation *op, - const std::string &image_id, - const cls::rbd::MirrorImage &mirror_image); - int mirror_image_set(librados::IoCtx *ioctx, const std::string &image_id, - const cls::rbd::MirrorImage &mirror_image); - void mirror_image_remove(librados::ObjectWriteOperation *op, - const std::string &image_id); - int mirror_image_remove(librados::IoCtx *ioctx, - const std::string &image_id); - int mirror_image_status_set(librados::IoCtx *ioctx, - const std::string &global_image_id, - const cls::rbd::MirrorImageStatus &status); - void mirror_image_status_set(librados::ObjectWriteOperation *op, - const std::string &global_image_id, - const cls::rbd::MirrorImageStatus &status); - int mirror_image_status_remove(librados::IoCtx *ioctx, - const std::string &global_image_id); - void mirror_image_status_remove(librados::ObjectWriteOperation *op, - const std::string &global_image_id); - int mirror_image_status_get(librados::IoCtx *ioctx, - const std::string &global_image_id, - cls::rbd::MirrorImageStatus *status); - void mirror_image_status_get_start(librados::ObjectReadOperation *op, - const std::string &global_image_id); - int mirror_image_status_get_finish(bufferlist::iterator *iter, - cls::rbd::MirrorImageStatus *status); - int mirror_image_status_list(librados::IoCtx *ioctx, - const std::string &start, uint64_t max_return, - std::map *images, - std::map *statuses); - void mirror_image_status_list_start(librados::ObjectReadOperation *op, - const std::string &start, - uint64_t max_return); - int mirror_image_status_list_finish(bufferlist::iterator *iter, - std::map *images, - std::map *statuses); - int mirror_image_status_get_summary(librados::IoCtx *ioctx, - std::map *states); - void mirror_image_status_get_summary_start(librados::ObjectReadOperation *op); - int mirror_image_status_get_summary_finish(bufferlist::iterator *iter, - std::map *states); - int mirror_image_status_remove_down(librados::IoCtx *ioctx); - void mirror_image_status_remove_down(librados::ObjectWriteOperation *op); - - void mirror_instances_list_start(librados::ObjectReadOperation *op); - int mirror_instances_list_finish(bufferlist::iterator *iter, - std::vector *instance_ids); - int mirror_instances_list(librados::IoCtx *ioctx, - std::vector *instance_ids); - void mirror_instances_add(librados::ObjectWriteOperation *op, - const std::string &instance_id); - int mirror_instances_add(librados::IoCtx *ioctx, - const std::string &instance_id); - void mirror_instances_remove(librados::ObjectWriteOperation *op, - const std::string &instance_id); - int mirror_instances_remove(librados::IoCtx *ioctx, - const std::string &instance_id); - - // Consistency groups functions - int group_create(librados::IoCtx *ioctx, const std::string &oid); - int group_dir_list(librados::IoCtx *ioctx, const std::string &oid, - const std::string &start, uint64_t max_return, - map *groups); - int group_dir_add(librados::IoCtx *ioctx, const std::string &oid, - const std::string &name, const std::string &id); - int group_dir_remove(librados::IoCtx *ioctx, const std::string &oid, - const std::string &name, const std::string &id); - int group_image_remove(librados::IoCtx *ioctx, const std::string &oid, - const cls::rbd::GroupImageSpec &spec); - int group_image_list(librados::IoCtx *ioctx, const std::string &oid, - const cls::rbd::GroupImageSpec &start, - uint64_t max_return, - std::vector *images); - int group_image_set(librados::IoCtx *ioctx, const std::string &oid, - const cls::rbd::GroupImageStatus &st); - int image_add_group(librados::IoCtx *ioctx, const std::string &oid, - const cls::rbd::GroupSpec &group_spec); - int image_remove_group(librados::IoCtx *ioctx, const std::string &oid, - const cls::rbd::GroupSpec &group_spec); - void image_get_group_start(librados::ObjectReadOperation *op); - int image_get_group_finish(bufferlist::iterator *iter, - cls::rbd::GroupSpec *group_spec); - int image_get_group(librados::IoCtx *ioctx, const std::string &oid, - cls::rbd::GroupSpec *group_spec); - - // operations on rbd_trash object - void trash_add(librados::ObjectWriteOperation *op, - const std::string &id, - const cls::rbd::TrashImageSpec &trash_spec); - int trash_add(librados::IoCtx *ioctx, const std::string &id, - const cls::rbd::TrashImageSpec &trash_spec); - void trash_remove(librados::ObjectWriteOperation *op, - const std::string &id); - int trash_remove(librados::IoCtx *ioctx, const std::string &id); - void trash_list_start(librados::ObjectReadOperation *op, - const std::string &start, uint64_t max_return); - int trash_list_finish(bufferlist::iterator *it, - map *entries); - int trash_list(librados::IoCtx *ioctx, - const std::string &start, uint64_t max_return, - map *entries); - void trash_get_start(librados::ObjectReadOperation *op, - const std::string &id); - int trash_get_finish(bufferlist::iterator *it, - cls::rbd::TrashImageSpec *trash_spec); - int trash_get(librados::IoCtx *ioctx, const std::string &id, - cls::rbd::TrashImageSpec *trash_spec); - - } // namespace cls_client -} // namespace librbd -#endif // CEPH_LIBRBD_CLS_RBD_CLIENT_H