From: Theodore Tso <tytso@mit.edu>
To: Mike Snitzer <snitzer@gmail.com>
Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
linux-kernel@vger.kernel.org, Nick Piggin <npiggin@suse.de>,
Kirill Korotaev <dev@openvz.org>
Subject: Re: potential regression in ext[34] call to __page_symlink()?
Date: Tue, 28 Oct 2008 22:40:48 -0400 [thread overview]
Message-ID: <20081029024048.GB3766@mit.edu> (raw)
In-Reply-To: <170fa0d20810281711s2a508ed2o1af0db30733e8d2d@mail.gmail.com>
On Tue, Oct 28, 2008 at 08:11:48PM -0400, Mike Snitzer wrote:
> The gfp_mask that is passed to __page_symlink() is being completely
> dropped on the floor. Historically this mask was at least used by
> ext3 and ext4 to avoid recursing back into the FS from within a
> journal transaction; Kirill fixed that issue with this commit:
> 0adb25d2e71ab047423d6fc63d5d184590d0a66f
>
> I'm quite naive when it comes to Nick's relatively new (>= 2.6.24) AOP
> pagecache_write_{begin,end} code that motivated __page_symlink to
> change with this commit:
> afddba49d18f346e5cc2938b6ed7c512db18ca68
>
> Nick's change clearly did away with using the explicitly passed
> gfp_mask in __page_symlink().
> So at a minimum it would seem __page_symlink() now has an unused
> parameter that should be removed.
>
> But a more serious concern would be: have ext[34]_symlink() regressed
> to being susceptible to the bug that Kirill fixed some time ago?
Yeah, I think this would be a potential problem for ext3/4. Looks
like pagemap_write_begin() should take a gfp_mask argument, and then
pass it down through to __grab_cache_page(), which should then call
__page_cache_alloc() instead of _page_cache_alloc(). Then
__page_symlink() can actually pass in its gfp_mask to
pagemap_write_begin().
Nick, do you agree?
- Ted
next prev parent reply other threads:[~2008-10-29 2:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-29 0:11 potential regression in ext[34] call to __page_symlink()? Mike Snitzer
2008-10-29 2:40 ` Theodore Tso [this message]
2008-10-29 3:25 ` Nick Piggin
2008-10-29 15:40 ` Theodore Tso
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=20081029024048.GB3766@mit.edu \
--to=tytso@mit.edu \
--cc=dev@openvz.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=npiggin@suse.de \
--cc=snitzer@gmail.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.