diff options
author | Eric Sandeen <sandeen@redhat.com> | 2011-11-18 17:45:42 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-11-18 22:14:24 -0500 |
commit | 19ef479acf566343b277be3554beda7e1f400381 (patch) | |
tree | 47e04579cd3a8876fa6fb073e3047fc9b7e8b7e5 | |
parent | 3cebf9c1029ca983ebbbae79f7905a02d087ff98 (diff) | |
download | e2fsprogs-19ef479acf566343b277be3554beda7e1f400381.tar.gz |
e2undo: cast dptr to blk64_t to retrieve block number
A 32-bit s390 build was failing on a 64-bit s390x host, when
make check failed e2undo tests, like this:
md5sum before mke2fs 922c8a591c882dbdd1a381d18547cfd5
using mke2fs to test e2undo
Overwriting existing filesystem; this can be undone using the command:
e2undo /tmp/mke2fs-tmp.EM9XjmTA81.e2undo /tmp/tmp.EM9XjmTA81
md5sum after mke2fs cbf32fb6c3db45280ad013f42ac294f1
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 32768 at location 0
Replayed transaction of size 0 at location 0
md5sum after e2undo 31b4e14307c5b7ccce5b8d300c2ad5f1
Note the "at location 0" for the block number.
A proper cast in e2undo.c fixes this up.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | misc/e2undo.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/misc/e2undo.c b/misc/e2undo.c index f97ddc2f..b1cb7509 100644 --- a/misc/e2undo.c +++ b/misc/e2undo.c @@ -206,7 +206,7 @@ int main(int argc, char *argv[]) _("Failed tdb_fetch %s\n"), tdb_errorstr(tdb)); exit(1); } - blk_num = *(unsigned long *)key.dptr; + blk_num = *(blk64_t *)key.dptr; printf(_("Replayed transaction of size %zd at location %llu\n"), data.dsize, blk_num); retval = io_channel_write_blk64(channel, blk_num, |