Subject: Re: [nfsv4] [pnfs] Disassociate filelayout_mount_type nfs4_pnfs_dev_hlist from superblock

From: Benny Halevy <[email-masked]>
Date: Mon, 15 Mar 2010 16:02:29 +0200

On Mar. 11, 2010, 23:21 +0200, "William A. (Andy) Adamson" <[email-masked]> wrote:
> Do we keep the current scope or expand it to client ID? I vote expand
> to client ID scope.
> 
> The current scope of the Linux client file layout device ID cache and
> data server cache is per mounted file system via the pnfs_mountid
> pointer (struct filelayout_mount_type *) in struct nfs_server.
> 
> RFC 5661 section 12.2.10.  Device IDs
> 
>    The device ID (data type deviceid4, see Section 3.3.14) identifies a
>    group of storage devices.  The scope of a device ID is the pair
>    <client ID, layout type>.
> 
> 
> Keep current per file system scope:
> - no code change
> - could end up with multiple sessions to the same data server if a
> data server is shared between two pNFS file systems serviced by the
> same MDS
> - <any thing else positive  or negative ?>
> 
> Change to client ID:
> - code change
> - share device ID between file systems
> - share data servers between file systems [guarantee one session per
> data server]
> - <any thing else positive  or negative ?>

This design also seems to be be easier with regards to keeping a reference
on device_ids where we can keep deviceid's around indefinitely, until umount
and/or evict them based on memory constraints using an lru list and only get
a refcount on a device while in use by a layout (exactly where we get/put a
layout segment today).

Benny

> 
> -->Andy
> _______________________________________________
> pNFS mailing list
> [email-masked]
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs