Re: Kernel bug: Bad page state: related to generic symlink code and mmap

Christoph Hellwig
2005-08-19T18:00:45Z

On Fri, Aug 19, 2005 at 07:02:18PM +0100, Al Viro wrote:
> On Fri, Aug 19, 2005 at 05:53:32PM +0100, Al Viro wrote:
> > 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...
>
> [something like this - completely untested]
>
> * stray_page_get_link(inode, filler) - returns ERR_PTR(error) or pointer
> to symlink body. Said symlink body sits in a page at offset equal to
> offsetof(page, struct stray_page_link). filler() is expected to put it
> at such offset. Page is cached.
>
> * stray_page_put_link() - ->put_link() suitable for links obtained from
> stray_page_get_link(). Unlike the usual pagecache-based variants, this
> sucker does _not_ rely on page staying cached.
>
> * nfs and ncpfs switched to the helpers above.

Can you add some kerneldoc comments to describe them? Especially as
the name is not very descriptive.