X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fcifs%2Fxattr.c;h=777e3363c2a4dd95ec3c05f51678ae3810369229;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=7754d641775eb9e24e3535158b047e54c1b0217a;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/fs/cifs/xattr.c b/fs/cifs/xattr.c index 7754d6417..777e3363c 100644 --- a/fs/cifs/xattr.c +++ b/fs/cifs/xattr.c @@ -62,7 +62,9 @@ int cifs_removexattr(struct dentry * direntry, const char * ea_name) cifs_sb = CIFS_SB(sb); pTcon = cifs_sb->tcon; + down(&sb->s_vfs_rename_sem); full_path = build_path_from_dentry(direntry); + up(&sb->s_vfs_rename_sem); if(full_path == NULL) { FreeXid(xid); return -ENOMEM; @@ -114,7 +116,9 @@ int cifs_setxattr(struct dentry * direntry, const char * ea_name, cifs_sb = CIFS_SB(sb); pTcon = cifs_sb->tcon; + down(&sb->s_vfs_rename_sem); full_path = build_path_from_dentry(direntry); + up(&sb->s_vfs_rename_sem); if(full_path == NULL) { FreeXid(xid); return -ENOMEM; @@ -219,7 +223,9 @@ ssize_t cifs_getxattr(struct dentry * direntry, const char * ea_name, cifs_sb = CIFS_SB(sb); pTcon = cifs_sb->tcon; + down(&sb->s_vfs_rename_sem); full_path = build_path_from_dentry(direntry); + up(&sb->s_vfs_rename_sem); if(full_path == NULL) { FreeXid(xid); return -ENOMEM; @@ -335,7 +341,9 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size) cifs_sb = CIFS_SB(sb); pTcon = cifs_sb->tcon; + down(&sb->s_vfs_rename_sem); full_path = build_path_from_dentry(direntry); + up(&sb->s_vfs_rename_sem); if(full_path == NULL) { FreeXid(xid); return -ENOMEM;