]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: bmap code cleanup
authorShan Hai <shan.hai@oracle.com>
Tue, 27 Feb 2018 04:43:19 +0000 (22:43 -0600)
committerEric Sandeen <sandeen@redhat.com>
Tue, 27 Feb 2018 04:43:19 +0000 (22:43 -0600)
Source kernel commit: 6ca30729c206d62d88730a904af7d543a56273d8

Remove the extent size hint and realtime inode relevant code from
the xfs_bmapi_reserve_delalloc since it is not called on the inode
with extent size hint set or on a realtime inode.

Signed-off-by: Shan Hai <shan.hai@oracle.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_bmap.c

index 4e1fed47437d9a9cfdc23ed8680f17c47966ff00..b3cd21f868e7588f3146b635d3972b5144590789 100644 (file)
@@ -3867,8 +3867,6 @@ xfs_bmapi_reserve_delalloc(
        struct xfs_ifork        *ifp = XFS_IFORK_PTR(ip, whichfork);
        xfs_extlen_t            alen;
        xfs_extlen_t            indlen;
-       char                    rt = XFS_IS_REALTIME_INODE(ip);
-       xfs_extlen_t            extsz;
        int                     error;
        xfs_fileoff_t           aoff = off;
 
@@ -3883,31 +3881,25 @@ xfs_bmapi_reserve_delalloc(
                prealloc = alen - len;
 
        /* Figure out the extent size, adjust alen */
-       if (whichfork == XFS_COW_FORK)
-               extsz = xfs_get_cowextsz_hint(ip);
-       else
-               extsz = xfs_get_extsz_hint(ip);
-       if (extsz) {
+       if (whichfork == XFS_COW_FORK) {
                struct xfs_bmbt_irec    prev;
+               xfs_extlen_t            extsz = xfs_get_cowextsz_hint(ip);
 
                if (!xfs_iext_peek_prev_extent(ifp, icur, &prev))
                        prev.br_startoff = NULLFILEOFF;
 
-               error = xfs_bmap_extsize_align(mp, got, &prev, extsz, rt, eof,
+               error = xfs_bmap_extsize_align(mp, got, &prev, extsz, 0, eof,
                                               1, 0, &aoff, &alen);
                ASSERT(!error);
        }
 
-       if (rt)
-               extsz = alen / mp->m_sb.sb_rextsize;
-
        /*
         * Make a transaction-less quota reservation for delayed allocation
         * blocks.  This number gets adjusted later.  We return if we haven't
         * allocated blocks already inside this loop.
         */
        error = xfs_trans_reserve_quota_nblks(NULL, ip, (long)alen, 0,
-                       rt ? XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS);
+                                               XFS_QMOPT_RES_REGBLKS);
        if (error)
                return error;
 
@@ -3918,12 +3910,7 @@ xfs_bmapi_reserve_delalloc(
        indlen = (xfs_extlen_t)xfs_bmap_worst_indlen(ip, alen);
        ASSERT(indlen > 0);
 
-       if (rt) {
-               error = xfs_mod_frextents(mp, -((int64_t)extsz));
-       } else {
-               error = xfs_mod_fdblocks(mp, -((int64_t)alen), false);
-       }
-
+       error = xfs_mod_fdblocks(mp, -((int64_t)alen), false);
        if (error)
                goto out_unreserve_quota;
 
@@ -3954,14 +3941,11 @@ xfs_bmapi_reserve_delalloc(
        return 0;
 
 out_unreserve_blocks:
-       if (rt)
-               xfs_mod_frextents(mp, extsz);
-       else
-               xfs_mod_fdblocks(mp, alen, false);
+       xfs_mod_fdblocks(mp, alen, false);
 out_unreserve_quota:
        if (XFS_IS_QUOTA_ON(mp))
-               xfs_trans_unreserve_quota_nblks(NULL, ip, (long)alen, 0, rt ?
-                               XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS);
+               xfs_trans_unreserve_quota_nblks(NULL, ip, (long)alen, 0,
+                                               XFS_QMOPT_RES_REGBLKS);
        return error;
 }