diff options
author | Abhi Das <adas@redhat.com> | 2019-05-02 14:17:40 -0500 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2019-05-07 23:39:15 +0200 |
commit | f4686c26ecc34e8e458b8235f0af5198c9b13bfd (patch) | |
tree | 6768f35e9f263165a70e22b3f5d164e0b400e856 /fs/gfs2/lops.h | |
parent | d0a22a4b03b8475b7aa3fa41243c26c291407844 (diff) | |
download | linux-f4686c26ecc34e8e458b8235f0af5198c9b13bfd.tar.gz linux-f4686c26ecc34e8e458b8235f0af5198c9b13bfd.tar.bz2 linux-f4686c26ecc34e8e458b8235f0af5198c9b13bfd.zip |
gfs2: read journal in large chunks
Use bios to read in the journal into the address space of the journal inode
(jd_inode), sequentially and in large chunks. This is faster for locating the
journal head that the previous binary search approach. When performing
recovery, we keep the journal in the address space until recovery is done,
which further speeds up things.
Signed-off-by: Abhi Das <adas@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/lops.h')
-rw-r--r-- | fs/gfs2/lops.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h index 320fbf28d2fb..f195ffb435ac 100644 --- a/fs/gfs2/lops.h +++ b/fs/gfs2/lops.h @@ -25,8 +25,10 @@ extern u64 gfs2_log_bmap(struct gfs2_sbd *sdp); extern void gfs2_log_write(struct gfs2_sbd *sdp, struct page *page, unsigned size, unsigned offset, u64 blkno); extern void gfs2_log_write_page(struct gfs2_sbd *sdp, struct page *page); -extern void gfs2_log_submit_bio(struct bio **biop, int op, int op_flags); +extern void gfs2_log_submit_bio(struct bio **biop, int opf); extern void gfs2_pin(struct gfs2_sbd *sdp, struct buffer_head *bh); +extern int gfs2_find_jhead(struct gfs2_jdesc *jd, + struct gfs2_log_header_host *head, bool keep_cache); static inline unsigned int buf_limit(struct gfs2_sbd *sdp) { |