mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-13 17:24:28 +08:00
xfs: remove XFS_PREALLOC_SYNC
commit 472c6e46f5
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>
Tested-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
95aab524e1
commit
f8937e4d1d
@ -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);
|
||||
}
|
||||
|
||||
@ -1059,9 +1057,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;
|
||||
@ -1084,8 +1079,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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user