[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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 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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]