From 19ef479acf566343b277be3554beda7e1f400381 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Fri, 18 Nov 2011 17:45:42 -0500 Subject: [PATCH] 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 Signed-off-by: Theodore Ts'o --- misc/e2undo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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,