Browse Source

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>
Tao Ma 16 years ago
parent
commit
06b240d8af
1 changed files with 3 additions and 1 deletions
  1. 3 1
      fs/ocfs2/xattr.c

+ 3 - 1
fs/ocfs2/xattr.c

@@ -4003,8 +4003,10 @@ static void ocfs2_xattr_set_entry_normal(struct inode *inode,
 			else if (name_hash <
 			else if (name_hash <
 				 le32_to_cpu(tmp_xe->xe_name_hash))
 				 le32_to_cpu(tmp_xe->xe_name_hash))
 				high = tmp - 1;
 				high = tmp - 1;
-			else
+			else {
+				low = tmp;
 				break;
 				break;
+			}
 		}
 		}
 
 
 		xe = &xh->xh_entries[low];
 		xe = &xh->xh_entries[low];