Sophie

Sophie

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

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

commit 4284f2110fc813cb30d3611d16728d4640aed6f3
Author: Bob Peterson <bob@ganesha.peterson>
Date:   Thu Jan 21 17:07:41 2010 -0600

    libgfs2: Remove unneeded sdp parameter in gfs2_block_set
    
    Function gfs2_blockmap_set does not use the sdp parameter, so
    it only was wasting time passing it.  Therefore I removed it.
    Again, this may not seem like much, but it's called for every
    allocated block, which numbers in the millions.
    
    rhbz#455300

diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 554a3da..4d8ef9a 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -621,7 +621,7 @@ void savemeta(char *out_fn, int saveoption)
 			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(&sbd, blocklist,
+				if(gfs2_blockmap_set(blocklist,
 						     rgd->ri.ri_addr + i,
 						     gfs2_meta_other))
 					break;
diff --git a/gfs2/fsck/eattr.c b/gfs2/fsck/eattr.c
index fb84854..b633d47 100644
--- a/gfs2/fsck/eattr.c
+++ b/gfs2/fsck/eattr.c
@@ -27,7 +27,7 @@ static int clear_blk_nodup(struct gfs2_sbd *sbp, uint64_t block)
 		return 1;
 	}
 
-	gfs2_blockmap_set(sbp, bl, block, gfs2_block_free);
+	gfs2_blockmap_set(bl, block, gfs2_block_free);
 
 	return 0;
 
diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c
index 0e55724..05318f0 100644
--- a/gfs2/fsck/lost_n_found.c
+++ b/gfs2/fsck/lost_n_found.c
@@ -57,8 +57,8 @@ int add_inode_to_lf(struct gfs2_inode *ip){
 			 * directory or just found an old one, and we
 			 * used that instead of the block_type to run
 			 * this */
-			gfs2_blockmap_set(ip->i_sbd, bl,
-				       lf_dip->i_di.di_num.no_addr, gfs2_inode_dir);
+			gfs2_blockmap_set(bl, lf_dip->i_di.di_num.no_addr,
+					  gfs2_inode_dir);
 			increment_link(ip->i_sbd,
 						   ip->i_sbd->md.rooti->i_di.di_num.no_addr);
 			increment_link(ip->i_sbd, lf_dip->i_di.di_num.no_addr);
diff --git a/gfs2/fsck/main.c b/gfs2/fsck/main.c
index a4fefb5..44b8098 100644
--- a/gfs2/fsck/main.c
+++ b/gfs2/fsck/main.c
@@ -182,9 +182,8 @@ static int check_system_inode(struct gfs2_inode *sysinode, const char *filename,
 		/* Just reuse the inode and fix the bitmap.         */
 		if (ds.q == gfs2_block_free) {
 			log_info( _("The inode exists but the block is not marked 'in use'; fixing it.\n"));
-			gfs2_blockmap_set(sysinode->i_sbd, bl,
-				       sysinode->i_di.di_num.no_addr,
-				       mark);
+			gfs2_blockmap_set(bl,sysinode->i_di.di_num.no_addr,
+					  mark);
 			ds.q = mark;
 			if (mark == gfs2_inode_dir)
 				dirtree_insert(sysinode->i_di.di_num.no_addr);
@@ -200,9 +199,8 @@ static int check_system_inode(struct gfs2_inode *sysinode, const char *filename,
 		log_err( _("Invalid or missing %s system inode.\n"), filename);
 		if (query(_("Create new %s system inode? (y/n) "), filename)) {
 			builder(sysinode->i_sbd);
-			gfs2_blockmap_set(sysinode->i_sbd, bl,
-				       sysinode->i_di.di_num.no_addr,
-				       mark);
+			gfs2_blockmap_set(bl, sysinode->i_di.di_num.no_addr,
+					  mark);
 			ds.q = mark;
 			if (mark == gfs2_inode_dir)
 				dirtree_insert(sysinode->i_di.di_num.no_addr);
diff --git a/gfs2/fsck/metawalk.c b/gfs2/fsck/metawalk.c
index 86da8a2..8fc20d0 100644
--- a/gfs2/fsck/metawalk.c
+++ b/gfs2/fsck/metawalk.c
@@ -627,7 +627,7 @@ static int check_eattr_entries(struct gfs2_inode *ip,
 						/* Endianness doesn't matter
 						   in this case because it's
 						   a single byte. */
-						gfs2_blockmap_set(sdp, bl,
+						gfs2_blockmap_set(bl,
 							     ip->i_di.di_eattr,
 							     gfs2_meta_eattr);
 						log_err( _("The EA was "
@@ -781,8 +781,8 @@ static int check_indirect_eattr(struct gfs2_inode *ip, uint64_t indirect,
 				if (indirect_buf->b_modified)
 					gfs2_set_bitmap(sdp, indirect,
 							GFS2_BLKST_FREE);
-				gfs2_blockmap_set(sdp, bl, indirect,
-					       gfs2_block_free);
+				gfs2_blockmap_set(bl, indirect,
+						  gfs2_block_free);
 				error = 1;
 			}
 		}
@@ -1140,7 +1140,7 @@ int delete_blocks(struct gfs2_inode *ip, uint64_t block,
 				  (unsigned long long)block,
 				  (unsigned long long)ip->i_di.di_num.no_addr,
 				  (unsigned long long)ip->i_di.di_num.no_addr);
-			gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_block_free);
+			gfs2_blockmap_set(bl, block, gfs2_block_free);
 			gfs2_free_block(ip->i_sbd, block);
 		}
 	}
diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c
index 9b7bd9c..494cac5 100644
--- a/gfs2/fsck/pass1.c
+++ b/gfs2/fsck/pass1.c
@@ -93,7 +93,7 @@ static int leaf(struct gfs2_inode *ip, uint64_t block,
 		   (unsigned long long)ip->i_di.di_num.no_addr,
 		   (unsigned long long)ip->i_di.di_num.no_addr,
 		   (unsigned long long)block, (unsigned long long)block);
-	gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_leaf_blk);
+	gfs2_blockmap_set(bl, block, gfs2_leaf_blk);
 	bc->indir_count++;
 	return 0;
 }
@@ -109,7 +109,7 @@ static int check_metalist(struct gfs2_inode *ip, uint64_t block,
 	*bh = NULL;
 
 	if (gfs2_check_range(ip->i_sbd, block)){ /* blk outside of FS */
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_num.no_addr,
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
 			       gfs2_bad_block);
 		log_debug( _("Bad indirect block pointer (out of range).\n"));
 
@@ -128,7 +128,7 @@ static int check_metalist(struct gfs2_inode *ip, uint64_t block,
 		log_debug( _("Bad indirect block pointer (points to "
 			     "something that is not an indirect block).\n"));
 		if(!found_dup) {
-			gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_meta_inval);
+			gfs2_blockmap_set(bl, block, gfs2_meta_inval);
 			brelse(nbh);
 			return 1;
 		}
@@ -139,7 +139,7 @@ static int check_metalist(struct gfs2_inode *ip, uint64_t block,
 	if (!found_dup) {
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to indirect "
 			     "block.\n"), block, block);
-		gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_indir_blk);
+		gfs2_blockmap_set(bl, block, gfs2_indir_blk);
 	}
 	bc->indir_count++;
 
@@ -161,7 +161,7 @@ static int check_data(struct gfs2_inode *ip, uint64_t block, void *private)
 		/* Mark the owner of this block with the bad_block
 		 * designator so we know to check it for out of range
 		 * blocks later */
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_num.no_addr,
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
 			       gfs2_bad_block);
 		return 1;
 	}
@@ -192,7 +192,7 @@ static int check_data(struct gfs2_inode *ip, uint64_t block, void *private)
 	}
 	log_debug( _("Marking block %llu (0x%llx) as data block\n"),
 		   (unsigned long long)block, (unsigned long long)block);
-	gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_block_used);
+	gfs2_blockmap_set(bl, block, gfs2_block_used);
 
 	/* This is also confusing, so I'll clarify.  There are two bitmaps:
 	   (1) The gfs2_bmap that fsck uses to keep track of what block
@@ -235,8 +235,7 @@ static int remove_inode_eattr(struct gfs2_inode *ip, struct block_count *bc,
 	if (!duplicate) {
 		gfs2_set_bitmap(ip->i_sbd, ip->i_di.di_eattr,
 				GFS2_BLKST_FREE);
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_eattr,
-			       gfs2_block_free);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_block_free);
 	}
 	ip->i_di.di_eattr = 0;
 	bc->ea_count = 0;
@@ -290,7 +289,7 @@ static int clear_eas(struct gfs2_inode *ip, struct block_count *bc,
 			log_err( _("The bad extended attribute was "
 				   "removed.\n"));
 		} else if (!duplicate) {
-			gfs2_blockmap_set(sdp, bl, block, gfs2_block_free);
+			gfs2_blockmap_set(bl, block, gfs2_block_free);
 			gfs2_set_bitmap(sdp, block, GFS2_BLKST_FREE);
 			log_err( _("The bad Extended Attribute was "
 				   "removed.\n"));
@@ -317,7 +316,7 @@ static int check_eattr_indir(struct gfs2_inode *ip, uint64_t indirect,
 	if(gfs2_check_range(sdp, indirect)) {
 		/*log_warn("EA indirect block #%"PRIu64" is out of range.\n",
 			indirect);
-			gfs2_blockmap_set(sdp, bl, parent, bad_block);*/
+			gfs2_blockmap_set(bl, parent, bad_block);*/
 		/* Doesn't help to mark this here - this gets checked
 		 * in pass1c */
 		return 1;
@@ -359,7 +358,7 @@ static int check_eattr_indir(struct gfs2_inode *ip, uint64_t indirect,
 		log_debug( _("Setting #%" PRIu64 " (0x%" PRIx64
 			  ") to indirect Extended Attribute block\n"),
 			   indirect, indirect);
-		gfs2_blockmap_set(sdp, bl, indirect, gfs2_indir_blk);
+		gfs2_blockmap_set(bl, indirect, gfs2_indir_blk);
 		bc->ea_count++;
 	}
 	return ret;
@@ -446,7 +445,7 @@ static int check_leaf_block(struct gfs2_inode *ip, uint64_t block, int btype,
 	/* Point of confusion: We've got to set the ea block itself to
 	   gfs2_meta_eattr here.  Elsewhere we mark the inode with
 	   gfs2_eattr_block meaning it contains an eattr for pass1c. */
-	gfs2_blockmap_set(sdp, bl, block, gfs2_meta_eattr);
+	gfs2_blockmap_set(bl, block, gfs2_meta_eattr);
 	bc->ea_count++;
 	*bh = leaf_bh;
 	return 0;
@@ -484,7 +483,7 @@ static int check_extended_leaf_eattr(struct gfs2_inode *ip, uint64_t *data_ptr,
 			 (unsigned long long)ip->i_di.di_eattr,
 			 (unsigned long long)el_blk,
 			 (unsigned long long)el_blk);
-		gfs2_blockmap_set(sdp, bl, ip->i_di.di_eattr, gfs2_bad_block);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_bad_block);
 		return 1;
 	}
 	error = check_leaf_block(ip, el_blk, GFS2_METATYPE_ED, &bh, private);
@@ -515,7 +514,7 @@ static int check_eattr_leaf(struct gfs2_inode *ip, uint64_t block,
 			 (unsigned long long)ip->i_di.di_num.no_addr,
 			 (unsigned long long)ip->i_di.di_num.no_addr,
 			 (unsigned long long)block, (unsigned long long)block);
-		gfs2_blockmap_set(sdp, bl, ip->i_di.di_eattr, gfs2_bad_block);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_bad_block);
 		return 1;
 	}
 	return check_leaf_block(ip, block, GFS2_METATYPE_EA, bh, private);
@@ -568,7 +567,7 @@ static int clear_metalist(struct gfs2_inode *ip, uint64_t block,
 	*bh = NULL;
 
 	if(!is_duplicate(block)) {
-		gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_block_free);
+		gfs2_blockmap_set(bl, block, gfs2_block_free);
 		return 0;
 	}
 	return 0;
@@ -577,7 +576,7 @@ static int clear_metalist(struct gfs2_inode *ip, uint64_t block,
 static int clear_data(struct gfs2_inode *ip, uint64_t block, void *private)
 {
 	if(!is_duplicate(block)) {
-		gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_block_free);
+		gfs2_blockmap_set(bl, block, gfs2_block_free);
 		return 0;
 	}
 	return 0;
@@ -593,7 +592,7 @@ static int clear_leaf(struct gfs2_inode *ip, uint64_t block,
 	if(!is_duplicate(block)) {
 		log_crit( _("Setting leaf #%" PRIu64 " (0x%" PRIx64 ") invalid\n"),
 				 block, block);
-		if(gfs2_blockmap_set(ip->i_sbd, bl, block, gfs2_block_free)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_block_free)) {
 			stack;
 			return -1;
 		}
@@ -647,7 +646,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFDIR:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to directory inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_dir)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_dir)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -661,7 +660,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFREG:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to file inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_file)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_file)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -670,7 +669,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFLNK:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to symlink inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_lnk)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_lnk)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -679,7 +678,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFBLK:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to block dev inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_blk)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_blk)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -688,7 +687,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFCHR:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to char dev inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_chr)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_chr)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -697,7 +696,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFIFO:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to fifo inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_fifo)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_fifo)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -706,7 +705,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	case S_IFSOCK:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to socket inode.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_inode_sock)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_inode_sock)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -715,7 +714,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 	default:
 		log_debug( _("Setting %" PRIu64 " (0x%" PRIx64 ") to invalid.\n"),
 				  block, block);
-		if(gfs2_blockmap_set(sdp, bl, block, gfs2_meta_inval)) {
+		if(gfs2_blockmap_set(bl, block, gfs2_meta_inval)) {
 			stack;
 			fsck_inode_put(&ip);
 			return -1;
@@ -760,7 +759,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 				 (1 >> (ip->i_di.di_size/sizeof(uint64_t))));
 			/* once implemented, remove continue statement */
 			log_warn( _("Marking inode invalid\n"));
-			if(gfs2_blockmap_set(sdp, bl, block, gfs2_meta_inval)) {
+			if(gfs2_blockmap_set(bl, block, gfs2_meta_inval)) {
 				stack;
 				fsck_inode_put(&ip);
 				return -1;
@@ -784,8 +783,8 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 			 (unsigned long long)ip->i_di.di_num.no_addr);
 		/* FIXME: Must set all leaves invalid as well */
 		check_metatree(ip, &invalidate_metatree);
-		gfs2_blockmap_set(sdp, bl, ip->i_di.di_num.no_addr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
+				  gfs2_meta_inval);
 		gfs2_set_bitmap(sdp, ip->i_di.di_num.no_addr, GFS2_BLKST_FREE);
 		fsck_inode_put(&ip);
 		return 0;
@@ -876,8 +875,8 @@ int pass1(struct gfs2_sbd *sbp)
 				 rg_count);
 		rgd = osi_list_entry(tmp, struct rgrp_list, list);
 		for (i = 0; i < rgd->ri.ri_length; i++) {
-			if(gfs2_blockmap_set(sbp, bl, rgd->ri.ri_addr + i,
-					  gfs2_meta_other)){
+			if(gfs2_blockmap_set(bl, rgd->ri.ri_addr + i,
+					     gfs2_meta_other)){
 				stack;
 				return FSCK_ERROR;
 			}
diff --git a/gfs2/fsck/pass1b.c b/gfs2/fsck/pass1b.c
index 7d10917..c482806 100644
--- a/gfs2/fsck/pass1b.c
+++ b/gfs2/fsck/pass1b.c
@@ -180,8 +180,8 @@ static int clear_dup_metalist(struct gfs2_inode *ip, uint64_t block,
 			 dh->id->parent);
 		/* Setting the block to invalid means the inode is
 		 * cleared in pass2 */
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_num.no_addr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
+				  gfs2_meta_inval);
 	}
 	return 0;
 }
@@ -212,8 +212,7 @@ static int clear_dup_eattr_indir(struct gfs2_inode *ip, uint64_t block,
 		log_err( _("Inode %s is in directory %" PRIu64 " (0x%" PRIx64 ")\n"),
 				dh->id->name ? dh->id->name : "",
 				dh->id->parent, dh->id->parent);
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_eattr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_meta_inval);
 	}
 
 	return 0;
@@ -239,8 +238,7 @@ static int clear_dup_eattr_leaf(struct gfs2_inode *ip, uint64_t block,
 				dh->id->name ? dh->id->name : "",
 				dh->id->parent, dh->id->parent);
 		/* mark the main eattr block invalid */
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_eattr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_meta_inval);
 	}
 
 	return 0;
@@ -310,8 +308,7 @@ static int clear_eattr_extentry(struct gfs2_inode *ip, uint64_t *ea_data_ptr,
 				dh->id->name ? dh->id->name : "",
 				dh->id->parent, dh->id->parent);
 		/* mark the main eattr block invalid */
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_eattr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_eattr, gfs2_meta_inval);
 	}
 
 	return 0;
@@ -433,9 +430,8 @@ static int handle_dup_blk(struct gfs2_sbd *sbp, struct duptree *b)
 					inodetree_delete(ii);
 				/* Setting the block to invalid means the inode
 				   is cleared in pass2 */
-				gfs2_blockmap_set(ip->i_sbd, bl,
-					       ip->i_di.di_num.no_addr,
-					       gfs2_meta_inval);
+				gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
+						  gfs2_meta_inval);
 				bmodified(ip->i_bh);
 				fsck_inode_put(&ip);
 			} else {
@@ -480,8 +476,8 @@ static int handle_dup_blk(struct gfs2_sbd *sbp, struct duptree *b)
 		if(!id->ea_only)
 			check_metatree(ip, &clear_dup_fxns);
 
-		gfs2_blockmap_set(ip->i_sbd, bl, ip->i_di.di_num.no_addr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
+				  gfs2_meta_inval);
 		fsck_inode_put(&ip); /* out, brelse, free */
 		dh.ref_inode_count--;
 		if(dh.ref_inode_count == 1)
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index 7586071..7c8a71c 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -199,8 +199,8 @@ static int check_dentry(struct gfs2_inode *ip, struct gfs2_dirent *dent,
 			"\tName length = %u\n"),
 			de->de_rec_len,
 			de->de_name_len);
-		gfs2_blockmap_set(sbp, bl, ip->i_di.di_num.no_addr,
-			       gfs2_meta_inval);
+		gfs2_blockmap_set(bl, ip->i_di.di_num.no_addr,
+				  gfs2_meta_inval);
 		return 1;
 		/* FIXME: should probably delete the entry here at the
 		 * very least - maybe look at attempting to fix it */
@@ -268,7 +268,7 @@ static int check_dentry(struct gfs2_inode *ip, struct gfs2_dirent *dent,
 			bmodified(entry_ip->i_bh);
 			fsck_inode_put(&entry_ip);
 			dirent2_del(ip, bh, prev_de, dent);
-			gfs2_blockmap_set(sbp, bl, entryblock, gfs2_block_free);
+			gfs2_blockmap_set(bl, entryblock, gfs2_block_free);
 			bmodified(bh);
 			log_warn( _("The inode containing bad blocks was "
 				    "deleted.\n"));
@@ -319,7 +319,7 @@ static int check_dentry(struct gfs2_inode *ip, struct gfs2_dirent *dent,
 			check_metatree(entry_ip, &pass2_fxns_delete);
 			bmodified(entry_ip->i_bh);
 			fsck_inode_put(&entry_ip);
-			gfs2_blockmap_set(sbp, bl, entryblock, gfs2_block_free);
+			gfs2_blockmap_set(bl, entryblock, gfs2_block_free);
 
 			return 1;
 		} else {
@@ -588,7 +588,7 @@ int check_system_dir(struct gfs2_inode *sysinode, const char *dirname,
 		return -1;
 	}
 	if (error > 0)
-		gfs2_blockmap_set(sysinode->i_sbd, bl, iblock, gfs2_meta_inval);
+		gfs2_blockmap_set(bl, iblock, gfs2_meta_inval);
 
 	if(check_inode_eattr(sysinode, &pass2_fxns)) {
 		stack;
@@ -766,7 +766,7 @@ int pass2(struct gfs2_sbd *sbp)
 				} else
 					log_err( _("Directory entry to invalid inode remains.\n"));
 			}
-			gfs2_blockmap_set(sbp, bl, dirblk, gfs2_meta_inval);
+			gfs2_blockmap_set(bl, dirblk, gfs2_meta_inval);
 		}
 		ip = fsck_load_inode(sbp, dirblk);
 		if(!ds.dotdir) {
diff --git a/gfs2/fsck/pass3.c b/gfs2/fsck/pass3.c
index bfef9bb..fa66f29 100644
--- a/gfs2/fsck/pass3.c
+++ b/gfs2/fsck/pass3.c
@@ -214,7 +214,7 @@ int pass3(struct gfs2_sbd *sbp)
 					log_err( _("Found unlinked directory containing bad block\n"));
 					if(query(
 					   _("Clear unlinked directory with bad blocks? (y/n) "))) {
-						gfs2_blockmap_set(sbp, bl,
+						gfs2_blockmap_set(bl,
 							       di->dinode,
 							       gfs2_block_free);
 						break;
@@ -229,8 +229,8 @@ int pass3(struct gfs2_sbd *sbp)
 				   q != gfs2_inode_fifo &&
 				   q != gfs2_inode_sock) {
 					log_err( _("Unlinked block marked as inode not an inode\n"));
-					gfs2_blockmap_set(sbp, bl, di->dinode,
-						       gfs2_block_free);
+					gfs2_blockmap_set(bl, di->dinode,
+							  gfs2_block_free);
 					log_err( _("Cleared\n"));
 					break;
 				}
@@ -243,7 +243,7 @@ int pass3(struct gfs2_sbd *sbp)
 				if(!ip->i_di.di_size && !ip->i_di.di_eattr){
 					log_err( _("Unlinked directory has zero size.\n"));
 					if(query( _("Remove zero-size unlinked directory? (y/n) "))) {
-						gfs2_blockmap_set(sbp, bl,
+						gfs2_blockmap_set(bl,
 							       di->dinode,
 							       gfs2_block_free);
 						fsck_inode_put(&ip);
diff --git a/gfs2/fsck/pass4.c b/gfs2/fsck/pass4.c
index eff47aa..764b977 100644
--- a/gfs2/fsck/pass4.c
+++ b/gfs2/fsck/pass4.c
@@ -85,8 +85,8 @@ static int scan_inode_list(struct gfs2_sbd *sbp) {
 					check_metatree(ip, &pass4_fxns_delete);
 					bmodified(ip->i_bh);
 					fsck_inode_put(&ip);
-					gfs2_blockmap_set(sbp, bl, ii->inode,
-						       gfs2_block_free);
+					gfs2_blockmap_set(bl, ii->inode,
+							  gfs2_block_free);
 					continue;
 				} else
 					log_err( _("Unlinked inode with bad blocks not cleared\n"));
@@ -109,8 +109,8 @@ static int scan_inode_list(struct gfs2_sbd *sbp) {
 							  &pass4_fxns_delete);
 					check_metatree(ip, &pass4_fxns_delete);
 					bmodified(ip->i_bh);
-					gfs2_blockmap_set(sbp, bl, ii->inode,
-						       gfs2_block_free);
+					gfs2_blockmap_set(bl, ii->inode,
+							  gfs2_block_free);
 					log_err( _("The inode was deleted\n"));
 				} else {
 					log_err( _("The inode was not "
@@ -127,8 +127,8 @@ static int scan_inode_list(struct gfs2_sbd *sbp) {
 			if(!ip->i_di.di_size && !ip->i_di.di_eattr){
 				log_err( _("Unlinked inode has zero size\n"));
 				if(query( _("Clear zero-size unlinked inode? (y/n) "))) {
-					gfs2_blockmap_set(sbp, bl, ii->inode,
-						       gfs2_block_free);
+					gfs2_blockmap_set(bl, ii->inode,
+							  gfs2_block_free);
 					fsck_inode_put(&ip);
 					continue;
 				}
diff --git a/gfs2/libgfs2/block_list.c b/gfs2/libgfs2/block_list.c
index fdf7251..3bc8038 100644
--- a/gfs2/libgfs2/block_list.c
+++ b/gfs2/libgfs2/block_list.c
@@ -137,8 +137,8 @@ int gfs2_block_unmark(struct gfs2_sbd *sdp, struct gfs2_bmap *bmap,
 	return 0;
 }
 
-int gfs2_blockmap_set(struct gfs2_sbd *sdp, struct gfs2_bmap *bmap,
-		      uint64_t bblock, enum gfs2_mark_block mark)
+int gfs2_blockmap_set(struct gfs2_bmap *bmap, uint64_t bblock,
+		      enum gfs2_mark_block mark)
 {
 	static unsigned char *byte;
 	static uint64_t b;
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 4bd7878..aacf9aa 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -306,8 +306,8 @@ extern struct special_blocks *blockfind(struct special_blocks *blist, uint64_t n
 extern void gfs2_special_add(struct special_blocks *blocklist, uint64_t block);
 extern void gfs2_special_set(struct special_blocks *blocklist, uint64_t block);
 extern void gfs2_special_free(struct special_blocks *blist);
-extern int gfs2_blockmap_set(struct gfs2_sbd *sdp, struct gfs2_bmap *il,
-			     uint64_t block, enum gfs2_mark_block mark);
+extern int gfs2_blockmap_set(struct gfs2_bmap *il, uint64_t block,
+			     enum gfs2_mark_block mark);
 extern void gfs2_special_clear(struct special_blocks *blocklist,
 			       uint64_t block);
 /* gfs2_block_unmark clears ONE mark for the given block */