Hi, This patch speeds up fsck.gfs2 by issuing read-ahead for each of the dinodes found in each of the bitmaps, prior to processing the bitmap.
Regards, Bob Peterson Red Hat File Systems Signed-off-by: Bob Peterson <[email protected]> --- gfs2/fsck/pass1.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c index fec2f64..90ca357 100644 --- a/gfs2/fsck/pass1.c +++ b/gfs2/fsck/pass1.c @@ -1442,6 +1442,10 @@ static int pass1_process_bitmap(struct gfs2_sbd *sdp, struct rgrp_tree *rgd, uin struct gfs2_inode *ip; uint8_t q; + /* Issue read-ahead for all dinodes in this bitmap */ + for (i = 0; i < n; i++) + posix_fadvise(sdp->device_fd, ibuf[i] * sdp->bsize, sdp->bsize, + POSIX_FADV_WILLNEED); for (i = 0; i < n; i++) { int is_inode; uint32_t check_magic;
