tst_extents: Fix 64-bit bugs in do_goto_block()

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2010-07-20 11:36:34 -04:00
parent db0bdb49f4
commit 92e2d79cfb
1 changed files with 8 additions and 6 deletions

View File

@ -1981,8 +1981,8 @@ void do_goto_block(int argc, char **argv)
struct ext2fs_extent extent;
errcode_t retval;
int op = EXT2_EXTENT_NEXT_LEAF;
blk_t blk;
int level = 0;
blk64_t blk;
int level = 0, err;
if (common_extent_args_process(argc, argv, 2, 3, "goto_block",
"block [level]", 0))
@ -1991,16 +1991,18 @@ void do_goto_block(int argc, char **argv)
if (strtoblk(argv[0], argv[1], &blk))
return;
if (argc == 3)
if (strtoblk(argv[0], argv[2], &level))
if (argc == 3) {
level = parse_ulong(argv[2], argv[0], "level", &err);
if (err)
return;
}
retval = extent_goto(current_handle, level, (blk64_t) blk);
if (retval) {
com_err(argv[0], retval,
"while trying to go to block %u, level %d",
blk, level);
"while trying to go to block %llu, level %d",
(unsigned long long) blk, level);
return;
}