Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 9383e745e23602bc45f9c92184feea59 > files > 44

gfs2-utils-0.1.62-28.el5.src.rpm

commit 84eebbec2ab855b10d23efbfc71487b5fa300a84
Author: Bob Peterson <bob@ganesha.peterson>
Date:   Mon Jan 25 16:23:19 2010 -0600

    Eliminate unnecessary block_list from gfs2_edit
    
    There is no need for a blockmap in gfs2_edit's savemeta function
    so this patch eliminates it.
    
    rhbz#455300

diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 4d8ef9a..b630280 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -48,7 +48,6 @@ struct saved_metablock {
 struct saved_metablock *savedata;
 struct gfs2_buffer_head *savebh;
 uint64_t last_fs_block, last_reported_block, blks_saved, total_out, pct;
-struct gfs2_bmap *blocklist = NULL;
 uint64_t journal_blocks[MAX_JOURNALS_SAVED];
 uint64_t gfs1_journal_size = 0; /* in blocks */
 int journals_found = 0;
@@ -490,7 +489,6 @@ void savemeta(char *out_fn, int saveoption)
 	int out_fd;
 	int slow;
 	osi_list_t *tmp;
-	uint64_t memreq;
 	int rgcount;
 	uint64_t jindex_block;
 	struct gfs2_buffer_head *lbh;
@@ -580,12 +578,6 @@ void savemeta(char *out_fn, int saveoption)
 		printf("Done.\n\n");
 		fflush(stdout);
 	}
-	if (!slow) {
-		blocklist = gfs2_bmap_create(&sbd, last_fs_block + 1,
-					     &memreq);
-		if (!blocklist)
-			slow = TRUE;
-	}
 	get_journal_inode_blocks();
 	if (!slow) {
 		/* Save off the superblock */
@@ -612,20 +604,16 @@ void savemeta(char *out_fn, int saveoption)
 		for (tmp = sbd.rglist.next; tmp != &sbd.rglist;
 		     tmp = tmp->next){
 			struct rgrp_list *rgd;
-			int i, first;
+			int first;
 
 			rgd = osi_list_entry(tmp, struct rgrp_list, list);
 			slow = gfs2_rgrp_read(&sbd, rgd);
 			if (slow)
 				continue;
-			log_debug("RG at %"PRIu64" is %u long\n",
-				  rgd->ri.ri_addr, rgd->ri.ri_length);
-			for (i = 0; i < rgd->ri.ri_length; i++) {
-				if(gfs2_blockmap_set(blocklist,
-						     rgd->ri.ri_addr + i,
-						     gfs2_meta_other))
-					break;
-			}
+			log_debug("RG at %lld (0x%llx) is %u long\n",
+				  (unsigned long long)rgd->ri.ri_addr,
+				  (unsigned long long)rgd->ri.ri_addr,
+				  rgd->ri.ri_length);
 			first = 1;
 			/* Save off the rg and bitmaps */
 			for (block = rgd->ri.ri_addr;
@@ -664,8 +652,6 @@ void savemeta(char *out_fn, int saveoption)
 		}
 	}
 	/* Clean up */
-	if (blocklist)
-		gfs2_bmap_destroy(&sbd, blocklist);
 	/* There may be a gap between end of file system and end of device */
 	/* so we tell the user that we've processed everything. */
 	block = last_fs_block;