gfs2: Fixes to "Implement iomap for block_map" (2)

It turns out that commit 3229c18c0d6b2 'Fixes to "Implement iomap for
block_map"' introduced another bug in gfs2_iomap_begin that can cause
gfs2_block_map to set bh->b_size of an actual buffer to 0.  This can
lead to arbitrary incorrect behavior including crashes or disk
corruption.  Revert the incorrect part of that commit.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
This commit is contained in:
Andreas Gruenbacher 2018-03-05 06:18:25 -07:00 committed by Bob Peterson
parent 86f84779d8
commit 3b5da96e45

View file

@ -807,9 +807,6 @@ int gfs2_iomap_begin(struct inode *inode, loff_t pos, loff_t length,
iomap->length = hole_size(inode, lblock, &mp);
else
iomap->length = size - pos;
} else {
if (height <= ip->i_height)
iomap->length = hole_size(inode, lblock, &mp);
}
goto out_release;
}