On Fri, Apr 22, 2011 at 01:09:20PM +0200, Anisse Astier wrote: > Yep, I figured that much, it just took me a while to get up & running > another system capable of building xfsprogs. > > Now that I have that, and that I commented the do_warn, xfs_repair is > still running after the previous failing point: > [???] > - agno = 17 > bad key in bmbt root (is 73434, would reset to 74194) in inode 2283178100 data fork > bad fwd (right) sibling pointer (saw 145202888 should be NULLDFSBNO) > bad data fork in inode 2283178100 > would have cleared inode 2283178100 > - agno = 18 > [???] (ongoing) > > Once this is done, I'll test with %llu instead of %u. > > But please be patient, it's a 900GB filesystem (half-full) with just an 800 > MHz ARM9 processor doing the work, so xfs_repair takes hours to complete. > Plus I won't have time to do many tests before next week. > > To be continued. Any updates? In the meantime I cooked up a little patch (below) to add format string checking to the repair-internal varargs printing helpers, which produces a lot of warnings. A lot of that is different underlying types for fixes-size 64-bit types, but there's quite a few legit errors there as well. Index: xfsprogs-dev/repair/err_protos.h =================================================================== --- xfsprogs-dev.orig/repair/err_protos.h 2011-04-22 12:45:25.018475622 +0200 +++ xfsprogs-dev/repair/err_protos.h 2011-04-22 12:47:22.014508467 +0200 @@ -17,10 +17,14 @@ */ /* abort, internal error */ -void __attribute__((noreturn)) do_abort(char const *, ...); +void __attribute__((noreturn)) do_abort(char const *, ...) + __attribute__((format(printf,1,2))); /* abort, system error */ -void __attribute__((noreturn)) do_error(char const *, ...); +void __attribute__((noreturn)) do_error(char const *, ...) + __attribute__((format(printf,1,2))); /* issue warning */ -void do_warn(char const *, ...); +void do_warn(char const *, ...) + __attribute__((format(printf,1,2))); /* issue log message */ -void do_log(char const *, ...); +void do_log(char const *, ...) + __attribute__((format(printf,1,2))); _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs