]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
xfs: revert 1baa2800e62d ("xfs: remove the unused XFS_ALLOC_USERDATA flag")
authorDarrick J. Wong <darrick.wong@oracle.com>
Mon, 23 Sep 2019 20:02:41 +0000 (13:02 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 23 Sep 2019 20:05:00 +0000 (13:05 -0700)
Revert this commit, as it caused periodic regressions in xfs/173 w/
1k blocks.

[1] https://lore.kernel.org/lkml/20190919014602.GN15734@shao2-debian/

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
fs/xfs/libxfs/xfs_alloc.h
fs/xfs/libxfs/xfs_bmap.c

index 58fa85cec325e869e399f3d4e03828b1fa165134..d6ed5d2c07c210446e999f9a99bfd2984abfffc1 100644 (file)
@@ -81,9 +81,10 @@ typedef struct xfs_alloc_arg {
 /*
  * Defines for datatype
  */
-#define XFS_ALLOC_INITIAL_USER_DATA    (1 << 0)/* special case start of file */
-#define XFS_ALLOC_USERDATA_ZERO                (1 << 1)/* zero extent on allocation */
-#define XFS_ALLOC_NOBUSY               (1 << 2)/* Busy extents not allowed */
+#define XFS_ALLOC_USERDATA             (1 << 0)/* allocation is for user data*/
+#define XFS_ALLOC_INITIAL_USER_DATA    (1 << 1)/* special case start of file */
+#define XFS_ALLOC_USERDATA_ZERO                (1 << 2)/* zero extent on allocation */
+#define XFS_ALLOC_NOBUSY               (1 << 3)/* Busy extents not allowed */
 
 static inline bool
 xfs_alloc_is_userdata(int datatype)
index eaf2d4250a26c65c693f91e5d7ac62001846ff47..4edc25a2ba80703d25a05de8123da4b7aa6f6bc7 100644 (file)
@@ -4042,8 +4042,12 @@ xfs_bmapi_allocate(
         */
        if (!(bma->flags & XFS_BMAPI_METADATA)) {
                bma->datatype = XFS_ALLOC_NOBUSY;
-               if (whichfork == XFS_DATA_FORK && bma->offset == 0)
-                       bma->datatype |= XFS_ALLOC_INITIAL_USER_DATA;
+               if (whichfork == XFS_DATA_FORK) {
+                       if (bma->offset == 0)
+                               bma->datatype |= XFS_ALLOC_INITIAL_USER_DATA;
+                       else
+                               bma->datatype |= XFS_ALLOC_USERDATA;
+               }
                if (bma->flags & XFS_BMAPI_ZERO)
                        bma->datatype |= XFS_ALLOC_USERDATA_ZERO;
        }