Re: xfs_repair crashing (versions 3.1.4 and 3.1.5)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux