Skip to content

Commit

Permalink
xfs: Remove "committed" argument of xfs_dir_ialloc
Browse files Browse the repository at this point in the history
xfs_dir_ialloc() rolls the current transaction when allocation of a new
inode required the space manager to perform an allocation and replinish
the Inode btree.

None of the callers of xfs_dir_ialloc() need to know if the
transaction was committed. Hence this commit removes the "committed"
argument of xfs_dir_ialloc.

Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
  • Loading branch information
Chandan Rajendra authored and djwong committed Apr 2, 2018
1 parent dc1baa7 commit c959025
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 16 deletions.
14 changes: 3 additions & 11 deletions fs/xfs/xfs_inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -972,10 +972,8 @@ xfs_dir_ialloc(
xfs_nlink_t nlink,
dev_t rdev,
prid_t prid, /* project id */
xfs_inode_t **ipp, /* pointer to inode; it will be
xfs_inode_t **ipp) /* pointer to inode; it will be
locked. */
int *committed)

{
xfs_trans_t *tp;
xfs_inode_t *ip;
Expand Down Expand Up @@ -1050,8 +1048,6 @@ xfs_dir_ialloc(
}

code = xfs_trans_roll(&tp);
if (committed != NULL)
*committed = 1;

/*
* Re-attach the quota info that we detached from prev trx.
Expand Down Expand Up @@ -1088,9 +1084,6 @@ xfs_dir_ialloc(
}
ASSERT(!ialloc_context && ip);

} else {
if (committed != NULL)
*committed = 0;
}

*ipp = ip;
Expand Down Expand Up @@ -1217,8 +1210,7 @@ xfs_create(
* entry pointing to them, but a directory also the "." entry
* pointing to itself.
*/
error = xfs_dir_ialloc(&tp, dp, mode, is_dir ? 2 : 1, rdev, prid, &ip,
NULL);
error = xfs_dir_ialloc(&tp, dp, mode, is_dir ? 2 : 1, rdev, prid, &ip);
if (error)
goto out_trans_cancel;

Expand Down Expand Up @@ -1351,7 +1343,7 @@ xfs_create_tmpfile(
if (error)
goto out_trans_cancel;

error = xfs_dir_ialloc(&tp, dp, mode, 1, 0, prid, &ip, NULL);
error = xfs_dir_ialloc(&tp, dp, mode, 1, 0, prid, &ip);
if (error)
goto out_trans_cancel;

Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_inode.h
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ xfs_extlen_t xfs_get_cowextsz_hint(struct xfs_inode *ip);

int xfs_dir_ialloc(struct xfs_trans **, struct xfs_inode *, umode_t,
xfs_nlink_t, dev_t, prid_t,
struct xfs_inode **, int *);
struct xfs_inode **);

/* from xfs_file.c */
enum xfs_prealloc_flags {
Expand Down
4 changes: 1 addition & 3 deletions fs/xfs/xfs_qm.c
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,6 @@ xfs_qm_qino_alloc(
{
xfs_trans_t *tp;
int error;
int committed;
bool need_alloc = true;

*ip = NULL;
Expand Down Expand Up @@ -788,8 +787,7 @@ xfs_qm_qino_alloc(
return error;

if (need_alloc) {
error = xfs_dir_ialloc(&tp, NULL, S_IFREG, 1, 0, 0, ip,
&committed);
error = xfs_dir_ialloc(&tp, NULL, S_IFREG, 1, 0, 0, ip);
if (error) {
xfs_trans_cancel(tp);
return error;
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_symlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ xfs_symlink(
* Allocate an inode for the symlink.
*/
error = xfs_dir_ialloc(&tp, dp, S_IFLNK | (mode & ~S_IFMT), 1, 0,
prid, &ip, NULL);
prid, &ip);
if (error)
goto out_trans_cancel;

Expand Down

0 comments on commit c959025

Please sign in to comment.