summaryrefslogtreecommitdiff
path: root/fs/ocfs2
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2008-09-19 14:16:34 (GMT)
committerMark Fasheh <mfasheh@suse.com>2008-10-14 00:02:43 (GMT)
commit06b240d8af21ddee4cfec3b0f02b81d9f168a98a (patch)
treeeb725cc51e755252b17efb235db4c9d9adeb7469 /fs/ocfs2
parentb0f73cfc36ed62decdd3f78e943bbfd00ee80e49 (diff)
downloadlinux-fsl-qoriq-06b240d8af21ddee4cfec3b0f02b81d9f168a98a.tar.xz
ocfs2/xattr.c: Fix a bug when inserting xattr.
During the process of xatt insertion, we use binary search to find the right place and "low" is set to it. But when there is one xattr which has the same name hash as the inserted one, low is the wrong value. So set it to the right position. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2')
-rw-r--r--fs/ocfs2/xattr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
index b2e25a8..b1f2a16 100644
--- a/fs/ocfs2/xattr.c
+++ b/fs/ocfs2/xattr.c
@@ -4003,8 +4003,10 @@ static void ocfs2_xattr_set_entry_normal(struct inode *inode,
else if (name_hash <
le32_to_cpu(tmp_xe->xe_name_hash))
high = tmp - 1;
- else
+ else {
+ low = tmp;
break;
+ }
}
xe = &xh->xh_entries[low];