[XFS] Fixed the inconsistency between attribute b-tree intermidiate node
authorYingping Lu <yingping@sgi.com>
Wed, 2 Nov 2005 23:31:47 +0000 (10:31 +1100)
committerNathan Scott <nathans@sgi.com>
Wed, 2 Nov 2005 23:31:47 +0000 (10:31 +1100)
and leaf blocks. The problem cam from xfsqa test 117.

SGI-PV: 940655
SGI-Modid: xfs-linux:xfs-kern:201527a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/xfs_da_btree.c

index 6098aff7bd5ce8581099e9d980e15aa12afdc1c9..473671fa5c13e1cff88cd4ad075ceecbf1a70ec6 100644 (file)
@@ -429,7 +429,8 @@ xfs_da_node_split(xfs_da_state_t *state, xfs_da_state_blk_t *oldblk,
        /*
         * With V2 the extra block is data or freespace.
         */
-       useextra = state->extravalid && XFS_DIR_IS_V1(state->mp);
+       useextra = state->extravalid && (XFS_DIR_IS_V1(state->mp) ||
+                       state->args->whichfork == XFS_ATTR_FORK);
        newcount = 1 + useextra;
        /*
         * Do we have to split the node?