Re: [patch] fix the ext3 data=journal unmount bug

Andrew Morton (akpm@digeo.com)
Fri, 06 Dec 2002 11:12:30 -0800


Chris Mason wrote:
>
> On Fri, 2002-12-06 at 00:52, Andrew Morton wrote:
> >
> >
> > This patch fixes the data loss which can occur when unmounting a
> > data=journal ext3 filesystem.
> >
> > The core problem is that the VFS doesn't tell the filesystem enough
> > about what is happening. ext3 _needs_ to know the difference between
> > regular memory-cleansing writeback and sync-for-data-integrity
> > purposes.
> >
>
> What happens when the user does a sync() immediately after kupdate
> trigger a write_super?
>
> Since ext3_write_super just clears s_dirt, I don't see how sync_fs()
> will get called.
>

It won't. There isn't really a sane way of doing this properly unless
we do something like:

1) Add a new flag to the superblock
2) Set that flag against all r/w superblocks before starting the sync
3) Use that flag inside the superblock walk.

That would provide a reasonable solution, but I don't believe we
need to go to those lengths in 2.4, do you?
-
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/