diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-12-07 22:35:17 +0100 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-12-07 22:35:17 +0100 |
commit | 21b4e736922f546e0f1aa7b9d6c442f309a2444a (patch) | |
tree | e1be8645297f8ebe87445251743ebcc52081a20d /fs/ext4/dir.c | |
parent | Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus (diff) | |
parent | Add "run_scheduled_work()" workqueue function (diff) | |
download | linux-21b4e736922f546e0f1aa7b9d6c442f309a2444a.tar.xz linux-21b4e736922f546e0f1aa7b9d6c442f309a2444a.zip |
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus
Diffstat (limited to 'fs/ext4/dir.c')
-rw-r--r-- | fs/ext4/dir.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c index f8595787a70e..f2ed3e7fb9f5 100644 --- a/fs/ext4/dir.c +++ b/fs/ext4/dir.c @@ -153,6 +153,9 @@ static int ext4_readdir(struct file * filp, ext4_error (sb, "ext4_readdir", "directory #%lu contains a hole at offset %lu", inode->i_ino, (unsigned long)filp->f_pos); + /* corrupt size? Maybe no more blocks to read */ + if (filp->f_pos > inode->i_blocks << 9) + break; filp->f_pos += sb->s_blocksize - offset; continue; } |