diff options
author | Abhi Das <adas@redhat.com> | 2019-05-02 22:17:40 +0300 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2019-05-08 00:39:15 +0300 |
commit | f4686c26ecc34e8e458b8235f0af5198c9b13bfd (patch) | |
tree | 6768f35e9f263165a70e22b3f5d164e0b400e856 /fs/gfs2/ops_fstype.c | |
parent | d0a22a4b03b8475b7aa3fa41243c26c291407844 (diff) | |
download | linux-f4686c26ecc34e8e458b8235f0af5198c9b13bfd.tar.xz |
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/ops_fstype.c')
-rw-r--r-- | fs/gfs2/ops_fstype.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index abfaecde0e3d..46f6615eaf12 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -41,6 +41,7 @@ #include "dir.h" #include "meta_io.h" #include "trace_gfs2.h" +#include "lops.h" #define DO 0 #define UNDO 1 @@ -616,7 +617,7 @@ static int check_journal_clean(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd) fs_err(sdp, "Error checking journal for spectator mount.\n"); goto out_unlock; } - error = gfs2_find_jhead(jd, &head); + error = gfs2_find_jhead(jd, &head, false); if (error) { fs_err(sdp, "Error parsing journal for spectator mount.\n"); goto out_unlock; |