Commit f4a9cf97 authored by Brian Foster's avatar Brian Foster Committed by Darrick J. Wong

xfs: use ->t_dfops for collapse/insert range operations

Use ->t_dfops for the collapse and insert range transactions. These
are the only callers of the respective bmap helpers, so replace the
unnecessary dfops parameters with direct accesses to ->t_dfops.
Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 3e3673e3
...@@ -5683,8 +5683,7 @@ xfs_bmap_collapse_extents( ...@@ -5683,8 +5683,7 @@ xfs_bmap_collapse_extents(
xfs_fileoff_t *next_fsb, xfs_fileoff_t *next_fsb,
xfs_fileoff_t offset_shift_fsb, xfs_fileoff_t offset_shift_fsb,
bool *done, bool *done,
xfs_fsblock_t *firstblock, xfs_fsblock_t *firstblock)
struct xfs_defer_ops *dfops)
{ {
int whichfork = XFS_DATA_FORK; int whichfork = XFS_DATA_FORK;
struct xfs_mount *mp = ip->i_mount; struct xfs_mount *mp = ip->i_mount;
...@@ -5718,7 +5717,7 @@ xfs_bmap_collapse_extents( ...@@ -5718,7 +5717,7 @@ xfs_bmap_collapse_extents(
if (ifp->if_flags & XFS_IFBROOT) { if (ifp->if_flags & XFS_IFBROOT) {
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
cur->bc_private.b.firstblock = *firstblock; cur->bc_private.b.firstblock = *firstblock;
cur->bc_private.b.dfops = dfops; cur->bc_private.b.dfops = tp->t_dfops;
cur->bc_private.b.flags = 0; cur->bc_private.b.flags = 0;
} }
...@@ -5739,7 +5738,7 @@ xfs_bmap_collapse_extents( ...@@ -5739,7 +5738,7 @@ xfs_bmap_collapse_extents(
if (xfs_bmse_can_merge(&prev, &got, offset_shift_fsb)) { if (xfs_bmse_can_merge(&prev, &got, offset_shift_fsb)) {
error = xfs_bmse_merge(ip, whichfork, offset_shift_fsb, error = xfs_bmse_merge(ip, whichfork, offset_shift_fsb,
&icur, &got, &prev, cur, &logflags, &icur, &got, &prev, cur, &logflags,
dfops); tp->t_dfops);
if (error) if (error)
goto del_cursor; goto del_cursor;
goto done; goto done;
...@@ -5752,7 +5751,7 @@ xfs_bmap_collapse_extents( ...@@ -5752,7 +5751,7 @@ xfs_bmap_collapse_extents(
} }
error = xfs_bmap_shift_update_extent(ip, whichfork, &icur, &got, cur, error = xfs_bmap_shift_update_extent(ip, whichfork, &icur, &got, cur,
&logflags, dfops, new_startoff); &logflags, tp->t_dfops, new_startoff);
if (error) if (error)
goto del_cursor; goto del_cursor;
...@@ -5806,8 +5805,7 @@ xfs_bmap_insert_extents( ...@@ -5806,8 +5805,7 @@ xfs_bmap_insert_extents(
xfs_fileoff_t offset_shift_fsb, xfs_fileoff_t offset_shift_fsb,
bool *done, bool *done,
xfs_fileoff_t stop_fsb, xfs_fileoff_t stop_fsb,
xfs_fsblock_t *firstblock, xfs_fsblock_t *firstblock)
struct xfs_defer_ops *dfops)
{ {
int whichfork = XFS_DATA_FORK; int whichfork = XFS_DATA_FORK;
struct xfs_mount *mp = ip->i_mount; struct xfs_mount *mp = ip->i_mount;
...@@ -5841,7 +5839,7 @@ xfs_bmap_insert_extents( ...@@ -5841,7 +5839,7 @@ xfs_bmap_insert_extents(
if (ifp->if_flags & XFS_IFBROOT) { if (ifp->if_flags & XFS_IFBROOT) {
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
cur->bc_private.b.firstblock = *firstblock; cur->bc_private.b.firstblock = *firstblock;
cur->bc_private.b.dfops = dfops; cur->bc_private.b.dfops = tp->t_dfops;
cur->bc_private.b.flags = 0; cur->bc_private.b.flags = 0;
} }
...@@ -5884,7 +5882,7 @@ xfs_bmap_insert_extents( ...@@ -5884,7 +5882,7 @@ xfs_bmap_insert_extents(
} }
error = xfs_bmap_shift_update_extent(ip, whichfork, &icur, &got, cur, error = xfs_bmap_shift_update_extent(ip, whichfork, &icur, &got, cur,
&logflags, dfops, new_startoff); &logflags, tp->t_dfops, new_startoff);
if (error) if (error)
goto del_cursor; goto del_cursor;
......
...@@ -219,14 +219,12 @@ void xfs_bmap_del_extent_cow(struct xfs_inode *ip, ...@@ -219,14 +219,12 @@ void xfs_bmap_del_extent_cow(struct xfs_inode *ip,
uint xfs_default_attroffset(struct xfs_inode *ip); uint xfs_default_attroffset(struct xfs_inode *ip);
int xfs_bmap_collapse_extents(struct xfs_trans *tp, struct xfs_inode *ip, int xfs_bmap_collapse_extents(struct xfs_trans *tp, struct xfs_inode *ip,
xfs_fileoff_t *next_fsb, xfs_fileoff_t offset_shift_fsb, xfs_fileoff_t *next_fsb, xfs_fileoff_t offset_shift_fsb,
bool *done, xfs_fsblock_t *firstblock, bool *done, xfs_fsblock_t *firstblock);
struct xfs_defer_ops *dfops);
int xfs_bmap_can_insert_extents(struct xfs_inode *ip, xfs_fileoff_t off, int xfs_bmap_can_insert_extents(struct xfs_inode *ip, xfs_fileoff_t off,
xfs_fileoff_t shift); xfs_fileoff_t shift);
int xfs_bmap_insert_extents(struct xfs_trans *tp, struct xfs_inode *ip, int xfs_bmap_insert_extents(struct xfs_trans *tp, struct xfs_inode *ip,
xfs_fileoff_t *next_fsb, xfs_fileoff_t offset_shift_fsb, xfs_fileoff_t *next_fsb, xfs_fileoff_t offset_shift_fsb,
bool *done, xfs_fileoff_t stop_fsb, xfs_fsblock_t *firstblock, bool *done, xfs_fileoff_t stop_fsb, xfs_fsblock_t *firstblock);
struct xfs_defer_ops *dfops);
int xfs_bmap_split_extent(struct xfs_inode *ip, xfs_fileoff_t split_offset); int xfs_bmap_split_extent(struct xfs_inode *ip, xfs_fileoff_t split_offset);
int xfs_bmapi_reserve_delalloc(struct xfs_inode *ip, int whichfork, int xfs_bmapi_reserve_delalloc(struct xfs_inode *ip, int whichfork,
xfs_fileoff_t off, xfs_filblks_t len, xfs_filblks_t prealloc, xfs_fileoff_t off, xfs_filblks_t len, xfs_filblks_t prealloc,
......
...@@ -1348,12 +1348,13 @@ xfs_collapse_file_space( ...@@ -1348,12 +1348,13 @@ xfs_collapse_file_space(
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
xfs_defer_init(&dfops, &first_block); xfs_defer_init(&dfops, &first_block);
tp->t_dfops = &dfops;
error = xfs_bmap_collapse_extents(tp, ip, &next_fsb, shift_fsb, error = xfs_bmap_collapse_extents(tp, ip, &next_fsb, shift_fsb,
&done, &first_block, &dfops); &done, &first_block);
if (error) if (error)
goto out_bmap_cancel; goto out_bmap_cancel;
error = xfs_defer_finish(&tp, &dfops); error = xfs_defer_finish(&tp, tp->t_dfops);
if (error) if (error)
goto out_bmap_cancel; goto out_bmap_cancel;
error = xfs_trans_commit(tp); error = xfs_trans_commit(tp);
...@@ -1362,7 +1363,7 @@ xfs_collapse_file_space( ...@@ -1362,7 +1363,7 @@ xfs_collapse_file_space(
return error; return error;
out_bmap_cancel: out_bmap_cancel:
xfs_defer_cancel(&dfops); xfs_defer_cancel(tp->t_dfops);
out_trans_cancel: out_trans_cancel:
xfs_trans_cancel(tp); xfs_trans_cancel(tp);
return error; return error;
...@@ -1427,12 +1428,13 @@ xfs_insert_file_space( ...@@ -1427,12 +1428,13 @@ xfs_insert_file_space(
xfs_ilock(ip, XFS_ILOCK_EXCL); xfs_ilock(ip, XFS_ILOCK_EXCL);
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
xfs_defer_init(&dfops, &first_block); xfs_defer_init(&dfops, &first_block);
tp->t_dfops = &dfops;
error = xfs_bmap_insert_extents(tp, ip, &next_fsb, shift_fsb, error = xfs_bmap_insert_extents(tp, ip, &next_fsb, shift_fsb,
&done, stop_fsb, &first_block, &dfops); &done, stop_fsb, &first_block);
if (error) if (error)
goto out_bmap_cancel; goto out_bmap_cancel;
error = xfs_defer_finish(&tp, &dfops); error = xfs_defer_finish(&tp, tp->t_dfops);
if (error) if (error)
goto out_bmap_cancel; goto out_bmap_cancel;
error = xfs_trans_commit(tp); error = xfs_trans_commit(tp);
...@@ -1441,7 +1443,7 @@ xfs_insert_file_space( ...@@ -1441,7 +1443,7 @@ xfs_insert_file_space(
return error; return error;
out_bmap_cancel: out_bmap_cancel:
xfs_defer_cancel(&dfops); xfs_defer_cancel(tp->t_dfops);
xfs_trans_cancel(tp); xfs_trans_cancel(tp);
return error; return error;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment