android_kernel_xiaomi_sm8350/fs/ocfs2
Tao Ma 80bcaf3469 ocfs2/xattr: Proper hash collision handle in bucket division
In ocfs2/xattr, we must make sure the xattrs which have the same hash value
exist in the same bucket so that the search schema can work. But in the old
implementation, when we want to extend a bucket, we just move half number of
xattrs to the new bucket. This works in most cases, but if we are lucky
enough we will move 2 xattrs into 2 different buckets. This means that an
xattr from the previous bucket cannot be found anymore. This patch fix this
problem by finding the right position during extending the bucket and extend
an empty bucket if needed.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Cc: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2008-11-10 09:51:47 -08:00
..
cluster [PATCH] sanitize blkdev_get() and friends 2008-10-21 07:49:06 -04:00
dlm SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
alloc.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
alloc.h ocfs2: Change ocfs2_get_*_extent_tree() to ocfs2_init_*_extent_tree() 2008-10-13 16:57:05 -07:00
aops.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
aops.h
buffer_head_io.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
buffer_head_io.h ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
dcache.c
dcache.h
dir.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
dir.h
dlmglue.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
dlmglue.h
export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
export.h
extent_map.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
extent_map.h ocfs2: Add extent tree operation for xattr value btrees 2008-10-13 16:57:01 -07:00
file.c ocfs2: Fix check of return value of ocfs2_start_trans() 2008-11-10 09:51:46 -08:00
file.h ocfs2: Make high level btree extend code generic 2008-10-13 13:57:59 -07:00
heartbeat.c
heartbeat.h
inode.c ocfs2: Set journal descriptor to NULL after journal shutdown 2008-11-10 09:51:47 -08:00
inode.h ocfs2: Move ocfs2_bread() into dir.c 2008-10-14 11:58:03 -07:00
ioctl.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
ioctl.h
journal.c ocfs2: Set journal descriptor to NULL after journal shutdown 2008-11-10 09:51:47 -08:00
journal.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
localalloc.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
localalloc.h ocfs2: throttle back local alloc when low on disk space 2008-10-13 13:57:57 -07:00
locks.c ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
locks.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
Makefile ocfs2: Move trusted and user attribute support into xattr.c 2008-10-13 17:02:44 -07:00
mmap.c ocfs2: return 0 in page_mkwrite to let VFS retry. 2008-11-10 09:51:47 -08:00
mmap.h
namei.c ocfs2: Let inode be really deleted when ocfs2_mknod_locked() fails 2008-11-10 09:51:46 -08:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h ocfs2: Fix some typos in xattr annotations. 2008-11-10 09:51:46 -08:00
ocfs2_jbd_compat.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2.h ocfs2: Check xattr block signatures properly. 2008-11-10 09:51:44 -08:00
resize.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
resize.h
slot_map.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
slot_map.h
stack_o2cb.c ocfs2: Remove ->hangup() from stack glue operations. 2008-06-16 10:46:52 -07:00
stack_user.c ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
stackglue.c ocfs2: Remove pointless !! 2008-10-13 17:02:44 -07:00
stackglue.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
suballoc.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
suballoc.h ocfs2: Limit inode allocation to 32bits. 2008-10-13 16:57:07 -07:00
super.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
super.h
symlink.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
symlink.h
sysfile.c
sysfile.h
uptodate.c ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache 2008-10-13 17:02:44 -07:00
uptodate.h ocfs2: Add helper function in uptodate.c for removing xattr clusters 2008-10-13 13:57:59 -07:00
ver.c
ver.h
xattr.c ocfs2/xattr: Proper hash collision handle in bucket division 2008-11-10 09:51:47 -08:00
xattr.h ocfs2: fix function declaration and definition in xattr 2008-11-10 09:51:44 -08:00