From: Dave Chinner <david@fromorbit.com>
To: Marc Lehmann <schmorp@schmorp.de>
Cc: xfs@oss.sgi.com
Subject: Re: xfs_repair 3.1.4/3.1.5: fatal error -- couldn't malloc dir2 buffer data
Date: Mon, 8 Aug 2011 10:29:46 +1000 [thread overview]
Message-ID: <20110808002946.GK3162@dastard> (raw)
In-Reply-To: <20110806233913.GH3162@dastard>
On Sun, Aug 07, 2011 at 09:39:13AM +1000, Dave Chinner wrote:
> On Sat, Aug 06, 2011 at 07:54:28PM +0200, Marc Lehmann wrote:
> > On Sun, Aug 07, 2011 at 12:12:41AM +1000, Dave Chinner <david@fromorbit.com> wrote:
> > > > this is 3.1.5 - 3.1.4 simply segfaults. using ltrace shows this as
> > > > last call to malloc:
> > > >
> > > > malloc(18446744073708732928) = NULL
> > > >
> > > > I think thats a bit unreasonable of xfs_repair :)
> > >
> > > Can you share a metadump of the image in question?
> >
> > I can, but unfortunately, it's fixed itself in the meantime:
> >
> > I wanted to make a copy of the image, and mounted it read-write. I stat'ed
> > all files inside (which worked) and then rsynced all files out.
> >
> > Then I unmounmted it and re-ran xfs_repair
> > (http://ue.tst.eu/3cbc07150eb6b69c63361937c6c3044f.txt) which got much
> > farther, but failed with the same error.
>
> Looks lke corrupt directory blocks are causing it.
>
> > Then I re-ran xfs_repair one last time, which ran through without any "error"
> > messages.
> >
> > An xfs_metadata -o is here (gzipped):
> > http://data.plan9.de/smoker-chroot.bin.gz
>
> I'll have a look at it.
$ sudo xfs_repair -V -f /vm-images/busted.img
xfs_repair version 3.1.5
$ sudo xfs_repair -f /vm-images/busted.img
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
- agno = 10
- agno = 11
- agno = 12
- agno = 13
- agno = 14
- agno = 15
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 11
- agno = 1
- agno = 3
- agno = 2
- agno = 4
- agno = 10
- agno = 7
- agno = 5
- agno = 6
- agno = 8
- agno = 9
- agno = 12
- agno = 13
- agno = 15
- agno = 14
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
$
Yup, there's nothing wrong with the filesystem in the image you
posted.
I need an image of the broken filesystem to be able to find the bug
in xfs_repair. Next time it breaks, can you post the image of the
broken fs? i.e. run xfs_repair -n first to see if it will fail
without trying to repair the corruption it encounters, then take a
metadump before really trying to repair the problem...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2011-08-08 0:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-06 12:17 xfs_repair 3.1.4/3.1.5: fatal error -- couldn't malloc dir2 buffer data Marc Lehmann
2011-08-06 14:12 ` Dave Chinner
2011-08-06 17:54 ` Marc Lehmann
2011-08-06 23:39 ` Dave Chinner
2011-08-08 0:29 ` Dave Chinner [this message]
2011-08-08 17:49 ` Marc Lehmann
2011-08-08 23:45 ` Dave Chinner
2011-08-06 17:27 ` Roger Willcocks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110808002946.GK3162@dastard \
--to=david@fromorbit.com \
--cc=schmorp@schmorp.de \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox