Skip to content

Commit 488f75a

Browse files
Tudor AmbarusTreehugger Robot
Tudor Ambarus
authored and
Treehugger Robot
committed
ANDROID: incfs: comply with vfs_mkdir() to return the dentry
Upstream commit c54b386 [1] changed vfs_mkdir() to return the dentry. Comply incfs with the change. Bug: 409012394 Test: TH Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c54b386969a5 [1] Change-Id: Ia82a9237b11bc496c08eb83548403c6171995999 Signed-off-by: Tudor Ambarus <tudordana@google.com>
1 parent a3a14ff commit 488f75a

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

fs/incfs/vfs.c

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ static void dentry_release(struct dentry *d);
3838
static int iterate_incfs_dir(struct file *file, struct dir_context *ctx);
3939
static struct dentry *dir_lookup(struct inode *dir_inode,
4040
struct dentry *dentry, unsigned int flags);
41-
static int dir_mkdir(struct mnt_idmap *idmap, struct inode *dir,
41+
static struct dentry *dir_mkdir(struct mnt_idmap *idmap, struct inode *dir,
4242
struct dentry *dentry, umode_t mode);
4343
static int dir_unlink(struct inode *dir, struct dentry *dentry);
4444
static int dir_link(struct dentry *old_dentry, struct inode *dir,
@@ -451,7 +451,6 @@ static struct dentry *open_or_create_special_dir(struct dentry *backing_dir,
451451
{
452452
struct dentry *index_dentry;
453453
struct inode *backing_inode = d_inode(backing_dir);
454-
int err = 0;
455454

456455
index_dentry = incfs_lookup_dentry(backing_dir, name);
457456
if (!index_dentry) {
@@ -466,12 +465,12 @@ static struct dentry *open_or_create_special_dir(struct dentry *backing_dir,
466465

467466
/* Index needs to be created. */
468467
inode_lock_nested(backing_inode, I_MUTEX_PARENT);
469-
err = vfs_mkdir(&nop_mnt_idmap, backing_inode, index_dentry, 0777);
468+
index_dentry = vfs_mkdir(&nop_mnt_idmap, backing_inode, index_dentry, 0777);
470469
inode_unlock(backing_inode);
471470

472-
if (err) {
471+
if (IS_ERR(index_dentry)) {
473472
dput(index_dentry);
474-
return ERR_PTR(err);
473+
return ERR_CAST(index_dentry);
475474
}
476475

477476
if (!d_really_is_positive(index_dentry) ||
@@ -1063,7 +1062,7 @@ static struct dentry *dir_lookup(struct inode *dir_inode, struct dentry *dentry,
10631062
return ERR_PTR(err);
10641063
}
10651064

1066-
static int dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *dentry, umode_t mode)
1065+
static struct dentry *dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *dentry, umode_t mode)
10671066
{
10681067
struct mount_info *mi = get_mount_info(dir->i_sb);
10691068
struct inode_info *dir_node = get_incfs_node(dir);
@@ -1073,11 +1072,11 @@ static int dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *
10731072

10741073

10751074
if (!mi || !dir_node || !dir_node->n_backing_inode)
1076-
return -EBADF;
1075+
return ERR_PTR(-EBADF);
10771076

10781077
err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
10791078
if (err)
1080-
return err;
1079+
return ERR_PTR(err);
10811080

10821081
get_incfs_backing_path(dentry, &backing_path);
10831082
backing_dentry = backing_path.dentry;
@@ -1099,9 +1098,9 @@ static int dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *
10991098
goto out;
11001099
}
11011100
inode_lock_nested(dir_node->n_backing_inode, I_MUTEX_PARENT);
1102-
err = vfs_mkdir(idmap, dir_node->n_backing_inode, backing_dentry, mode | 0222);
1101+
backing_dentry = vfs_mkdir(idmap, dir_node->n_backing_inode, backing_dentry, mode | 0222);
11031102
inode_unlock(dir_node->n_backing_inode);
1104-
if (!err) {
1103+
if (!IS_ERR(backing_dentry)) {
11051104
struct inode *inode = NULL;
11061105

11071106
if (d_really_is_negative(backing_dentry) ||
@@ -1127,7 +1126,7 @@ static int dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *
11271126
mutex_unlock(&mi->mi_dir_struct_mutex);
11281127
if (err)
11291128
pr_debug("incfs: %s err:%d\n", __func__, err);
1130-
return err;
1129+
return ERR_PTR(err);
11311130
}
11321131

11331132
/*

0 commit comments

Comments
 (0)