[Cluster-devel] [gfs2-utils PATCH] fsck.gfs2: Issue read-ahead for dinodes in each bitmap

Bob Peterson rpeterso at redhat.com
Thu Jul 10 16:56:03 UTC 2014


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 <rpeterso at redhat.com> 
---
 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;




More information about the Cluster-devel mailing list