|
@@ -74,7 +74,7 @@ static int nfs4_stat_to_errno(int);
|
|
/* lock,open owner id:
|
|
/* lock,open owner id:
|
|
* we currently use size 2 (u64) out of (NFS4_OPAQUE_LIMIT >> 2)
|
|
* we currently use size 2 (u64) out of (NFS4_OPAQUE_LIMIT >> 2)
|
|
*/
|
|
*/
|
|
-#define open_owner_id_maxsz (1 + 1 + 4)
|
|
|
|
|
|
+#define open_owner_id_maxsz (1 + 2 + 1 + 1 + 2)
|
|
#define lock_owner_id_maxsz (1 + 1 + 4)
|
|
#define lock_owner_id_maxsz (1 + 1 + 4)
|
|
#define decode_lockowner_maxsz (1 + XDR_QUADLEN(IDMAP_NAMESZ))
|
|
#define decode_lockowner_maxsz (1 + XDR_QUADLEN(IDMAP_NAMESZ))
|
|
#define compound_encode_hdr_maxsz (3 + (NFS4_MAXTAGLEN >> 2))
|
|
#define compound_encode_hdr_maxsz (3 + (NFS4_MAXTAGLEN >> 2))
|
|
@@ -1340,12 +1340,13 @@ static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_opena
|
|
*/
|
|
*/
|
|
encode_nfs4_seqid(xdr, arg->seqid);
|
|
encode_nfs4_seqid(xdr, arg->seqid);
|
|
encode_share_access(xdr, arg->fmode);
|
|
encode_share_access(xdr, arg->fmode);
|
|
- p = reserve_space(xdr, 32);
|
|
|
|
|
|
+ p = reserve_space(xdr, 36);
|
|
p = xdr_encode_hyper(p, arg->clientid);
|
|
p = xdr_encode_hyper(p, arg->clientid);
|
|
- *p++ = cpu_to_be32(20);
|
|
|
|
|
|
+ *p++ = cpu_to_be32(24);
|
|
p = xdr_encode_opaque_fixed(p, "open id:", 8);
|
|
p = xdr_encode_opaque_fixed(p, "open id:", 8);
|
|
*p++ = cpu_to_be32(arg->server->s_dev);
|
|
*p++ = cpu_to_be32(arg->server->s_dev);
|
|
- xdr_encode_hyper(p, arg->id);
|
|
|
|
|
|
+ *p++ = cpu_to_be32(arg->id.uniquifier);
|
|
|
|
+ xdr_encode_hyper(p, arg->id.create_time);
|
|
}
|
|
}
|
|
|
|
|
|
static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg)
|
|
static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg)
|