[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1165857512.3752.1032.camel@quoit.chygwyn.com>
Date: Mon, 11 Dec 2006 17:18:32 +0000
From: Steven Whitehouse <swhiteho@...hat.com>
To: Nick Piggin <nickpiggin@...oo.com.au>
Cc: Andrew Morton <akpm@...gle.com>,
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-fsdevel@...r.kernel.org,
Linux Memory Management <linux-mm@...ck.org>,
Mark Fasheh <mark.fasheh@...cle.com>
Subject: Re: Status of buffered write path (deadlock fixes)
Hi,
On Tue, 2006-12-12 at 03:39 +1100, Nick Piggin wrote:
> Steven Whitehouse wrote:
>
> >>Hmm, doesn't look like we can do this either because at least GFS2
> >>uses BH_New for its own special things.
> >>
> >
> > What makes you say that? As far as I know we are not doing anything we
> > shouldn't with this flag, and if we are, then I'm quite happy to
> > consider fixing it up so that we don't,
>
> Bad wording. Many other filesystems seem to only make use of buffer_new
> between prepare and commit_write.
>
> gfs2 seems to at least test it in a lot of places, so it is hard to know
> whether we can change the current semantics or not. I didn't mean that
> gfs2 is doing anything wrong.
>
> So can we clear it in commit_write?
>
Are you perhaps looking at an older copy of the GFS2 code? We set it (or
clear it) in bmap.c:gfs2_block_map() as appropriate. It also seems to be
cleared when we release buffers (which may or may not be actually
required. I suspect not, but its harmless anyway). There is only one
test that I can find for it which is in bmap.c:gfs2_extent_map() where
its value is then later ignored in the only caller relevant to "normal"
files, which is ops_vm.c:alloc_page_backing(). So I think you should be
quite safe to clear it in commit_write().
Steve.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists