xfs
[Top] [All Lists]

Re: [PATCH v2 3/8] xfs: get rid of XFS_IALLOC_BLOCKS macros

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH v2 3/8] xfs: get rid of XFS_IALLOC_BLOCKS macros
From: Jeff Liu <jeff.liu@xxxxxxxxxx>
Date: Fri, 13 Dec 2013 10:44:00 +0800
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131212220953.GF10988@dastard>
References: <52A967E9.7070508@xxxxxxxxxx> <20131212220953.GF10988@dastard>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
On 12/13 2013 06:09, Dave Chinner wrote:
> On Thu, Dec 12, 2013 at 03:38:17PM +0800, Jeff Liu wrote:
>> From: Jie Liu <jeff.liu@xxxxxxxxxx>
>>
>> Get rid of XFS_IALLOC_BLOCKS() marcos, use mp->m_ialloc_blks directly.
>>
>> Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
> ....
>> @@ -1228,9 +1228,9 @@ xfs_difree(
>>                      goto error0;
>>              }
>>  
>> -            xfs_bmap_add_free(XFS_AGB_TO_FSB(mp,
>> -                            agno, XFS_INO_TO_AGBNO(mp,rec.ir_startino)),
>> -                            XFS_IALLOC_BLOCKS(mp), flist, mp);
>> +            xfs_bmap_add_free(XFS_AGB_TO_FSB(mp, agno,
>> +                              XFS_INO_TO_AGBNO(mp, rec.ir_startino)),
>> +                              mp->m_ialloc_blks, flist, mp);
>>      } else {
>>              *delete = 0;
>>  
> 
> git-am fails to apply this hunk, but I'm not sure why. I updated it
> manually, the resulting patch looks identical.
Oh, I found the reason that because I failed to pull Ben's recent commits
while producing this patch set, i.e,
[ xfs: fix calculation of freed inode cluster blocks ]

So below is a quick fix.

Thanks,
-Jeff


From: Jie Liu <jeff.liu@xxxxxxxxxx>

Get rid of XFS_IALLOC_BLOCKS() marcos, use mp->m_ialloc_blks directly.

Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
---
 fs/xfs/xfs_ialloc.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c
index 3ac5eb6..eacc59c 100644
--- a/fs/xfs/xfs_ialloc.c
+++ b/fs/xfs/xfs_ialloc.c
@@ -333,7 +333,7 @@ xfs_ialloc_ag_alloc(
        if (args.mp->m_maxicount &&
            args.mp->m_sb.sb_icount + newlen > args.mp->m_maxicount)
                return XFS_ERROR(ENOSPC);
-       args.minlen = args.maxlen = XFS_IALLOC_BLOCKS(args.mp);
+       args.minlen = args.maxlen = args.mp->m_ialloc_blks;
        /*
         * First try to allocate inodes contiguous with the last-allocated
         * chunk of inodes.  If the filesystem is striped, this will fill
@@ -343,7 +343,7 @@ xfs_ialloc_ag_alloc(
        newino = be32_to_cpu(agi->agi_newino);
        agno = be32_to_cpu(agi->agi_seqno);
        args.agbno = XFS_AGINO_TO_AGBNO(args.mp, newino) +
-                       XFS_IALLOC_BLOCKS(args.mp);
+                    args.mp->m_ialloc_blks;
        if (likely(newino != NULLAGINO &&
                  (args.agbno < be32_to_cpu(agi->agi_length)))) {
                args.fsbno = XFS_AGB_TO_FSB(args.mp, agno, args.agbno);
@@ -585,7 +585,7 @@ xfs_ialloc_ag_select(
                 * Is there enough free space for the file plus a block of
                 * inodes? (if we need to allocate some)?
                 */
-               ineed = XFS_IALLOC_BLOCKS(mp);
+               ineed = mp->m_ialloc_blks;
                longest = pag->pagf_longest;
                if (!longest)
                        longest = pag->pagf_flcount > 0;
@@ -1228,9 +1228,9 @@ xfs_difree(
                        goto error0;
                }
 
-               xfs_bmap_add_free(XFS_AGB_TO_FSB(mp,
-                               agno, XFS_AGINO_TO_AGBNO(mp, rec.ir_startino)),
-                               XFS_IALLOC_BLOCKS(mp), flist, mp);
+               xfs_bmap_add_free(XFS_AGB_TO_FSB(mp, agno,
+                                 XFS_AGINO_TO_AGBNO(mp, rec.ir_startino)),
+                                 mp->m_ialloc_blks, flist, mp);
        } else {
                *delete = 0;
 
-- 
1.8.3.2

<Prev in Thread] Current Thread [Next in Thread>