projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
f2fs: reorganize f2fs_setxattr
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
fs
/
f2fs
/
xattr.c
diff --git
a/fs/f2fs/xattr.c
b/fs/f2fs/xattr.c
index
8038c04
..
3bfea80
100644
(file)
--- a/
fs/f2fs/xattr.c
+++ b/
fs/f2fs/xattr.c
@@
-310,12
+310,13
@@
int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
if (name == NULL)
return -EINVAL;
if (name == NULL)
return -EINVAL;
- name_len = strlen(name);
if (value == NULL)
value_len = 0;
if (value == NULL)
value_len = 0;
- if (name_len > 255 || value_len > MAX_VALUE_LEN)
+ name_len = strlen(name);
+
+ if (name_len > F2FS_NAME_LEN || value_len > MAX_VALUE_LEN)
return -ERANGE;
f2fs_balance_fs(sbi);
return -ERANGE;
f2fs_balance_fs(sbi);
@@
-326,8
+327,8
@@
int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
struct dnode_of_data dn;
if (!alloc_nid(sbi, &fi->i_xattr_nid)) {
struct dnode_of_data dn;
if (!alloc_nid(sbi, &fi->i_xattr_nid)) {
-
mutex_unlock_op(sbi, NODE_NEW)
;
-
return -ENOSPC
;
+
error = -ENOSPC
;
+
goto exit
;
}
set_new_dnode(&dn, inode, NULL, NULL, fi->i_xattr_nid);
mark_inode_dirty(inode);
}
set_new_dnode(&dn, inode, NULL, NULL, fi->i_xattr_nid);
mark_inode_dirty(inode);
@@
-336,8
+337,8
@@
int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
if (IS_ERR(page)) {
alloc_nid_failed(sbi, fi->i_xattr_nid);
fi->i_xattr_nid = 0;
if (IS_ERR(page)) {
alloc_nid_failed(sbi, fi->i_xattr_nid);
fi->i_xattr_nid = 0;
-
mutex_unlock_op(sbi, NODE_NEW
);
-
return PTR_ERR(page)
;
+
error = PTR_ERR(page
);
+
goto exit
;
}
alloc_nid_done(sbi, fi->i_xattr_nid);
}
alloc_nid_done(sbi, fi->i_xattr_nid);
@@
-349,8
+350,8
@@
int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
/* The inode already has an extended attribute block. */
page = get_node_page(sbi, fi->i_xattr_nid);
if (IS_ERR(page)) {
/* The inode already has an extended attribute block. */
page = get_node_page(sbi, fi->i_xattr_nid);
if (IS_ERR(page)) {
-
mutex_unlock_op(sbi, NODE_NEW
);
-
return PTR_ERR(page)
;
+
error = PTR_ERR(page
);
+
goto exit
;
}
base_addr = page_address(page);
}
base_addr = page_address(page);
@@
-438,6
+439,7
@@
int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
return 0;
cleanup:
f2fs_put_page(page, 1);
return 0;
cleanup:
f2fs_put_page(page, 1);
+exit:
mutex_unlock_op(sbi, NODE_NEW);
return error;
}
mutex_unlock_op(sbi, NODE_NEW);
return error;
}