Nick Piggin wrote:
>
> Andrew Morton wrote:
>
> >In 2.4.20-pre5 an optimisation was made to the ext3 fsync function
> >which can very easily cause file data corruption at unmount time. This
> >was first reported by Nick Piggin on November 29th (one day after 2.4.20 was
> >released, and three months after the bug was merged. Unfortunate timing)
> >
> In fact it was reported on lkml on 18th July IIRC before 2.4.19 was
> released if that is any help to you. 2.4.19 and 2.4.20 are affected
> and I haven't tested previous releases. I was going to re-report it
> sometime, but Alan brought it to light just the other day.
>
Are you sure? I can't make it happen on 2.4.19. And disabling the new
BH_Freed logic (which went into 2.4.20-pre5) makes it go away.
--- linux-akpm/fs/jbd/commit.c~a Sun Dec 1 23:10:12 2002
+++ linux-akpm-akpm/fs/jbd/commit.c Sun Dec 1 23:10:27 2002
@@ -695,7 +695,7 @@ skip_commit: /* The journal should be un
* use in a different page. */
if (__buffer_state(bh, Freed)) {
clear_bit(BH_Freed, &bh->b_state);
- clear_bit(BH_JBDDirty, &bh->b_state);
+// clear_bit(BH_JBDDirty, &bh->b_state);
}
if (buffer_jdirty(bh)) {
_