mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
ocfs2: do not overwrite error codes in ocfs2_init_acl
commit 6eda3dd33f upstream.
Setting the acl while creating a new inode depends on
the error codes of posix_acl_create_masq. This patch fix
a issue of overwriting the error codes of it.
Reported-by: Pawel Zawora <pzawora@gmail.com>
Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2ba44ad6f7
commit
0da49f317e
@@ -347,7 +347,7 @@ int ocfs2_init_acl(handle_t *handle,
|
||||
{
|
||||
struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
|
||||
struct posix_acl *acl = NULL;
|
||||
int ret = 0;
|
||||
int ret = 0, ret2;
|
||||
mode_t mode;
|
||||
|
||||
if (!S_ISLNK(inode->i_mode)) {
|
||||
@@ -384,7 +384,12 @@ int ocfs2_init_acl(handle_t *handle,
|
||||
mode = inode->i_mode;
|
||||
ret = posix_acl_create_masq(clone, &mode);
|
||||
if (ret >= 0) {
|
||||
ret = ocfs2_acl_set_mode(inode, di_bh, handle, mode);
|
||||
ret2 = ocfs2_acl_set_mode(inode, di_bh, handle, mode);
|
||||
if (ret2) {
|
||||
mlog_errno(ret2);
|
||||
ret = ret2;
|
||||
goto cleanup;
|
||||
}
|
||||
if (ret > 0) {
|
||||
ret = ocfs2_set_acl(handle, inode,
|
||||
di_bh, ACL_TYPE_ACCESS,
|
||||
|
||||
Reference in New Issue
Block a user