diff options
author | Jan Kara <jack@suse.cz> | 2011-04-20 20:30:40 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-04-21 07:34:44 -0700 |
commit | df7e130384efd1c732aa08648dad46687fee3d96 (patch) | |
tree | 7dd8f9f0fe4cdcb27242a33783440bae5690e47e | |
parent | 584f79046780e10cb24367a691f8c28398a00e84 (diff) | |
download | linux-3.10-df7e130384efd1c732aa08648dad46687fee3d96.tar.gz linux-3.10-df7e130384efd1c732aa08648dad46687fee3d96.tar.bz2 linux-3.10-df7e130384efd1c732aa08648dad46687fee3d96.zip |
vfs: Pass setxattr(2) flags properly
For some reason generic_setxattr() did not pass flags (XATTR_CREATE,
XATTR_REPLACE) to the filesystem specific helper. This caused that
setxattr(2) syscall just ignored these flags.
Fix the bug by passing flags correctly.
Signed-off-by: Jan Kara <jack@suse.cz>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/xattr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xattr.c b/fs/xattr.c index a19acdb81cd..f1ef94974de 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -666,7 +666,7 @@ generic_setxattr(struct dentry *dentry, const char *name, const void *value, siz handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name); if (!handler) return -EOPNOTSUPP; - return handler->set(dentry, name, value, size, 0, handler->flags); + return handler->set(dentry, name, value, size, flags, handler->flags); } /* |