On Mon, Sep 03, 2007 at 01:00:15PM +0100, Grzegorz Jaśkiewicz wrote: > On 9/3/07, Rob Mueller <robm@xxxxxxxxxxx> wrote: > > This is linux 2.6.20.11 with one patch applied to work around this bug > > http://lists.linuxcoding.com/kernel/2006-q1/msg32508.html, the patch is: > > > > ----- > > --- linux/fs/reiserfs/file.c 2006-11-29 16:57:37.000000000 -0500 > > +++ linux-syncwrite/fs/reiserfs/file.c 2007-02-02 01:01:36.000000000 -0500 > > @@ -1358,6 +1358,8 @@ > > return result; > > } > > > > + return do_sync_write(file, buf, count, ppos); > > + > > if (unlikely((ssize_t) count < 0)) > > return -EINVAL; > > that's the dead code than, because you put return upfront. this ain't > any fix, problem probably lies somewhere else - and is exposed by > 'unlikely()' function. Hmm - that's not what Vladamir said on 2 Feb. It wasn't posted anywhere I can find a public archive, but here's the important bit: ========================= From: "Vladimir V. Saveliev" <vs@xxxxxxxxxxx> Subject: Re: Reiserfs and MMAP (was: How many people are using 2.6.16?) Cc: reiserfs-dev@xxxxxxxxxxx To: Bron Gondwana <brong@xxxxxxxxxxx> Hello On Wednesday 31 January 2007 13:42, Bron Gondwana wrote: > On Wed, Jan 31, 2007 at 08:02:37AM +0100, Adrian Bunk wrote: > [ snip stuff about reiserfs changes ] > > Referring back to: <43BE1EDF.3010305@xxxxxxxxxxx> (which went > to reiserfs-dev and a couple of the ever-growing CC list above) > we're still not 100% sure if it's safe to remove the patch that > I attached there: > > >>>>--- file.c~ 2004-10-02 12:29:33.223660850 +0400 > >>>>+++ file.c 2004-10-08 10:03:03.001561661 +0400 > >>>>@@ -1137,6 +1137,8 @@ > >>>>return result; > >>>> } > >>>> > >>>>+ return generic_file_write(file, buf, count, ppos); > >>>>+ > >>>> if ( unlikely((ssize_t) count < 0 )) > >>>> return -EINVAL; > > which Hans asserted was about 5% slower than the resierfs custom > write implementation, but we countered at least meant that we > didn't crash in a steaming pile of processes stuck in D state > with no way out every few days. > > It doesn't apply against 2.6.19 any more, use do_sync_write instead of generic_file_write. This patch is needed, custom reiserfs write may deadlock writing process ========================= Which looks to me like we should have the same return statement except with do_sync_write as the new function name. Did we misinterpret? Does anyone have a better solution? Steaming piles of processes in D state are much less our friend than occasional stack traces in dmesg. Thanks, Bron. - To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html