Commit ac8839d7 authored by Sage Weil's avatar Sage Weil
Browse files

ceph: include type in ceph_entity_addr, filepath



Include a type/version in ceph_entity_addr and filepath.  Include extra
byte in filepath encoding as necessary.

Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent 361be860
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ static inline void ceph_encode_filepath(void **p, void *end,
{
	u32 len = path ? strlen(path) : 0;
	BUG_ON(*p + sizeof(ino) + sizeof(len) + len > end);
	ceph_encode_8(p, 1);
	ceph_encode_64(p, ino);
	ceph_encode_32(p, len);
	if (len)
+1 −1
Original line number Diff line number Diff line
@@ -1325,7 +1325,7 @@ static struct ceph_msg *create_request_message(struct ceph_mds_client *mdsc,
	}

	len = sizeof(*head) +
		pathlen1 + pathlen2 + 2*(sizeof(u32) + sizeof(u64));
		pathlen1 + pathlen2 + 2*(1 + sizeof(u32) + sizeof(u64));

	/* calculate (max) length for cap releases */
	len += sizeof(struct ceph_mds_request_release) *
+1 −0
Original line number Diff line number Diff line
@@ -1909,6 +1909,7 @@ struct ceph_messenger *ceph_messenger_create(struct ceph_entity_addr *myaddr)
		msgr->inst.addr = *myaddr;

	/* select a random nonce */
	msgr->inst.addr.type = 0;
	get_random_bytes(&msgr->inst.addr.nonce, sizeof(msgr->inst.addr.nonce));
	encode_my_addr(msgr);

+3 −2
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
 * whenever the wire protocol changes.  try to keep this string length
 * constant.
 */
#define CEPH_BANNER "ceph v026"
#define CEPH_BANNER "ceph v027"
#define CEPH_BANNER_MAX_LEN 30


@@ -61,7 +61,8 @@ extern const char *ceph_entity_type_name(int type);
 * entity_addr -- network address
 */
struct ceph_entity_addr {
	__le64 nonce;  /* unique id for process (e.g. pid) */
	__le32 type;
	__le32 nonce;  /* unique id for process (e.g. pid) */
	struct sockaddr_storage in_addr;
} __attribute__ ((packed));