浏览代码

ceph: add struct version to auth encoding

Inlucde struct version in encoding. This will streamline future protocol
changes.

Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil 15 年之前
父节点
当前提交
07c8739c52
共有 2 个文件被更改,包括 4 次插入0 次删除
  1. 3 0
      fs/ceph/auth.c
  2. 1 0
      fs/ceph/auth_none.c

+ 3 - 0
fs/ceph/auth.c

@@ -107,8 +107,11 @@ int ceph_auth_build_hello(struct ceph_auth_client *ac, void *buf, size_t len)
 	lenp = p;
 	p += sizeof(u32);
 
+	ceph_decode_need(&p, end, 1 + sizeof(u32), bad);
+	ceph_encode_8(&p, 1);
 	num = ARRAY_SIZE(supported_protocols);
 	ceph_encode_32(&p, num);
+	ceph_decode_need(&p, end, num * sizeof(u32), bad);
 	for (i = 0; i < num; i++)
 		ceph_encode_32(&p, supported_protocols[i]);
 

+ 1 - 0
fs/ceph/auth_none.c

@@ -62,6 +62,7 @@ static int ceph_auth_none_create_authorizer(
 	if (!ai->built_authorizer) {
 		p = au->buf;
 		end = p + sizeof(au->buf);
+		ceph_encode_8(&p, 1);
 		ret = ceph_entity_name_encode(ac->name, &p, end - 8);
 		if (ret < 0)
 			goto bad;