Skip to content

Commit

Permalink
xfs: remove XFS_PREALLOC_SYNC
Browse files Browse the repository at this point in the history
Callers can acheive the same thing by calling xfs_log_force_inode()
after making their modifications. There is no need for
xfs_update_prealloc_flags() to do this.

Signed-off-by: Dave Chinner <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Darrick J. Wong <[email protected]>
  • Loading branch information
Dave Chinner authored and Darrick J. Wong committed Feb 1, 2022
1 parent 29d650f commit 472c6e4
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
13 changes: 7 additions & 6 deletions fs/xfs/xfs_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,6 @@ xfs_update_prealloc_flags(
ip->i_diflags &= ~XFS_DIFLAG_PREALLOC;

xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
if (flags & XFS_PREALLOC_SYNC)
xfs_trans_set_sync(tp);
return xfs_trans_commit(tp);
}

Expand Down Expand Up @@ -1057,9 +1055,6 @@ xfs_file_fallocate(
}
}

if (file->f_flags & O_DSYNC)
flags |= XFS_PREALLOC_SYNC;

error = xfs_update_prealloc_flags(ip, flags);
if (error)
goto out_unlock;
Expand All @@ -1082,8 +1077,14 @@ xfs_file_fallocate(
* leave shifted extents past EOF and hence losing access to
* the data that is contained within them.
*/
if (do_file_insert)
if (do_file_insert) {
error = xfs_insert_file_space(ip, offset, len);
if (error)
goto out_unlock;
}

if (file->f_flags & O_DSYNC)
error = xfs_log_force_inode(ip);

out_unlock:
xfs_iunlock(ip, iolock);
Expand Down
3 changes: 1 addition & 2 deletions fs/xfs/xfs_inode.h
Original file line number Diff line number Diff line change
Expand Up @@ -465,8 +465,7 @@ xfs_itruncate_extents(
enum xfs_prealloc_flags {
XFS_PREALLOC_SET = (1 << 1),
XFS_PREALLOC_CLEAR = (1 << 2),
XFS_PREALLOC_SYNC = (1 << 3),
XFS_PREALLOC_INVISIBLE = (1 << 4),
XFS_PREALLOC_INVISIBLE = (1 << 3),
};

int xfs_update_prealloc_flags(struct xfs_inode *ip,
Expand Down
6 changes: 4 additions & 2 deletions fs/xfs/xfs_pnfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,12 @@ xfs_fs_map_blocks(
* that the blocks allocated and handed out to the client are
* guaranteed to be present even after a server crash.
*/
error = xfs_update_prealloc_flags(ip,
XFS_PREALLOC_SET | XFS_PREALLOC_SYNC);
error = xfs_update_prealloc_flags(ip, XFS_PREALLOC_SET);
if (!error)
error = xfs_log_force_inode(ip);
if (error)
goto out_unlock;

} else {
xfs_iunlock(ip, lock_flags);
}
Expand Down

0 comments on commit 472c6e4

Please sign in to comment.