On Wed, Apr 08, 2009 at 05:47:09PM -0400, Nick Dokos wrote: > Change the first and last block numbers in the list_blocks_struct > from blk_t to blk64_t. > > Change the list_blocks_proc() to take a blk64_t *blocknr and use > ext2fs_block_iterate3(), instead of ...iterate2(). > > Change fprintf formats to use %llu, instead of %u. > > With these changes, it seems to produce the right block numbers: I > spot-checked against the extents that my python script reported, but I > have not done an exhaustive comparison. > > Signed-off-by: Nick Dokos <nicholas.dokos@xxxxxx> Signed-off-by: Valerie Aurora (Henson) <vaurora@xxxxxxxxxx> > --- > debugfs/debugfs.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c > index a71da89..6b75410 100644 > --- a/debugfs/debugfs.c > +++ b/debugfs/debugfs.c > @@ -378,7 +378,7 @@ void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), > struct list_blocks_struct { > FILE *f; > e2_blkcnt_t total; > - blk_t first_block, last_block; > + blk64_t first_block, last_block; > e2_blkcnt_t first_bcnt, last_bcnt; > e2_blkcnt_t first; > }; > @@ -392,17 +392,17 @@ static void finish_range(struct list_blocks_struct *lb) > else > fprintf(lb->f, ", "); > if (lb->first_block == lb->last_block) > - fprintf(lb->f, "(%lld):%u", > + fprintf(lb->f, "(%lld):%llu", > (long long)lb->first_bcnt, lb->first_block); > else > - fprintf(lb->f, "(%lld-%lld):%u-%u", > + fprintf(lb->f, "(%lld-%lld):%llu-%llu", > (long long)lb->first_bcnt, (long long)lb->last_bcnt, > lb->first_block, lb->last_block); > lb->first_block = 0; > } > > static int list_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), > - blk_t *blocknr, e2_blkcnt_t blockcnt, > + blk64_t *blocknr, e2_blkcnt_t blockcnt, > blk_t ref_block EXT2FS_ATTR((unused)), > int ref_offset EXT2FS_ATTR((unused)), > void *private) > @@ -523,7 +523,7 @@ static void dump_blocks(FILE *f, const char *prefix, ext2_ino_t inode) > lb.first_block = 0; > lb.f = f; > lb.first = 1; > - ext2fs_block_iterate2(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, > + ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, > list_blocks_proc, (void *)&lb); > finish_range(&lb); > if (lb.total) > -- > 1.6.0.6 > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html