Nicolas Williams wrote:
> On Mon, Jul 28, 2008 at 01:31:51PM -0700, Garrett D'Amore wrote:
>   
>> I confess that I didn't realize we lacked client side caching in our 
>> NFSv4.  I thought client side caching was one of the significant 
>> benefits that NFSv4 brought to the table (mainly to compete with the 
>> likes of AFS and DFS).
>>     
>
> Let's be precise.  The NFSv4 client caches plenty, just not on long-term
> local storage (which is what cachefs was for).
>   
How much data is cached  by NFSv4?   With cachefs you could set up 
fairly large (100's or 1000's of MB) local cache, so for data that 
didn't change often you almost never had to go to the network for 
anything (other than a stat()-like check.)

Its a shame to lose the entire cache on a reboot, but potentially this 
might be acceptable for some use cases.  (For others, its clearly 
inferior -- think of the mobile laptop that gets powered off 
frequently.... or even the power conscious desktop user.  Even 
Suspend-to-RAM requires some power, and we don't have universal support 
for it everywhere.)


>   
>> If we don't have client side caching in NFSv4, then I too worry that the 
>> loss of functionality will leave us with a potentially significant 
>> architectural hole.
>>     
>
> It's a small gap.
>
> I think where it really matters one might use ZFS with iSCSI vdevs and a
> local L2ARC device.
>   

An interesting idea.   I am not too familiar with iSCSI, but don't you 
need an iSCSI target?  I'm not sure, is iSCSI seeing deployment outside 
of the data center?  (NFS is designed to support concurrent network use 
and reasonably handles multiple "intiators".  How does iSCSI deal with 
such a situation?)

I'd be happy to see a whitepaper or some kind of transition document 
with the case, describing (ideally in terms a customer should be able to 
understand) how to transition from cachefs to some other strategy 
(iSCSI, NFSv4, whatever).  I don't know how to make the same 
functionality (NFS like) work with iSCSI, but I'll chalk that up to my 
own ignorance rather than any deficiency in iSCSI.

It would be nice to see a commitment to closing any remaining gap as 
much as possible, perhaps by further development of NFSv4 -- as others 
have suggested.

As a final note, I do recall that cachefs was supposed to be generic for 
things like cdroms, etc.  I do agree with the proposal that cachefs like 
behavior for anything *other than NFS* is probably not terribly interesting.

    -- Garrett


Reply via email to