Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 223768d0 authored by Ilya Dryomov's avatar Ilya Dryomov
Browse files

rbd: RBD_V{1,2}_DATA_FORMAT macros



... and also fix up the comment -- format 1 data objects have always
been 12 hex digits long.

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarJason Dillaman <dillaman@redhat.com>
parent bc81207e
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1257,18 +1257,16 @@ static void rbd_segment_name_free(const char *name)

static const char *rbd_segment_name(struct rbd_device *rbd_dev, u64 offset)
{
	const char *name_format = rbd_dev->image_format == 1 ?
				      RBD_V1_DATA_FORMAT : RBD_V2_DATA_FORMAT;
	char *name;
	u64 segment;
	int ret;
	char *name_format;

	name = kmem_cache_alloc(rbd_segment_name_cache, GFP_NOIO);
	if (!name)
		return NULL;
	segment = offset >> rbd_dev->header.obj_order;
	name_format = "%s.%012llx";
	if (rbd_dev->image_format == 2)
		name_format = "%s.%016llx";
	ret = snprintf(name, CEPH_MAX_OID_NAME_LEN + 1, name_format,
			rbd_dev->header.object_prefix, segment);
	if (ret < 0 || ret > CEPH_MAX_OID_NAME_LEN) {
+4 −3
Original line number Diff line number Diff line
@@ -25,8 +25,8 @@
 */

#define RBD_HEADER_PREFIX      "rbd_header."
#define RBD_DATA_PREFIX        "rbd_data."
#define RBD_ID_PREFIX          "rbd_id."
#define RBD_V2_DATA_FORMAT     "%s.%016llx"

#define RBD_LOCK_NAME          "rbd_lock"
#define RBD_LOCK_TAG           "internal"
@@ -42,13 +42,14 @@ enum rbd_notify_op {
/*
 * For format version 1, rbd image 'foo' consists of objects
 *   foo.rbd		- image metadata
 *   rb.<idhi>.<idlo>.00000000
 *   rb.<idhi>.<idlo>.00000001
 *   rb.<idhi>.<idlo>.<extra>.000000000000
 *   rb.<idhi>.<idlo>.<extra>.000000000001
 *   ...		- data
 * There is no notion of a persistent image id in rbd format 1.
 */

#define RBD_SUFFIX		".rbd"
#define RBD_V1_DATA_FORMAT	"%s.%012llx"

#define RBD_DIRECTORY           "rbd_directory"
#define RBD_INFO                "rbd_info"