File remove problem
Matthew D. Fuller
fullermd at over-yonder.net
Fri Nov 30 09:44:33 PST 2007
On Fri, Nov 30, 2007 at 05:00:21PM +1100 I heard the voice of
Bruce Evans, and lo! it spake thus:
>
> Oops, this is missing a rm, and doesn't work with it.
Yes, I haven't been able to reliably reproduce it without rm'ing
stuff; mtree just gave me a nice easy way to make a bunch of stuff for
testing. I mostly saw it with /usr/ports, which I keep mounted r/o
except when building (which means the last thing before remounting is
generally rm'ing a big tree). It has happened with / too, where I'd
remount to edit something in /etc, but vim may do a rename() of a temp
file instead of editing in place, so maybe it's still removing an
inode.
Last year, it used to not cause the softdep_waitidle messages and
prevent the fs from being remounted. Instead, it would give an error
like:
hostname kernel: /: update error: blocks 28 files 2
and WOULD remount it, and even set the clean flag, but would still
leave turds lying around that would need a manual fsck to clean up
(fsck -p obviously would completely skip it, since it was marked
clean). It was early this year that it moved from that annoying to
the "locked fs" crippling variant. (n.b.: I don't have any real
evidence that it's a mutation of the same problem, rather than two
different ones, aside from the trigger condition apparently being the
same, and the newer completely replacing the older.)
> It takes a reboot per test.
Yah :(
I've been retrying it every few months post-upgrade, when I could just
reboot the mess away. And otherwise just being very careful to sync a
bunch of times, and wait a few minutes before `mount -u -oro`ing
stuff. Rather a pain.
--
Matthew Fuller (MF4839) | fullermd at over-yonder.net
Systems/Network Administrator | http://www.over-yonder.net/~fullermd/
On the Internet, nobody can hear you scream.
More information about the freebsd-fs
mailing list