提交 ea4c07d7 编写于 作者: S Steve French

[CIFS] Do not send Query All EAs SMB when mount option nouser_xattr

specified

Pointed out by Bjoern Jacke
Signed-off-by: NSteve French <sfrench@us.ibm.com>
上级 5ddaa683
...@@ -5,7 +5,8 @@ time out requests if server still responding reasonably fast ...@@ -5,7 +5,8 @@ time out requests if server still responding reasonably fast
on requests on other threads. Improve POSIX locking emulation, on requests on other threads. Improve POSIX locking emulation,
(lock cancel now works, and unlock of merged range works even (lock cancel now works, and unlock of merged range works even
to Windows servers now). Fix oops on mount to lanman servers to Windows servers now). Fix oops on mount to lanman servers
(win9x, os/2 etc.) when null password. (win9x, os/2 etc.) when null password. Do not send listxattr
(SMB to query all EAs) if nouser_xattr specified.
Version 1.44 Version 1.44
------------ ------------
......
...@@ -408,7 +408,7 @@ A partial list of the supported mount options follows: ...@@ -408,7 +408,7 @@ A partial list of the supported mount options follows:
user_xattr Allow getting and setting user xattrs as OS/2 EAs (extended user_xattr Allow getting and setting user xattrs as OS/2 EAs (extended
attributes) to the server (default) e.g. via setfattr attributes) to the server (default) e.g. via setfattr
and getfattr utilities. and getfattr utilities.
nouser_xattr Do not allow getfattr/setfattr to get/set xattrs nouser_xattr Do not allow getfattr/setfattr to get/set/list xattrs
mapchars Translate six of the seven reserved characters (not backslash) mapchars Translate six of the seven reserved characters (not backslash)
*?<>|: *?<>|:
to the remap range (above 0xF000), which also to the remap range (above 0xF000), which also
......
...@@ -330,11 +330,15 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size) ...@@ -330,11 +330,15 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size)
sb = direntry->d_inode->i_sb; sb = direntry->d_inode->i_sb;
if(sb == NULL) if(sb == NULL)
return -EIO; return -EIO;
xid = GetXid();
cifs_sb = CIFS_SB(sb); cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon; pTcon = cifs_sb->tcon;
if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
return -EOPNOTSUPP;
xid = GetXid();
full_path = build_path_from_dentry(direntry); full_path = build_path_from_dentry(direntry);
if(full_path == NULL) { if(full_path == NULL) {
FreeXid(xid); FreeXid(xid);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册