Re: [PATCH] SQUASHME: pnfs-submit: Use generic layout name to load layout modules

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

 



Merged for pnfs-all-2.6.35-2010-08-05. Thanks!

Benny

On Jul. 27, 2010, 4:10 +0300, Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx> wrote:
> Future NFSv4.x work will add several new layout types.  Use
> nfs-layouttype4-<number> in request_module() to allow current and future
> layout types to be loaded without requiring changes to the module loading
> code.
> 
> The kernel issues request_module(nfs4-layouttype4-<number>) which is
> then mapped to the actual module name in the modprobe aliases file.
> Something like:
>    alias nfs-layouttype4-1 nfs_layout_nfsv41_files
>    alias nfs-layouttype4-2 nfs_layout_osd2_objects
> 
> It can be turned off by commenting out the alias, or specifying it off.
> For example:
>    alias nfs-layouttype4-3 off
> 
> The module can still be loaded by hand using modprobe.
> 
> Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx>
> ---
>  fs/nfs/Makefile |    4 ++--
>  fs/nfs/pnfs.c   |   10 +---------
>  fs/nfs/pnfs.h   |    2 +-
>  3 files changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/fs/nfs/Makefile b/fs/nfs/Makefile
> index 6c218e7..4776ff9 100644
> --- a/fs/nfs/Makefile
> +++ b/fs/nfs/Makefile
> @@ -19,5 +19,5 @@ nfs-$(CONFIG_NFS_V4_1)	+= pnfs.o
>  nfs-$(CONFIG_SYSCTL) += sysctl.o
>  nfs-$(CONFIG_NFS_FSCACHE) += fscache.o fscache-index.o
>  
> -obj-$(CONFIG_PNFS_FILE_LAYOUT) += nfslayoutdriver.o
> -nfslayoutdriver-y := nfs4filelayout.o nfs4filelayoutdev.o
> +obj-$(CONFIG_PNFS_FILE_LAYOUT) += nfs_layout_nfsv41_files.o
> +nfs_layout_nfsv41_files-y := nfs4filelayout.o nfs4filelayoutdev.o
> diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
> index 3494d5e..b2fb693 100644
> --- a/fs/nfs/pnfs.c
> +++ b/fs/nfs/pnfs.c
> @@ -210,14 +210,7 @@ set_pnfs_layoutdriver(struct nfs_server *server, u32 id)
>  		return;
>  
>  	if (!find_pnfs(id, &mod)) {
> -		switch (id) {
> -		case LAYOUT_NFSV4_1_FILES:
> -			request_module(LAYOUT_NFSV4_1_FILES_MODULE);
> -			break;
> -		default:
> -			goto out_not_found;
> -		};
> -
> +		request_module("%s-%u", LAYOUT_NFSV4_1_MODULE_PREFIX, id);
>  		find_pnfs(id, &mod);
>  	}
>  
> @@ -233,7 +226,6 @@ set_pnfs_layoutdriver(struct nfs_server *server, u32 id)
>  		return;
>  	}
>  
> -out_not_found:
>  	dprintk("%s: No pNFS module found for %u. ", __func__, id);
>  out_err:
>  	dprintk("Using NFSv4 I/O\n");
> diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
> index 6bc27af..f48ef24 100644
> --- a/fs/nfs/pnfs.h
> +++ b/fs/nfs/pnfs.h
> @@ -73,7 +73,7 @@ void put_layout(struct inode *inode);
>  				     (srv)->pnfs_curr_ld->ld_policy_ops && \
>  				     (srv)->pnfs_curr_ld->ld_policy_ops->opname)
>  
> -#define LAYOUT_NFSV4_1_FILES_MODULE "nfslayoutdriver"
> +#define LAYOUT_NFSV4_1_MODULE_PREFIX "nfs-layouttype4"
>  
>  static inline int lo_fail_bit(u32 iomode)
>  {
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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