android_kernel_google_msm/fs/ext3
Eric Sandeen 6f4f371426 ext3: return 32/64-bit dir name hash according to usage type
commit d7dab39b6e upstream.

This is based on commit d1f5273e9a
ext4: return 32/64-bit dir name hash according to usage type
by Fan Yong <yong.fan@whamcloud.com>

Traditionally ext2/3/4 has returned a 32-bit hash value from llseek()
to appease NFSv2, which can only handle a 32-bit cookie for seekdir()
and telldir().  However, this causes problems if there are 32-bit hash
collisions, since the NFSv2 server can get stuck resending the same
entries from the directory repeatedly.

Allow ext3 to return a full 64-bit hash (both major and minor) for
telldir to decrease the chance of hash collisions.

This patch does implement a new ext3_dir_llseek op, because with 64-bit
hashes, nfs will attempt to seek to a hash "offset" which is much
larger than ext3's s_maxbytes.  So for dx dirs, we call
generic_file_llseek_size() with the appropriate max hash value as the
maximum seekable size.  Otherwise we just pass through to
generic_file_llseek().

Patch-updated-by: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>
Patch-updated-by: Eric Sandeen <sandeen@redhat.com>
(blame us if something is not correct)

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-11-04 04:23:42 -08:00
..
acl.c
acl.h
balloc.c
bitmap.c
dir.c ext3: return 32/64-bit dir name hash according to usage type 2013-11-04 04:23:42 -08:00
ext3.h ext3: return 32/64-bit dir name hash according to usage type 2013-11-04 04:23:42 -08:00
ext3_jbd.c
file.c
fsync.c
hash.c ext3: return 32/64-bit dir name hash according to usage type 2013-11-04 04:23:42 -08:00
ialloc.c
inode.c ext3: fix data=journal fast mount/umount hang 2013-07-28 16:25:40 -07:00
ioctl.c
Kconfig
Makefile
namei.c ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() 2013-07-21 18:19:00 -07:00
namei.h
resize.c
super.c ext3: Fix format string issues 2013-03-20 13:04:58 -07:00
symlink.c
xattr.c
xattr.h
xattr_security.c
xattr_trusted.c
xattr_user.c