xfs
[Top] [All Lists]

[PATCH 4/7] xfs: add xfs_btree_check_lptr_disk

To: nathans@xxxxxxx
Subject: [PATCH 4/7] xfs: add xfs_btree_check_lptr_disk
From: Christoph Hellwig <hch@xxxxxx>
Date: Mon, 10 Jul 2006 19:04:20 +0200
Cc: xfs@xxxxxxxxxxx
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
This is a variant of xfs_btree_check_lptr that handles the endianess
conversion as many callers need it.


Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: xfs-2.6.x/fs/xfs/xfs_bmap.c
===================================================================
--- xfs-2.6.x.orig/fs/xfs/xfs_bmap.c    2006-07-09 19:28:16.000000000 +0200
+++ xfs-2.6.x/fs/xfs/xfs_bmap.c 2006-07-09 19:37:01.000000000 +0200
@@ -3013,7 +3013,7 @@
        pp = XFS_BMAP_BROOT_PTR_ADDR(rblock, 1, ifp->if_broot_bytes);
        *logflagsp = 0;
 #ifdef DEBUG
-       if ((error = xfs_btree_check_lptr(cur, INT_GET(*pp, ARCH_CONVERT), 1)))
+       if ((error = xfs_btree_check_lptr_disk(cur, *pp, 1)))
                return error;
 #endif
        cbno = INT_GET(*pp, ARCH_CONVERT);
Index: xfs-2.6.x/fs/xfs/xfs_bmap_btree.c
===================================================================
--- xfs-2.6.x.orig/fs/xfs/xfs_bmap_btree.c      2006-07-09 19:28:16.000000000 
+0200
+++ xfs-2.6.x/fs/xfs/xfs_bmap_btree.c   2006-07-09 19:37:01.000000000 +0200
@@ -382,7 +382,7 @@
                pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
 #ifdef DEBUG
                for (i = ptr; i < numrecs; i++) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(pp[i], 
ARCH_CONVERT), level))) {
+                       if ((error = xfs_btree_check_lptr_disk(cur, pp, 
level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                goto error0;
                        }
@@ -621,7 +621,7 @@
                rpp = XFS_BMAP_PTR_IADDR(right, 1, cur);
 #ifdef DEBUG
                for (i = 0; i < numrrecs; i++) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(rpp[i], 
ARCH_CONVERT), level))) {
+                       if ((error = xfs_btree_check_lptr_disk(cur, rpp[i], 
level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                goto error0;
                        }
@@ -858,7 +858,7 @@
                pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
 #ifdef DEBUG
                for (i = numrecs; i >= ptr; i--) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(pp[i - 
1], ARCH_CONVERT),
+                       if ((error = xfs_btree_check_lptr_disk(cur, pp[i - 1],
                                        level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                return error;
@@ -988,7 +988,7 @@
        cpp = XFS_BMAP_PTR_IADDR(cblock, 1, cur);
 #ifdef DEBUG
        for (i = 0; i < be16_to_cpu(cblock->bb_numrecs); i++) {
-               if ((error = xfs_btree_check_lptr(cur, INT_GET(cpp[i], 
ARCH_CONVERT), level - 1))) {
+               if ((error = xfs_btree_check_lptr_disk(cur, cpp[i], level - 
1))) {
                        XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                        return error;
                }
@@ -1190,7 +1190,7 @@
                                keyno = 1;
                        pp = XFS_BMAP_PTR_IADDR(block, keyno, cur);
 #ifdef DEBUG
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(*pp, 
ARCH_CONVERT), level))) {
+                       if ((error = xfs_btree_check_lptr_disk(cur, *pp, 
level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                return error;
                        }
@@ -1313,7 +1313,7 @@
                lpp = XFS_BMAP_PTR_IADDR(left, lrecs, cur);
                rpp = XFS_BMAP_PTR_IADDR(right, 1, cur);
 #ifdef DEBUG
-               if ((error = xfs_btree_check_lptr(cur, INT_GET(*rpp, 
ARCH_CONVERT), level))) {
+               if ((error = xfs_btree_check_lptr_disk(cur, *rpp, level))) {
                        XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                        return error;
                }
@@ -1340,7 +1340,7 @@
        if (level > 0) {
 #ifdef DEBUG
                for (i = 0; i < rrecs; i++) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(rpp[i + 
1], ARCH_CONVERT),
+                       if ((error = xfs_btree_check_lptr_disk(cur, rpp[i + 1],
                                        level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                return error;
@@ -1445,7 +1445,7 @@
                rpp = XFS_BMAP_PTR_IADDR(right, 1, cur);
 #ifdef DEBUG
                for (i = be16_to_cpu(right->bb_numrecs) - 1; i >= 0; i--) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(rpp[i], 
ARCH_CONVERT), level))) {
+                       if ((error = xfs_btree_check_lptr_disk(cur, rpp[i] 
level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                return error;
                        }
@@ -1454,7 +1454,7 @@
                memmove(rkp + 1, rkp, be16_to_cpu(right->bb_numrecs) * 
sizeof(*rkp));
                memmove(rpp + 1, rpp, be16_to_cpu(right->bb_numrecs) * 
sizeof(*rpp));
 #ifdef DEBUG
-               if ((error = xfs_btree_check_lptr(cur, INT_GET(*lpp, 
ARCH_CONVERT), level))) {
+               if ((error = xfs_btree_check_lptr_disk(cur, *lpp, level))) {
                        XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                        return error;
                }
@@ -1619,7 +1619,7 @@
                rpp = XFS_BMAP_PTR_IADDR(right, 1, cur);
 #ifdef DEBUG
                for (i = 0; i < be16_to_cpu(right->bb_numrecs); i++) {
-                       if ((error = xfs_btree_check_lptr(cur, INT_GET(lpp[i], 
ARCH_CONVERT), level))) {
+                       if ((error = xfs_btree_check_lptr_disk(cur, lpp[i], 
level))) {
                                XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                                return error;
                        }
@@ -2356,7 +2356,7 @@
        args.firstblock = args.fsbno;
        if (args.fsbno == NULLFSBLOCK) {
 #ifdef DEBUG
-               if ((error = xfs_btree_check_lptr(cur, INT_GET(*pp, 
ARCH_CONVERT), level))) {
+               if ((error = xfs_btree_check_lptr_disk(cur, *pp, level))) {
                        XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                        return error;
                }
@@ -2393,7 +2393,7 @@
        cpp = XFS_BMAP_PTR_IADDR(cblock, 1, cur);
 #ifdef DEBUG
        for (i = 0; i < be16_to_cpu(cblock->bb_numrecs); i++) {
-               if ((error = xfs_btree_check_lptr(cur, INT_GET(pp[i], 
ARCH_CONVERT), level))) {
+               if ((error = xfs_btree_check_lptr_disk(cur, pp[i], level))) {
                        XFS_BMBT_TRACE_CURSOR(cur, ERROR);
                        return error;
                }
Index: xfs-2.6.x/fs/xfs/xfs_btree.h
===================================================================
--- xfs-2.6.x.orig/fs/xfs/xfs_btree.h   2006-07-09 19:34:52.000000000 +0200
+++ xfs-2.6.x/fs/xfs/xfs_btree.h        2006-07-09 19:37:01.000000000 +0200
@@ -243,6 +243,9 @@
        xfs_dfsbno_t            ptr,    /* btree block disk address */
        int                     level); /* btree block level */
 
+#define xfs_btree_check_lptr_disk(cur, ptr, level) \
+       xfs_btree_check_lptr(cur, INT_GET(ptr, ARCH_CONVERT), level)
+
 /*
  * Checking routine: check that short form block header is ok.
  */


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