nfsd: fix supported attributes for acl & labels
Oops--in916d2d844a
I moved some constants into an array for convenience, but here I'm accidentally writing to that array. The effect is that if you ever encounter a filesystem lacking support for ACLs or security labels, then all queries of supported attributes will report that attribute as unsupported from then on. Fixes:916d2d844a
"nfsd: clean up supported attribute handling" Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
0c744ea4f7
Коммит
dcd2086977
|
@ -2440,7 +2440,9 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
|
||||||
p++; /* to be backfilled later */
|
p++; /* to be backfilled later */
|
||||||
|
|
||||||
if (bmval0 & FATTR4_WORD0_SUPPORTED_ATTRS) {
|
if (bmval0 & FATTR4_WORD0_SUPPORTED_ATTRS) {
|
||||||
u32 *supp = nfsd_suppattrs[minorversion];
|
u32 supp[3];
|
||||||
|
|
||||||
|
memcpy(supp, nfsd_suppattrs[minorversion], sizeof(supp));
|
||||||
|
|
||||||
if (!IS_POSIXACL(dentry->d_inode))
|
if (!IS_POSIXACL(dentry->d_inode))
|
||||||
supp[0] &= ~FATTR4_WORD0_ACL;
|
supp[0] &= ~FATTR4_WORD0_ACL;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче