xfs: remove XFS_PREALLOC_SYNC
authorDave Chinner <dchinner@redhat.com>
Mon, 31 Jan 2022 21:20:08 +0000 (13:20 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 1 Feb 2022 22:14:48 +0000 (14:14 -0800)
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>
fs/xfs/xfs_file.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_pnfs.c

index 22ad207..ed375b3 100644 (file)
@@ -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);
 }
 
@@ -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;
@@ -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);
index c447bf0..3fc6d77 100644 (file)
@@ -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,
index d6334ab..ce6d66f 100644 (file)
@@ -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);
        }