summaryrefslogtreecommitdiffstats
path: root/fs/ext3/dir.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2012-04-30 20:16:04 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-22 22:00:30 +0200
commitde9b9422026357c878a9fa3714936be0e1388e9c (patch)
tree0df680496f90fac2155fba78cc46577eb2579ed4 /fs/ext3/dir.c
parentext4: use core vfs llseek code for dir seeks (diff)
downloadlinux-de9b9422026357c878a9fa3714936be0e1388e9c.tar.xz
linux-de9b9422026357c878a9fa3714936be0e1388e9c.zip
ext3: pass custom EOF to generic_file_llseek_size()
Use the new custom EOF argument to generic_file_llseek_size so that SEEK_END will go to the max hash value for htree dirs in ext3 rather than to i_size_read() Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ext3/dir.c')
-rw-r--r--fs/ext3/dir.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
index 901f67e37864..c8fff930790d 100644
--- a/fs/ext3/dir.c
+++ b/fs/ext3/dir.c
@@ -300,11 +300,11 @@ loff_t ext3_dir_llseek(struct file *file, loff_t offset, int origin)
{
struct inode *inode = file->f_mapping->host;
int dx_dir = is_dx_dir(inode);
+ loff_t htree_max = ext3_get_htree_eof(file);
if (likely(dx_dir))
return generic_file_llseek_size(file, offset, origin,
- ext3_get_htree_eof(file),
- i_size_read(inode));
+ htree_max, htree_max);
else
return generic_file_llseek(file, offset, origin);
}