X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Finclude%2Frbd_types.h;fp=src%2Fceph%2Fsrc%2Finclude%2Frbd_types.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=939d4d34890985b6fce4b86322c4ba11721132e4;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/include/rbd_types.h b/src/ceph/src/include/rbd_types.h deleted file mode 100644 index 939d4d3..0000000 --- a/src/ceph/src/include/rbd_types.h +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2010 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_RBD_TYPES_H -#define CEPH_RBD_TYPES_H - -#include "include/types.h" -#include "rbd/features.h" - -/* New-style rbd image 'foo' consists of objects - * rbd_id.foo - id of image - * rbd_header. - image metadata - * rbd_object_map. - optional image object map - * rbd_data..00000000 - * rbd_data..00000001 - * ... - data - */ - -#define RBD_HEADER_PREFIX "rbd_header." -#define RBD_OBJECT_MAP_PREFIX "rbd_object_map." -#define RBD_DATA_PREFIX "rbd_data." -#define RBD_ID_PREFIX "rbd_id." - -/* - * old-style rbd image 'foo' consists of objects - * foo.rbd - image metadata - * rb...00000000 - * rb...00000001 - * ... - data - */ - -#define RBD_SUFFIX ".rbd" -#define RBD_DIRECTORY "rbd_directory" -#define RBD_INFO "rbd_info" - -/* - * rbd_children object in each pool contains omap entries - * that map parent (poolid, imageid, snapid) to a list of children - * (imageids; snapids aren't required because we get all the snapshot - * info from a read of the child's header object anyway). - * - * The clone operation writes a new item to this child list, and rm or - * flatten removes an item, and may remove the whole entry if no children - * exist after the rm/flatten. - * - * When attempting to remove a parent, all pools are searched for - * rbd_children objects with entries referring to that parent; if any - * exist (and those children exist), the parent removal is prevented. - */ -#define RBD_CHILDREN "rbd_children" -#define RBD_LOCK_NAME "rbd_lock" - -/** - * rbd_mirroring object in each pool contains pool-specific settings - * for configuring mirroring. - */ -#define RBD_MIRRORING "rbd_mirroring" - -/** - * rbd_mirror_leader and rbd_mirror_instance. objects are used - * for pool-level coordination between rbd-mirror daemons. - */ -#define RBD_MIRROR_LEADER "rbd_mirror_leader" -#define RBD_MIRROR_INSTANCE_PREFIX "rbd_mirror_instance." - -#define RBD_MAX_OBJ_NAME_SIZE 96 -#define RBD_MAX_BLOCK_NAME_SIZE 24 - -/** - * Maximum string length of the RBD v2 image id (not including - * null termination). This limit was derived from the existing - * RBD_MAX_BLOCK_NAME_SIZE limit which needs to hold the "rbd_data." - * prefix and null termination. - */ -#define RBD_MAX_IMAGE_ID_LENGTH 14 - -/** - * Maximum string length of the RBD block object name prefix (not including - * null termination). - * - * v1 format: rb... - * v2 format: rbd_data.[.] - * - * Note: new features might require increasing this maximum prefix length. - */ -#define RBD_MAX_BLOCK_NAME_PREFIX_LENGTH 43 - -#define RBD_COMP_NONE 0 -#define RBD_CRYPT_NONE 0 - -#define RBD_HEADER_TEXT "<<< Rados Block Device Image >>>\n" -#define RBD_HEADER_SIGNATURE "RBD" -#define RBD_HEADER_VERSION "001.005" - -#define RBD_GROUP_HEADER_PREFIX "rbd_group_header." - -#define RBD_GROUP_DIRECTORY "rbd_group_directory" - -#define RBD_TRASH "rbd_trash" - -struct rbd_info { - __le64 max_id; -} __attribute__ ((packed)); - -struct rbd_obj_snap_ondisk { - __le64 id; - __le64 image_size; -} __attribute__((packed)); - -struct rbd_obj_header_ondisk { - char text[40]; - char block_name[RBD_MAX_BLOCK_NAME_SIZE]; - char signature[4]; - char version[8]; - struct { - __u8 order; - __u8 crypt_type; - __u8 comp_type; - __u8 unused; - } __attribute__((packed)) options; - __le64 image_size; - __le64 snap_seq; - __le32 snap_count; - __le32 reserved; - __le64 snap_names_len; - struct rbd_obj_snap_ondisk snaps[0]; -} __attribute__((packed)); - -enum { - RBD_PROTECTION_STATUS_UNPROTECTED = 0, - RBD_PROTECTION_STATUS_UNPROTECTING = 1, - RBD_PROTECTION_STATUS_PROTECTED = 2, - RBD_PROTECTION_STATUS_LAST = 3 -}; - -#endif