Message ID | 20131203002503.GA18601@thunk.org |
---|---|
State | Accepted, archived |
Headers | show |
This should fix most of the 64-bit type conversion issues in e2fsck. Thanks to Kit Westneat for pointing out that we might have some problems in this area. - Ted Eric Whitney (1): libext2fs: fix printf conversion spec in tst_iscan.c Theodore Ts'o (9): e2fsck: use problem_t to suppress some -Wconversion warnings e2fsck: use errcode_t to suppress some -Wconversion warnings e2fsck: use blk_t instead of blk64_t in check_resize_inode() dumpe2fs: fix printing of block offsets for 64-bit file systems libext2fs: add explicit casts to ext2fs.h libext2fs: add explicit casts to bitops.h e2fsck: fix j_maxlen if the file system is exactly 1 << 32 blocks e2fsck: add support for 64-bit extended attribute block refcounting e2fsck: use dgrp_t for block group numbers e2fsck/e2fsck.h | 15 +++++++-------- e2fsck/ea_refcount.c | 18 +++++++++--------- e2fsck/journal.c | 30 +++++++++++++++--------------- e2fsck/message.c | 2 +- e2fsck/pass1.c | 16 +++++++++------- e2fsck/pass1b.c | 8 ++++---- e2fsck/pass2.c | 14 +++++++------- e2fsck/pass4.c | 2 +- e2fsck/pass5.c | 24 +++++++++++++----------- e2fsck/problem.h | 2 +- e2fsck/rehash.c | 2 +- e2fsck/super.c | 2 +- e2fsck/unix.c | 2 +- e2fsck/util.c | 8 ++++---- lib/ext2fs/bitops.h | 18 +++++++++--------- lib/ext2fs/ext2fs.h | 10 +++++----- lib/ext2fs/tst_iscan.c | 2 +- misc/dumpe2fs.c | 2 +- 18 files changed, 90 insertions(+), 87 deletions(-)
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c index bceadfe..f2ac2dd 100644 --- a/e2fsck/pass2.c +++ b/e2fsck/pass2.c @@ -1132,7 +1132,7 @@ out_htree: } } if (dir_modified) { - cd->pctx.errcode = ext2fs_write_dir_block(fs, block_nr, buf); + cd->pctx.errcode = ext2fs_write_dir_block3(fs, block_nr, buf, 0); if (cd->pctx.errcode) { if (!fix_problem(ctx, PR_2_WRITE_DIRBLOCK, &cd->pctx)) @@ -1455,7 +1455,7 @@ static int allocate_dir_block(e2fsck_t ctx, return 1; } - pctx->errcode = ext2fs_write_dir_block(fs, blk, block); + pctx->errcode = ext2fs_write_dir_block3(fs, blk, block, 0); ext2fs_free_mem(&block); if (pctx->errcode) { pctx->str = "ext2fs_write_dir_block"; diff --git a/e2fsck/pass3.c b/e2fsck/pass3.c index e358bb2..926f462 100644 --- a/e2fsck/pass3.c +++ b/e2fsck/pass3.c @@ -198,9 +198,9 @@ static void check_root(e2fsck_t ctx) return; } - pctx.errcode = ext2fs_write_dir_block(fs, blk, block); + pctx.errcode = ext2fs_write_dir_block3(fs, blk, block, 0); if (pctx.errcode) { - pctx.str = "ext2fs_write_dir_block"; + pctx.str = "ext2fs_write_dir_block3"; fix_problem(ctx, PR_3_CREATE_ROOT_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; @@ -444,7 +444,7 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) return 0; } - retval = ext2fs_write_dir_block(fs, blk, block); + retval = ext2fs_write_dir_block3(fs, blk, block, 0); ext2fs_free_mem(&block); if (retval) { pctx.errcode = retval; @@ -725,7 +725,7 @@ static int expand_dir_proc(ext2_filsys fs, return BLOCK_ABORT; } es->num--; - retval = ext2fs_write_dir_block(fs, new_blk, block); + retval = ext2fs_write_dir_block3(fs, new_blk, block, 0); } else { retval = ext2fs_get_mem(fs->blocksize, &block); if (retval) {