xfs: remove XFS_PREALLOC_SYNC
commit 472c6e46f589c26057596dcba160712a5b3e02c5 upstream. [partial backport for dependency - xfs_ioc_space() still uses 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: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
c84fb29626
commit
35f049abba
@@ -94,8 +94,6 @@ xfs_update_prealloc_flags(
|
|||||||
ip->i_d.di_flags &= ~XFS_DIFLAG_PREALLOC;
|
ip->i_d.di_flags &= ~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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1000,9 +998,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;
|
||||||
@@ -1024,8 +1019,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);
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user