Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Feb 1998 21:13:09 +0300
From:      Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        FreeBSD-current@FreeBSD.ORG
Subject:   Re: VM: Process hangs sleeping on vmpfw 
Message-ID:  <199802281813.VAA02290@tejblum.dnttm.rssi.ru>
In-Reply-To: Your message of "Sat, 28 Feb 1998 06:23:38 GMT." <199802280623.XAA21476@usr05.primenet.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
 
> Check your dmesg/messages log for the following message:
> 
> 	vnode_pager: *** WARNING *** stale FS code in system.
> 
> If you have gotten this message, it means that you are trying to page
> out to an FS that has stale code (ie: a local media FS that does not
> support VOP_PUTPAGES).  

In fact, this mean that you are trying to _page in from_ FS that was 
recently broken (i.e. local media FS that does not support 
VOP_GETPAGES). vnode_pager_putpages does not check for EOPNOTSUPP.
I thought it is job of the submitter/committer to find all places 
broken by the changes and fix them. Here is a (partial?) list of broken 
filesystems: NFS, CD9660, EXT2FS, MSDOSFS.

> The FS needs corrected, so if you can identify
> which one it is, I can do a patch for you (it's pretty easy to make
> a VOP_{GET|PUT}PAGES to use the legacy code, but it must be explicitly
> used; doing this will [later] enable user space FS module developement
> to be stacked on top.  

Well, I don't know what do you need for user space FS module 
development, but I still believe that you introduced lot of unnecessary 
complexity.

First, why default/standard/generic getpages/putpages routines does not 
have interface of VOP_GETPAGES/VOP_PUTPAGES vnode operations? It would be 
easier for a filesystem to just add some entries to their operations 
tables than also cut&paste implementation (even trivial) of these 
operations from ffs. 

Second, why don't put the operations to default_vnodeop_entries? It is 
used exactly by local media filesystems. Stacking layers use bypass 
routines instead (unionfs is an exception). So, filesystems even would 
not notice this change, until they really want their own implementation 
of getpages/putpages

What is wrong in the above?

I can send a patch for you... It is indeed pretty easy...

Dima



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802281813.VAA02290>