Commit 472c6e46 authored by Dave Chinner's avatar Dave Chinner Committed by Darrick J. Wong

xfs: remove XFS_PREALLOC_SYNC

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: default avatarDave Chinner <dchinner@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent 29d650f7
...@@ -95,8 +95,6 @@ xfs_update_prealloc_flags( ...@@ -95,8 +95,6 @@ xfs_update_prealloc_flags(
ip->i_diflags &= ~XFS_DIFLAG_PREALLOC; ip->i_diflags &= ~XFS_DIFLAG_PREALLOC;
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
if (flags & XFS_PREALLOC_SYNC)
xfs_trans_set_sync(tp);
return xfs_trans_commit(tp); return xfs_trans_commit(tp);
} }
...@@ -1057,9 +1055,6 @@ xfs_file_fallocate( ...@@ -1057,9 +1055,6 @@ xfs_file_fallocate(
} }
} }
if (file->f_flags & O_DSYNC)
flags |= XFS_PREALLOC_SYNC;
error = xfs_update_prealloc_flags(ip, flags); error = xfs_update_prealloc_flags(ip, flags);
if (error) if (error)
goto out_unlock; goto out_unlock;
...@@ -1082,8 +1077,14 @@ xfs_file_fallocate( ...@@ -1082,8 +1077,14 @@ xfs_file_fallocate(
* leave shifted extents past EOF and hence losing access to * leave shifted extents past EOF and hence losing access to
* the data that is contained within them. * the data that is contained within them.
*/ */
if (do_file_insert) if (do_file_insert) {
error = xfs_insert_file_space(ip, offset, len); 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: out_unlock:
xfs_iunlock(ip, iolock); xfs_iunlock(ip, iolock);
......
...@@ -465,8 +465,7 @@ xfs_itruncate_extents( ...@@ -465,8 +465,7 @@ xfs_itruncate_extents(
enum xfs_prealloc_flags { enum xfs_prealloc_flags {
XFS_PREALLOC_SET = (1 << 1), XFS_PREALLOC_SET = (1 << 1),
XFS_PREALLOC_CLEAR = (1 << 2), XFS_PREALLOC_CLEAR = (1 << 2),
XFS_PREALLOC_SYNC = (1 << 3), XFS_PREALLOC_INVISIBLE = (1 << 3),
XFS_PREALLOC_INVISIBLE = (1 << 4),
}; };
int xfs_update_prealloc_flags(struct xfs_inode *ip, int xfs_update_prealloc_flags(struct xfs_inode *ip,
......
...@@ -164,10 +164,12 @@ xfs_fs_map_blocks( ...@@ -164,10 +164,12 @@ xfs_fs_map_blocks(
* that the blocks allocated and handed out to the client are * that the blocks allocated and handed out to the client are
* guaranteed to be present even after a server crash. * guaranteed to be present even after a server crash.
*/ */
error = xfs_update_prealloc_flags(ip, error = xfs_update_prealloc_flags(ip, XFS_PREALLOC_SET);
XFS_PREALLOC_SET | XFS_PREALLOC_SYNC); if (!error)
error = xfs_log_force_inode(ip);
if (error) if (error)
goto out_unlock; goto out_unlock;
} else { } else {
xfs_iunlock(ip, lock_flags); xfs_iunlock(ip, lock_flags);
} }
......
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