aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYingping Lu <yingping@sgi.com>2005-11-03 10:31:47 +1100
committerNathan Scott <nathans@sgi.com>2005-11-03 10:31:47 +1100
commitbf6f05aa0bb6f1fe9a9ce35287678c3916bddfef (patch)
tree0707dd164ab0172a922b52e10212334f4675235e
parent19d5bcf370c64b1acb1e928b24baf3b68cec914b (diff)
downloadkernel_goldelico_gta04-bf6f05aa0bb6f1fe9a9ce35287678c3916bddfef.zip
kernel_goldelico_gta04-bf6f05aa0bb6f1fe9a9ce35287678c3916bddfef.tar.gz
kernel_goldelico_gta04-bf6f05aa0bb6f1fe9a9ce35287678c3916bddfef.tar.bz2
[XFS] Fixed the inconsistency between attribute b-tree intermidiate node
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>
-rw-r--r--fs/xfs/xfs_da_btree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c
index 6098aff..473671f 100644
--- a/fs/xfs/xfs_da_btree.c
+++ b/fs/xfs/xfs_da_btree.c
@@ -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?