Re: [PATCH 3/7] NFS: Consistent arguments to nfs_fscache_get_super_cookie()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2012-04-30 at 14:40 -0400, bjschuma@xxxxxxxxxx wrote:
> From: Bryan Schumaker <bjschuma@xxxxxxxxxx>
> 
> I intend on creating a single nfs_fs_mount() function used by all our
> mount paths.  To avoid checking between new mounts and clone mounts, I
> instead pass both structures to the get_super_cookie() function and let
> this function decide the best way to handle the situation.
> 
> Signed-off-by: Bryan Schumaker <bjschuma@xxxxxxxxxx>
> ---
>  fs/nfs/fscache.c |   13 ++++++++-----
>  fs/nfs/fscache.h |    2 +-
>  fs/nfs/super.c   |    4 ++--
>  3 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c
> index ae65c16..35411f8 100644
> --- a/fs/nfs/fscache.c
> +++ b/fs/nfs/fscache.c
> @@ -64,18 +64,21 @@ void nfs_fscache_release_client_cookie(struct nfs_client *clp)
>   * either by the 'fsc=xxx' option to mount, or by inheriting it from the parent
>   * superblock across an automount point of some nature.
>   */
> -void nfs_fscache_get_super_cookie(struct super_block *sb, const char *uniq,
> -				  struct nfs_clone_mount *mntdata)
> +void nfs_fscache_get_super_cookie(struct super_block *sb,
> +				  struct nfs_parsed_mount_data *parsed,
> +				  struct nfs_clone_mount *cloned)
>  {
>  	struct nfs_fscache_key *key, *xkey;
>  	struct nfs_server *nfss = NFS_SB(sb);
>  	struct rb_node **p, *parent;
> +	char *uniq = NULL;
>  	int diff, ulen;
>  
> -	if (uniq) {
> +	if (parsed && parsed->fscache_uniq) {
> +		uniq = parsed->fscache_uniq;
>  		ulen = strlen(uniq);
> -	} else if (mntdata) {
> -		struct nfs_server *mnt_s = NFS_SB(mntdata->sb);
> +	} else if (cloned) {
> +		struct nfs_server *mnt_s = NFS_SB(cloned->sb);

Instead of passing in the whole nfs_clone_mount structure here, just in
order to extract the uniquifier, why not pass in the struct
nfs_fscache_key from cloned->sb?



-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux