Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[deliverable/linux.git] / fs / f2fs / xattr.c
index 1fe6366a60c12d296da6220a7c16deae7a7945be..c8898b5148eb62134db2467d579d5401f8efdcfd 100644 (file)
@@ -106,7 +106,7 @@ static int f2fs_xattr_advise_set(const struct xattr_handler *handler,
                return -EINVAL;
 
        F2FS_I(inode)->i_advise |= *(char *)value;
-       mark_inode_dirty_sync(inode);
+       f2fs_mark_inode_dirty_sync(inode);
        return 0;
 }
 
@@ -299,6 +299,7 @@ static inline int write_all_xattrs(struct inode *inode, __u32 hsize,
                if (ipage) {
                        inline_addr = inline_xattr_addr(ipage);
                        f2fs_wait_on_page_writeback(ipage, NODE, true);
+                       set_page_dirty(ipage);
                } else {
                        page = get_node_page(sbi, inode->i_ino);
                        if (IS_ERR(page)) {
@@ -446,7 +447,7 @@ static int __f2fs_setxattr(struct inode *inode, int index,
        int found, newsize;
        size_t len;
        __u32 new_hsize;
-       int error = -ENOMEM;
+       int error = 0;
 
        if (name == NULL)
                return -EINVAL;
@@ -464,7 +465,7 @@ static int __f2fs_setxattr(struct inode *inode, int index,
 
        base_addr = read_all_xattrs(inode, ipage);
        if (!base_addr)
-               goto exit;
+               return -ENOMEM;
 
        /* find entry with wanted name. */
        here = __find_xattr(base_addr, index, len, name);
@@ -546,12 +547,7 @@ static int __f2fs_setxattr(struct inode *inode, int index,
        if (index == F2FS_XATTR_INDEX_ENCRYPTION &&
                        !strcmp(name, F2FS_XATTR_NAME_ENCRYPTION_CONTEXT))
                f2fs_set_encrypted_inode(inode);
-
-       if (ipage)
-               update_inode(inode, ipage);
-       else
-               update_inode_page(inode);
-       mark_inode_dirty_sync(inode);
+       f2fs_mark_inode_dirty_sync(inode);
 exit:
        kzfree(base_addr);
        return error;
This page took 0.032325 seconds and 5 git commands to generate.