Date: Wed, 1 Dec 2010 12:00:08 +0100 From: Peter Holm <pho@freebsd.org> To: Garrett Cooper <yanegomi@gmail.com> Cc: Marshall Kirk McKusick <mckusick@mckusick.com>, Kostik Belousov <kostikbel@gmail.com>, current@freebsd.org Subject: Re: How a full fsck screwed up my SU+J filesystem Message-ID: <20101201110008.GA50719@x2.osted.lan> In-Reply-To: <1FA8A18C-9350-4C2D-B034-768566ACB718@gmail.com> References: <1FA8A18C-9350-4C2D-B034-768566ACB718@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 01, 2010 at 01:28:06AM -0800, Garrett Cooper wrote: > So... I was doing a portmaster -af today because vlc stopped playing audio (for some reason ... I kind of went on a pkg_cutleaves rampage and probably deinstalled too much stuff), and the machine hardlocked during an upgrade. I did a soft reboot and saw messages along the lines of "your journal and filesystem mount time mismatched; running a full fsck". I figured "ok, sure..." and let it do it's thing. Problem was that it pruned a lot of stuff from my /usr partition -- including the .sujournal !!! So now it's stuck at Mounting local file systems: stating: > > Failed to find journal. Use tunefs to create one > Failed to start journal: 2 > > (I assume the 2 means ENOENT). All of the above were printf(9)'s from the kernel. > Now the machine won't continue in multiuser mode (doesn't respond to interrupts, no panic, etc). Going into ddb, I don't see anything in info_threads (just a bunch of references to sched_switch, a few to fork_trampoline, cpustop_handler, and kdb_enter). I'm going to try and massage the machine back to life from single user mode, but the fact that this died in this way (i.e. .sujournal getting nuked by a full fsck) is a bit disheartening for SU+J :(... It would be nice if at least the fsck aborted before going and nuking the journal :/... (or at the very least if the file wasn't removable -- i.e. SF_NOUNLINK). > Here's to hoping I can resuscitate the filesystem... > Thanks, > -Garrett_______________________________________________ Thank you for reporting this. I was able to reproduce the problem by: tunefs -j enable /dev/md5a mount /dev/md5a /mnt chflags 0 /mnt/.sujournal rm -f /mnt/.sujournal umount /mnt mount /dev/md5a /mnt The mount(1) is now stuck in mntref. http://people.freebsd.org/~pho/stress/log/kostik404.txt A sequence of "tunefs -j disable" + "tunefs -j enable" should get you going. -- Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101201110008.GA50719>