From: Alex Zarochentsev <zam@namesys.com>
To: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, reiserfs-dev@namesys.com
Subject: Re: 2.6.8.1-mm2
Date: Mon, 23 Aug 2004 01:32:00 +0400 [thread overview]
Message-ID: <20040822213200.GD5154@backtop.namesys.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0408201753250.4192-100000@chimarrao.boston.redhat.com>
On Fri, Aug 20, 2004 at 06:43:28PM -0400, Rik van Riel wrote:
> On Thu, 19 Aug 2004, Andrew Morton wrote:
>
> > - Added the reiser4 filesystem.
>
> Time for a quick scan through the code, comments in order in which
> I ran into stuff, not in order of importance.
>
> > reiser4-include-reiser4.patch
>
> Might be an idea to trim some of the excess text from the help
> entry and make things a bit more professional.
>
> > reiser4-perthread-pages.patch
>
> If a task exits unexpectedly, it will leak the reserved pages.
> This memory leak wants fixing...
Actually reiser4 does care of releasing all reserved pages before
leaving kernel context.
Would it be enough to just add a check/pages_release into do_exit() under
something like CONFIG_PERTHREAD_RESERVED_PAGES_DEBUG?
>
> Also, why the !in_interrupt() test in perthread_pages_alloc() ?
> Surely this function shouldn't be called from interrupts, since
> it is a general purpose pool of pages.
>
> > reiser4-radix-tree-tag.patch
>
> Just a nitpick here, could we rename PAGECACHE_TAG_FS_SPECIFIC
> to PAGECACHE_TAG_FS_PRIVATE, since we're using the name "private"
> in half a number of other places for the exact same purpose ?
>
> > reiser4-radix_tree_lookup_slot.patch
>
> Having reiserfs dig into the radix tree looks like a layering
> violation to me. If there is a real need to replace pagecache
> pages with other pages in the radix tree, maybe we should have
> a function to do that in the pagecache code, leaving reiserfs
> to call things at the right abstraction level ?
Reiser4 uses common radix tree impl. for indexing own objects (jnodes, readdir
cursors), not pages.
> I see a potential for race conditions when reiserfs changes a
> page which write has just looked up, and what about mmap?
> Even if the code is safe now, this is bound to result in a
> maintenance nightmare down the road.
>
> > reiser4-truncate_inode_pages_range.patch
>
> This has the same race issue as any of the "hole punch"
> patches that have been floating around in the past. The
> truncate path has some (subtle!) race prevention that
> depends on the nopage functions not searching past i_size,
> but this hole punch code doesn't.
There is an reiser4 inode r/w semaphore which is taken in both reiser4 ->nopage
(unix_file_filemap_nopage) -- for read and in the code with calls
truncate_inode_pages_range() -- for write. There should be no races.
>
> I am not convinced this is SMP safe.
>
> cheers,
>
> Rik
> --
> "Debugging is twice as hard as writing the code in the first place.
> Therefore, if you write the code as cleverly as possible, you are,
> by definition, not smart enough to debug it." - Brian W. Kernighan
>
Thanks,
Alex.
prev parent reply other threads:[~2004-08-22 21:39 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-19 8:42 2.6.8.1-mm2 Andrew Morton
2004-08-19 9:10 ` 2.6.8.1-mm2 Ryan Cumming
2004-08-19 9:35 ` 2.6.8.1-mm2 Chris Wedgwood
2004-08-23 21:25 ` 2.6.8.1-mm2 Adrian Bunk
2004-08-25 18:32 ` 2.6.8.1-mm2 Bill Davidsen
2004-08-19 9:12 ` 2.6.8.1-mm2 Dipankar Sarma
2004-08-19 9:39 ` aliased directories, was 2.6.8.1-mm2 Christoph Hellwig
2004-08-19 9:43 ` 2.6.8.1-mm2 Christoph Hellwig
2004-08-19 11:36 ` 2.6.8.1-mm2 Gene Heskett
2004-08-19 12:29 ` [PATCH] 2.6.8.1-mm2 --- UML build fixes Chris Wedgwood
2004-08-19 20:55 ` Sam Ravnborg
2004-08-19 21:19 ` Jeff Dike
2004-08-19 22:32 ` Sam Ravnborg
2004-08-19 14:43 ` 2.6.8.1-mm2 Michael Geithe
2004-08-19 14:52 ` 2.6.8.1-mm2 John Cherry
2004-08-19 14:29 ` 2.6.8.1-mm2 Alan Cox
2004-08-20 7:06 ` 2.6.8.1-mm2 Hans Reiser
2004-08-20 7:16 ` 2.6.8.1-mm2 Andrew Morton
2004-08-20 7:37 ` 2.6.8.1-mm2 Hans Reiser
2004-08-20 13:53 ` 2.6.8.1-mm2 Alex Zarochentsev
2004-08-20 18:05 ` 2.6.8.1-mm2 Hans Reiser
[not found] ` <200408191245.46726.gene.heskett@verizon.net>
[not found] ` <20040819182752.GA3024@viasys.com>
2004-08-19 19:17 ` 2.6.8.1-mm2 Gene Heskett
2004-08-20 1:51 ` 2.6.8.1-mm2 Gene Heskett
2004-08-20 0:50 ` 2.6.8.1-mm2 Marcelo Tosatti
2004-08-20 6:08 ` 2.6.8.1-mm2 Andrew Morton
2004-08-20 9:11 ` 2.6.8.1-mm2 Antonino A. Daplas
2004-08-20 16:20 ` Kronos
2004-08-20 1:08 ` 2.6.8.1-mm2 Nathan Lynch
2004-08-20 1:16 ` 2.6.8.1-mm2 Andrew Morton
2004-08-20 7:40 ` 2.6.8.1-mm2 Rusty Russell
2004-08-20 8:14 ` 2.6.8.1-mm2 Ingo Molnar
2004-08-20 8:29 ` 2.6.8.1-mm2 Srivatsa Vaddagiri
2004-08-20 8:59 ` 2.6.8.1-mm2 Ingo Molnar
2004-08-20 9:03 ` 2.6.8.1-mm2 Ingo Molnar
2004-08-21 7:51 ` 2.6.8.1-mm2 Rusty Russell
2004-08-20 8:33 ` 2.6.8.1-mm2 Ingo Molnar
2004-08-20 21:35 ` 2.6.8.1-mm2 Andrew Morton
2004-08-20 22:12 ` 2.6.8.1-mm2 Nathan Lynch
2004-08-20 6:17 ` 2.6.8.1-mm2 Srivatsa Vaddagiri
2004-08-20 6:59 ` 2.6.8.1-mm2 Paul Mackerras
2004-08-20 8:21 ` 2.6.8.1-mm2 ismail dönmez
2004-08-20 22:43 ` 2.6.8.1-mm2 Rik van Riel
2004-08-20 23:05 ` 2.6.8.1-mm2 - reiser4 Rik van Riel
2004-08-20 23:15 ` William Lee Irwin III
2004-08-20 23:20 ` Anton Blanchard
2004-08-20 23:34 ` Andrew Morton
2004-08-21 0:12 ` Rik van Riel
2004-08-21 6:24 ` Hans Reiser
2004-08-21 0:15 ` Rik van Riel
2004-08-21 8:57 ` Hans Reiser
2004-08-21 7:30 ` 2.6.8.1-mm2 Hans Reiser
2004-08-22 21:32 ` Alex Zarochentsev [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040822213200.GD5154@backtop.namesys.com \
--to=zam@namesys.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=reiserfs-dev@namesys.com \
--cc=riel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.