diff options
author | David S. Miller <davem@davemloft.net> | 2017-08-10 12:09:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-10 12:09:13 -0700 |
commit | 2f7043a37708110aa98262b91702da6bc32e17b6 (patch) | |
tree | de0525dae8420a56f9a00def631ccc0108d9d091 /fs/ext4/file.c | |
parent | 4d9fbf539b52810cd2903719b181ed3d3ccd861f (diff) | |
parent | 26273939ace935dd7553b31d279eab30b40f7b9a (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Diffstat (limited to 'fs/ext4/file.c')
-rw-r--r-- | fs/ext4/file.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 58294c9a7e1d..0d7cf0cc9b87 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -537,6 +537,8 @@ static int ext4_find_unwritten_pgoff(struct inode *inode, lastoff = page_offset(page); bh = head = page_buffers(page); do { + if (lastoff + bh->b_size <= startoff) + goto next; if (buffer_uptodate(bh) || buffer_unwritten(bh)) { if (whence == SEEK_DATA) @@ -551,6 +553,7 @@ static int ext4_find_unwritten_pgoff(struct inode *inode, unlock_page(page); goto out; } +next: lastoff += bh->b_size; bh = bh->b_this_page; } while (bh != head); |