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 */