All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <bharrosh@panasas.com>
To: andros@netapp.com
Cc: bhalevy@panasas.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 06/13] SQUASHME pnfs_submit: remove uninitialize_mountpoint
Date: Thu, 29 Apr 2010 19:27:07 +0300	[thread overview]
Message-ID: <4BD9B35B.702@panasas.com> (raw)
In-Reply-To: <1272493465-3398-7-git-send-email-andros@netapp.com>

On 04/29/2010 01:24 AM, andros@netapp.com wrote:
> From: Andy Adamson <andros@netapp.com>
> 
> The layoutdriver_io_operations uninitialize_mountpoint function is used
> to free a layout driver specific device id cache.
> The device id cache is now shared and moved to struct nfs_client and can be
> removed in the generic unmount_pnfs_layoutdriver routine.
> 
> Signed-off-by: Andy Adamson <andros@netapp.com>

What ? no.

uninitialize_mountpoint is where the mountid private data is deallocated.
The one that was allocated at initialize_mountpoint.

Files layout might not currently have any, but we do and it will has well.
Any way what kind of API has initialize call and not an uninitialize call
Even if it's empty

NACK

> ---
>  fs/nfs/nfs4filelayout.c   |   18 ------------------
>  fs/nfs/pnfs.c             |   11 +++--------
>  include/linux/nfs4_pnfs.h |    1 -
>  3 files changed, 3 insertions(+), 27 deletions(-)
> 
> diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
> index 9e81195..8d6f685 100644
> --- a/fs/nfs/nfs4filelayout.c
> +++ b/fs/nfs/nfs4filelayout.c
> @@ -109,23 +109,6 @@ error_ret: ;
>  	return NULL;
>  }
>  
> -/* Uninitialize a mountpoint by destroying its device list.
> - */
> -int
> -filelayout_uninitialize_mountpoint(struct pnfs_mount_type *mountid)
> -{
> -	struct filelayout_mount_type *fl_mt = NULL;
> -
> -	dprintk("--> %s\n", __func__);
> -	if (mountid) {
> -		fl_mt = (struct filelayout_mount_type *)mountid->mountid;
> -		nfs4_put_deviceid_cache(NFS_SB(fl_mt->fl_sb)->nfs_client);
> -		kfree(fl_mt);
> -		kfree(mountid);
> -	}
> -	return 0;
> -}
> -
>  /* This function is used by the layout driver to calculate the
>   * offset of the file on the dserver based on whether the
>   * layout type is STRIPE_DENSE or STRIPE_SPARSE
> @@ -782,7 +765,6 @@ struct layoutdriver_io_operations filelayout_io_operations = {
>  	.alloc_lseg              = filelayout_alloc_lseg,
>  	.free_lseg               = filelayout_free_lseg,
>  	.initialize_mountpoint   = filelayout_initialize_mountpoint,
> -	.uninitialize_mountpoint = filelayout_uninitialize_mountpoint,
>  };
>  
>  struct layoutdriver_policy_operations filelayout_policy_operations = {
> diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
> index 83e8448..0e03259 100644
> --- a/fs/nfs/pnfs.c
> +++ b/fs/nfs/pnfs.c
> @@ -194,14 +194,9 @@ pnfs_update_last_write(struct nfs_inode *nfsi, loff_t offset, size_t extent)
>  void
>  unmount_pnfs_layoutdriver(struct super_block *sb)
>  {
> -	struct nfs_server *server = NFS_SB(sb);
> -	if (server->pnfs_curr_ld &&
> -	    server->pnfs_curr_ld->ld_io_ops &&
> -	    server->pnfs_curr_ld->ld_io_ops->uninitialize_mountpoint) {
> -		server->pnfs_curr_ld->ld_io_ops->uninitialize_mountpoint(
> -			server->pnfs_mountid);
> -		server->pnfs_mountid = NULL;
> -	    }
> +	if (NFS_SB(sb)->pnfs_curr_ld && NFS_SB(sb)->nfs_client->cl_devid_cache)
> +		nfs4_put_deviceid_cache(NFS_SB(sb)->nfs_client);
> +	NFS_SB(sb)->pnfs_curr_ld = NULL;
>  }
>  
>  /*
> diff --git a/include/linux/nfs4_pnfs.h b/include/linux/nfs4_pnfs.h
> index f0eddbd..4fdf87e 100644
> --- a/include/linux/nfs4_pnfs.h
> +++ b/include/linux/nfs4_pnfs.h
> @@ -182,7 +182,6 @@ struct layoutdriver_io_operations {
>  	/* Registration information for a new mounted file system
>  	 */
>  	struct pnfs_mount_type * (*initialize_mountpoint) (struct super_block *, struct nfs_fh *fh);
> -	int (*uninitialize_mountpoint) (struct pnfs_mount_type *mountid);
>  };
>  
>  enum layoutdriver_policy_flags {


  parent reply	other threads:[~2010-04-30 18:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-28 22:24 [PATCH 0/13] Remove non-file layout code from submit tree andros
2010-04-28 22:24 ` [PATCH 01/13] SQUASHME pnfs_submit: remove GETDEVICELIST andros
2010-04-28 22:24   ` [PATCH 02/13] SQUASHME pnfs_submit: remove CB_NOTIFY_DEVICEID andros
2010-04-28 22:24     ` [PATCH 03/13] SQUASHME pnfs_submit: remove pnfs_mount_type from alloc_layout andros
2010-04-28 22:24       ` [PATCH 04/13] SQUASHME pnfs_submit: remove get_blocksize policy operation andros
2010-04-28 22:24         ` [PATCH 05/13] SQUASHME pnfs_submit: remove ds_wsize, ds_rsize, ds_wpages and ds_rpages andros
2010-04-28 22:24           ` [PATCH 06/13] SQUASHME pnfs_submit: remove uninitialize_mountpoint andros
2010-04-28 22:24             ` [PATCH 07/13] SQUASHME pnfs_submit: remove struct pnfs_mount_type andros
2010-04-28 22:24               ` [PATCH 08/13] SQUASHME pnfs_submit: change initialize_mountpoint parameters andros
2010-04-28 22:24                 ` [PATCH 09/13] SQUASHME pnfs_submit: change nfs_fsino layoutclass name andros
2010-04-28 22:24                   ` [PATCH 10/13] SQUASHME pnfs_submit: remove pnfs_fs_ltype andros
2010-04-28 22:24                     ` [PATCH 11/13] SQUASHME pnfs_submit: remove layout_name andros
2010-04-28 22:24                       ` [PATCH 12/13] SQUASHME pnfs_submit: fall back to MDS on filelayout_commit error andros
2010-04-28 22:24                         ` [PATCH 13/13] SQUASHME pnfs_submit: cleanup nfs4_pnfs_ds_add andros
2010-04-29 16:28               ` [PATCH 07/13] SQUASHME pnfs_submit: remove struct pnfs_mount_type Boaz Harrosh
2010-04-29 16:27             ` Boaz Harrosh [this message]
2010-04-29 17:03               ` [PATCH 06/13] SQUASHME pnfs_submit: remove uninitialize_mountpoint Boaz Harrosh
2010-04-29 17:14                 ` Andy Adamson
2010-04-29 17:15                   ` Boaz Harrosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BD9B35B.702@panasas.com \
    --to=bharrosh@panasas.com \
    --cc=andros@netapp.com \
    --cc=bhalevy@panasas.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.