Re: 2.4.14 still not making fs dirty when it should

Andrew Morton (akpm@zip.com.au)
Thu, 29 Nov 2001 12:41:16 -0800


Mike Castle wrote:
>
> On Thu, Nov 29, 2001 at 12:22:49PM -0800, Andrew Morton wrote:
> > What happens is that the superblock is altered in-memory
> > to say "the filesystem needs checking", but it's not written
> > out to disk.
> >
> > So other things can come in, alter the fs, get written out *before*
> > the superblock and then you crash. fsck won't be run, and the
> > filesystem is left in an inconsistent state.
>
> Ok. I could see this being a bad thing.
>
> I could also see the easiest thing to implement would be updating the super
> block on mount.
>
> However, is this a case where Linux tries not to update the superblock
> about being dirty until something has actually changed (ie, be slightly
> smarter), and that's not working, or is the superblock simply not being
> updated on mount?

Linux alters the superblock contents and marks it as needing
writeback immediately, upon mount. But the write to disk
doesn't actually happen for up to thirty seconds. We need to
write it to disk immediately, within mount, as soon as we've
set it to say "needs fsck".
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/