]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/ceph/caps.c
ceph: move xattr initialzation before the encoding past the ceph_mds_caps
[karo-tx-linux.git] / fs / ceph / caps.c
index 843aa873eb1c89d64c0bf221c0cbe6129bb3e22b..483baab2b1704d38957989c34e4a013c666cc547 100644 (file)
@@ -1057,6 +1057,13 @@ static int send_cap_msg(struct ceph_mds_session *session,
        fc->gid = cpu_to_le32(from_kgid(&init_user_ns, gid));
        fc->mode = cpu_to_le32(mode);
 
+       fc->xattr_version = cpu_to_le64(xattr_version);
+       if (xattrs_buf) {
+               msg->middle = ceph_buffer_get(xattrs_buf);
+               fc->xattr_len = cpu_to_le32(xattrs_buf->vec.iov_len);
+               msg->hdr.middle_len = cpu_to_le32(xattrs_buf->vec.iov_len);
+       }
+
        p = fc + 1;
        /* flock buffer size */
        ceph_encode_32(&p, 0);
@@ -1069,13 +1076,6 @@ static int send_cap_msg(struct ceph_mds_session *session,
        /* oldest_flush_tid */
        ceph_encode_64(&p, oldest_flush_tid);
 
-       fc->xattr_version = cpu_to_le64(xattr_version);
-       if (xattrs_buf) {
-               msg->middle = ceph_buffer_get(xattrs_buf);
-               fc->xattr_len = cpu_to_le32(xattrs_buf->vec.iov_len);
-               msg->hdr.middle_len = cpu_to_le32(xattrs_buf->vec.iov_len);
-       }
-
        ceph_con_send(&session->s_con, msg);
        return 0;
 }