Skip to content

Commit

Permalink
f2fs: pass flags field to setxattr functions
Browse files Browse the repository at this point in the history
This patch passes the "flags" field to the low level setxattr functions
to use XATTR_REPLACE in the following patches.

Signed-off-by: Jaegeuk Kim <[email protected]>
  • Loading branch information
Jaegeuk Kim committed May 7, 2014
1 parent e112326 commit c02745e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion fs/f2fs/acl.c
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ static int __f2fs_set_acl(struct inode *inode, int type,
}
}

error = f2fs_setxattr(inode, name_index, "", value, size, ipage);
error = f2fs_setxattr(inode, name_index, "", value, size, ipage, 0);

kfree(value);
if (!error)
Expand Down
13 changes: 7 additions & 6 deletions fs/f2fs/xattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ static int f2fs_xattr_generic_set(struct dentry *dentry, const char *name,
if (strcmp(name, "") == 0)
return -EINVAL;

return f2fs_setxattr(dentry->d_inode, type, name, value, size, NULL);
return f2fs_setxattr(dentry->d_inode, type, name,
value, size, NULL, flags);
}

static size_t f2fs_xattr_advise_list(struct dentry *dentry, char *list,
Expand Down Expand Up @@ -157,7 +158,7 @@ static int f2fs_xattr_advise_set(struct dentry *dentry, const char *name,
#ifdef CONFIG_F2FS_FS_SECURITY
static int __f2fs_setxattr(struct inode *inode, int index,
const char *name, const void *value, size_t size,
struct page *ipage);
struct page *ipage, int);

static int f2fs_initxattrs(struct inode *inode, const struct xattr *xattr_array,
void *page)
Expand All @@ -168,7 +169,7 @@ static int f2fs_initxattrs(struct inode *inode, const struct xattr *xattr_array,
for (xattr = xattr_array; xattr->name != NULL; xattr++) {
err = __f2fs_setxattr(inode, F2FS_XATTR_INDEX_SECURITY,
xattr->name, xattr->value,
xattr->value_len, (struct page *)page);
xattr->value_len, (struct page *)page, 0);
if (err < 0)
break;
}
Expand Down Expand Up @@ -479,7 +480,7 @@ ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)

static int __f2fs_setxattr(struct inode *inode, int index,
const char *name, const void *value, size_t size,
struct page *ipage)
struct page *ipage, int flags)
{
struct f2fs_inode_info *fi = F2FS_I(inode);
struct f2fs_xattr_entry *here, *last;
Expand Down Expand Up @@ -586,7 +587,7 @@ static int __f2fs_setxattr(struct inode *inode, int index,

int f2fs_setxattr(struct inode *inode, int index, const char *name,
const void *value, size_t size,
struct page *ipage)
struct page *ipage, int flags)
{
struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
int err;
Expand All @@ -596,7 +597,7 @@ int f2fs_setxattr(struct inode *inode, int index, const char *name,
f2fs_lock_op(sbi);
/* protect xattr_ver */
down_write(&F2FS_I(inode)->i_sem);
err = __f2fs_setxattr(inode, index, name, value, size, ipage);
err = __f2fs_setxattr(inode, index, name, value, size, ipage, flags);
up_write(&F2FS_I(inode)->i_sem);
f2fs_unlock_op(sbi);

Expand Down
4 changes: 2 additions & 2 deletions fs/f2fs/xattr.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,14 +114,14 @@ extern const struct xattr_handler f2fs_xattr_security_handler;
extern const struct xattr_handler *f2fs_xattr_handlers[];

extern int f2fs_setxattr(struct inode *, int, const char *,
const void *, size_t, struct page *);
const void *, size_t, struct page *, int);
extern int f2fs_getxattr(struct inode *, int, const char *, void *, size_t);
extern ssize_t f2fs_listxattr(struct dentry *, char *, size_t);
#else

#define f2fs_xattr_handlers NULL
static inline int f2fs_setxattr(struct inode *inode, int index,
const char *name, const void *value, size_t size)
const char *name, const void *value, size_t size, int flags)
{
return -EOPNOTSUPP;
}
Expand Down

0 comments on commit c02745e

Please sign in to comment.