From: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Anton Altaparmakov <aia21@cam.ac.uk>,
vandrove@vc.cvut.cz, Andrew Morton <akpm@osdl.org>,
linware@sh.cvut.cz, fsdevel <linux-fsdevel@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: Kernel bug: Bad page state: related to generic symlink code and mmap
Date: Fri, 19 Aug 2005 17:53:32 +0100 [thread overview]
Message-ID: <20050819165332.GD29811@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <Pine.LNX.4.58.0508190934470.3412@g5.osdl.org>
On Fri, Aug 19, 2005 at 09:43:17AM -0700, Linus Torvalds wrote:
> Actually, looking at the ncpfs patch, I'd rather not apply that patch
> as-is. It looks like it will totally disable symlink caching, which would
> be kind of sad. Somebody willing to do the same thing NFS does?
>
> NFS hides away the "struct page *" pointer at the end of the page data, so
> that when we pass the pointer to the virtual address around, we can
> trivially look up the "struct page".
>
> An alternative is to make the symlink address-space use a gfp_mask of
> GFP_KERNEL (no highmem), at which point ncpfs_put_link() just becomes
> something like
>
> void ncpfs_put_link(struct dentry *dentry, struct nameidata *nd)
> {
> char *addr = nd_get_link(nd);
>
> if (!IS_ERR(addr))
> page_cache_release(virt_to_page(addr));
> }
>
> which is pretty ugly, but even simpler than the NFS trick.
>
> Anybody?
I'm taking NFS helpers to libfs.c and switching ncpfs to them. IMO that's
better than copying the damn thing and other network filesystems might have
the same needs eventually...
next prev parent reply other threads:[~2005-08-19 16:50 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-19 11:14 Kernel bug: Bad page state: related to generic symlink code and mmap Anton Altaparmakov
2005-08-19 14:20 ` Al Viro
2005-08-19 15:44 ` Anton Altaparmakov
2005-08-19 15:58 ` Al Viro
2005-08-19 16:07 ` Linus Torvalds
2005-08-19 16:21 ` Al Viro
2005-08-19 16:21 ` Linus Torvalds
2005-08-19 16:43 ` Linus Torvalds
2005-08-19 16:53 ` Al Viro [this message]
2005-08-19 18:02 ` Al Viro
2005-08-19 18:00 ` Christoph Hellwig
2005-08-19 19:38 ` Al Viro
2005-08-19 19:41 ` Matthew Wilcox
2005-08-19 19:43 ` Al Viro
2005-08-19 21:19 ` Christoph Hellwig
2005-08-19 20:35 ` Linus Torvalds
2005-08-19 21:20 ` Anton Altaparmakov
2005-08-19 21:35 ` Linus Torvalds
2005-08-19 21:42 ` Al Viro
2005-08-19 19:16 ` Mika Penttilä
2005-08-19 19:40 ` Al Viro
2005-08-19 19:50 ` Mika Penttilä
2005-08-19 20:46 ` Anton Altaparmakov
2005-08-19 20:55 ` Linus Torvalds
2005-08-19 21:39 ` Anton Altaparmakov
2005-08-19 22:04 ` Linus Torvalds
2005-08-19 23:15 ` Al Viro
2005-08-19 23:17 ` Al Viro
2005-08-20 1:08 ` Linus Torvalds
2005-08-20 1:15 ` Al Viro
2005-08-20 12:49 ` Anton Altaparmakov
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=20050819165332.GD29811@parcelfarce.linux.theplanet.co.uk \
--to=viro@parcelfarce.linux.theplanet.co.uk \
--cc=aia21@cam.ac.uk \
--cc=akpm@osdl.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linware@sh.cvut.cz \
--cc=torvalds@osdl.org \
--cc=vandrove@vc.cvut.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox