summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2019-12-08 14:12:49 +0100
committerAndreas Gruenbacher <agruenba@redhat.com>2020-01-07 12:30:36 +0100
commiteed0f953b90e86e765197a1dad06bb48aedc27fe (patch)
treef831f9cca03469c6e6a6b2dfc372da294ad439b1 /fs/gfs2/incore.h
parentMerge branch 'for-linus' from git://git.kernel.dk/linux-block (diff)
downloadlinux-eed0f953b90e86e765197a1dad06bb48aedc27fe.tar.xz
linux-eed0f953b90e86e765197a1dad06bb48aedc27fe.zip
gfs2: Another gfs2_find_jhead fix
On filesystems with a block size smaller than the page size, gfs2_find_jhead can split a page across two bios (for example, when blocks are not allocated consecutively). When that happens, the first bio that completes will unlock the page in its bi_end_io handler even though the page hasn't been read completely yet. Fix that by using a chained bio for the rest of the page. While at it, clean up the sector calculation logic in gfs2_log_alloc_bio. In gfs2_find_jhead, simplify the disk block and offset calculation logic and fix a variable name. Fixes: f4686c26ecc3 ("gfs2: read journal in large chunks") Cc: stable@vger.kernel.org # v5.2+ Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
0 files changed, 0 insertions, 0 deletions