xfs
[Top] [All Lists]

Re: [PING] do not test return value of xfs_bmap_*_count_leaves

To: Ruben Porras <nahoo82@xxxxxxxxx>
Subject: Re: [PING] do not test return value of xfs_bmap_*_count_leaves
From: Donald Douwsma <donaldd@xxxxxxx>
Date: Mon, 04 Aug 2008 13:01:07 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1217281149.5345.39.camel@marzo>
References: <1217281149.5345.39.camel@marzo>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 2.0.0.16 (Macintosh/20080707)
Ruben Porras wrote:
http://oss.sgi.com/archives/xfs/2008-04/msg00087.html


Got it, sorry we dropped it for so long.

Your second patch missed the int/void decleration changes, I've added
that to the patch. I'm also assuming the following Signed-off-by and
description, is that ok by you?


Make xfs_bmap_*_count_leaves void.

xfs_bmap_count_leaves and xfs_bmap_disk_count_leaves always
return always 0, make them void.

Signed-off-by: "Ruben Porras <nahoo82@xxxxxxxxx>"


--- fs/xfs/xfs_bmap.c.orig
+++ fs/xfs/xfs_bmap.c
@@ -384,14 +384,14 @@ xfs_bmap_count_tree(
        int             levelin,
        int             *count);

-STATIC int
+STATIC void
 xfs_bmap_count_leaves(
        xfs_ifork_t             *ifp,
        xfs_extnum_t            idx,
        int                     numrecs,
        int                     *count);

-STATIC int
+STATIC void
 xfs_bmap_disk_count_leaves(
        xfs_extnum_t            idx,
        xfs_bmbt_block_t        *block,
@@ -6367,13 +6367,9 @@ xfs_bmap_count_blocks(
        mp = ip->i_mount;
        ifp = XFS_IFORK_PTR(ip, whichfork);
        if ( XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS ) {
-               if (unlikely(xfs_bmap_count_leaves(ifp, 0,
+               xfs_bmap_count_leaves(ifp, 0,
                        ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t),
-                       count) < 0)) {
-                       XFS_ERROR_REPORT("xfs_bmap_count_blocks(1)",
-                                        XFS_ERRLEVEL_LOW, mp);
-                       return XFS_ERROR(EFSCORRUPTED);
-               }
+                       count);
                return 0;
        }

@@ -6454,13 +6450,7 @@ xfs_bmap_count_tree(
                for (;;) {
                        nextbno = be64_to_cpu(block->bb_rightsib);
                        numrecs = be16_to_cpu(block->bb_numrecs);
-                       if (unlikely(xfs_bmap_disk_count_leaves(0,
-                                       block, numrecs, count) < 0)) {
-                               xfs_trans_brelse(tp, bp);
-                               XFS_ERROR_REPORT("xfs_bmap_count_tree(2)",
-                                                XFS_ERRLEVEL_LOW, mp);
-                               return XFS_ERROR(EFSCORRUPTED);
-                       }
+                       xfs_bmap_disk_count_leaves(0, block, numrecs, count);
                        xfs_trans_brelse(tp, bp);
                        if (nextbno == NULLFSBLOCK)
                                break;
@@ -6478,7 +6468,7 @@ xfs_bmap_count_tree(
 /*
  * Count leaf blocks given a range of extent records.
  */
-STATIC int
+STATIC void
 xfs_bmap_count_leaves(
        xfs_ifork_t             *ifp,
        xfs_extnum_t            idx,
@@ -6491,14 +6481,13 @@ xfs_bmap_count_leaves(
                xfs_bmbt_rec_host_t *frp = xfs_iext_get_ext(ifp, idx + b);
                *count += xfs_bmbt_get_blockcount(frp);
        }
-       return 0;
 }

 /*
  * Count leaf blocks given a range of extent records originally
  * in btree format.
  */
-STATIC int
+STATIC void
 xfs_bmap_disk_count_leaves(
        xfs_extnum_t            idx,
        xfs_bmbt_block_t        *block,
@@ -6512,5 +6501,4 @@ xfs_bmap_disk_count_leaves(
                frp = XFS_BTREE_REC_ADDR(xfs_bmbt, block, idx + b);
                *count += xfs_bmbt_disk_get_blockcount(frp);
        }
-       return 0;
 }


<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PING] do not test return value of xfs_bmap_*_count_leaves, Donald Douwsma <=