lkml.org 
[lkml]   [2002]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: data corrupting bug in 2.4.20 ext3, data=journal
Andrew Morton wrote:

>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)) {
>
I reported the bug for 2.4.19-rc1 and 2 but I can't remember if I tested
2.4.19
when it was released. It has an external journal on a seperate disk. I can't
really do any testing with the machine unfortunately.

Regards,
Nick

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.063 / U:0.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site