git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
fs
/
cifs
/
xattr.c
diff --git
a/fs/cifs/xattr.c
b/fs/cifs/xattr.c
index
777e336
..
18fcec1
100644
(file)
--- a/
fs/cifs/xattr.c
+++ b/
fs/cifs/xattr.c
@@
-62,9
+62,7
@@
int cifs_removexattr(struct dentry * direntry, const char * ea_name)
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
- down(&sb->s_vfs_rename_sem);
full_path = build_path_from_dentry(direntry);
full_path = build_path_from_dentry(direntry);
- up(&sb->s_vfs_rename_sem);
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
@@
-116,9
+114,7
@@
int cifs_setxattr(struct dentry * direntry, const char * ea_name,
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
- down(&sb->s_vfs_rename_sem);
full_path = build_path_from_dentry(direntry);
full_path = build_path_from_dentry(direntry);
- up(&sb->s_vfs_rename_sem);
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
@@
-223,9
+219,7
@@
ssize_t cifs_getxattr(struct dentry * direntry, const char * ea_name,
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
- down(&sb->s_vfs_rename_sem);
full_path = build_path_from_dentry(direntry);
full_path = build_path_from_dentry(direntry);
- up(&sb->s_vfs_rename_sem);
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
@@
-275,7
+269,7
@@
ssize_t cifs_getxattr(struct dentry * direntry, const char * ea_name,
rc = CIFSSMBGetCIFSACL(xid, pTcon, fid,
ea_value, buf_size,
ACL_TYPE_ACCESS);
rc = CIFSSMBGetCIFSACL(xid, pTcon, fid,
ea_value, buf_size,
ACL_TYPE_ACCESS);
- CIFSSMBClose(xid, pTcon, fid)
+ CIFSSMBClose(xid, pTcon, fid)
;
}
} */ /* BB enable after fixing up return data */
}
} */ /* BB enable after fixing up return data */
@@
-336,14
+330,16
@@
ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size)
sb = direntry->d_inode->i_sb;
if(sb == NULL)
return -EIO;
sb = direntry->d_inode->i_sb;
if(sb == NULL)
return -EIO;
- xid = GetXid();
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
- down(&sb->s_vfs_rename_sem);
+ 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);
- up(&sb->s_vfs_rename_sem);
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;
if(full_path == NULL) {
FreeXid(xid);
return -ENOMEM;