NFS: Fix size of NFSACL SETACL operations
When encoding the NFSACL SETACL operation, reserve just the estimated
size of the ACL rather than a fixed maximum. This eliminates needless
zero padding on the wire that the server ignores.
Fixes: ee5dc7732b
('NFS: Fix "kernel BUG at fs/nfs/nfs3xdr.c:1338!"')
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Родитель
7ef5ca4fe4
Коммит
d683cc49da
|
@ -1342,7 +1342,7 @@ static void nfs3_xdr_enc_setacl3args(struct rpc_rqst *req,
|
|||
if (args->npages != 0)
|
||||
xdr_write_pages(xdr, args->pages, 0, args->len);
|
||||
else
|
||||
xdr_reserve_space(xdr, NFS_ACL_INLINE_BUFSIZE);
|
||||
xdr_reserve_space(xdr, args->len);
|
||||
|
||||
error = nfsacl_encode(xdr->buf, base, args->inode,
|
||||
(args->mask & NFS_ACL) ?
|
||||
|
|
Загрузка…
Ссылка в новой задаче