2010-10-20 04:17:58 +00:00
|
|
|
/*
|
|
|
|
* pNFS client data structures.
|
|
|
|
*
|
|
|
|
* Copyright (c) 2002
|
|
|
|
* The Regents of the University of Michigan
|
|
|
|
* All Rights Reserved
|
|
|
|
*
|
|
|
|
* Dean Hildebrand <dhildebz@umich.edu>
|
|
|
|
*
|
|
|
|
* Permission is granted to use, copy, create derivative works, and
|
|
|
|
* redistribute this software and such derivative works for any purpose,
|
|
|
|
* so long as the name of the University of Michigan is not used in
|
|
|
|
* any advertising or publicity pertaining to the use or distribution
|
|
|
|
* of this software without specific, written prior authorization. If
|
|
|
|
* the above copyright notice or any other identification of the
|
|
|
|
* University of Michigan is included in any copy of any portion of
|
|
|
|
* this software, then the disclaimer below must also be included.
|
|
|
|
*
|
|
|
|
* This software is provided as is, without representation or warranty
|
|
|
|
* of any kind either express or implied, including without limitation
|
|
|
|
* the implied warranties of merchantability, fitness for a particular
|
|
|
|
* purpose, or noninfringement. The Regents of the University of
|
|
|
|
* Michigan shall not be liable for any damages, including special,
|
|
|
|
* indirect, incidental, or consequential damages, with respect to any
|
|
|
|
* claim arising out of or in connection with the use of the software,
|
|
|
|
* even if it has been or is hereafter advised of the possibility of
|
|
|
|
* such damages.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef FS_NFS_PNFS_H
|
|
|
|
#define FS_NFS_PNFS_H
|
|
|
|
|
|
|
|
#ifdef CONFIG_NFS_V4_1
|
|
|
|
|
|
|
|
#define LAYOUT_NFSV4_1_MODULE_PREFIX "nfs-layouttype4"
|
|
|
|
|
|
|
|
/* Per-layout driver specific registration structure */
|
|
|
|
struct pnfs_layoutdriver_type {
|
2010-10-20 04:17:59 +00:00
|
|
|
struct list_head pnfs_tblid;
|
|
|
|
const u32 id;
|
|
|
|
const char *name;
|
|
|
|
struct module *owner;
|
|
|
|
int (*initialize_mountpoint) (struct nfs_server *);
|
|
|
|
int (*uninitialize_mountpoint) (struct nfs_server *);
|
2010-10-20 04:17:58 +00:00
|
|
|
};
|
|
|
|
|
2010-10-20 04:17:59 +00:00
|
|
|
extern int pnfs_register_layoutdriver(struct pnfs_layoutdriver_type *);
|
|
|
|
extern void pnfs_unregister_layoutdriver(struct pnfs_layoutdriver_type *);
|
|
|
|
|
2010-10-20 04:17:58 +00:00
|
|
|
void set_pnfs_layoutdriver(struct nfs_server *, u32 id);
|
|
|
|
void unset_pnfs_layoutdriver(struct nfs_server *);
|
|
|
|
|
|
|
|
#else /* CONFIG_NFS_V4_1 */
|
|
|
|
|
|
|
|
static inline void set_pnfs_layoutdriver(struct nfs_server *s, u32 id)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void unset_pnfs_layoutdriver(struct nfs_server *s)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* CONFIG_NFS_V4_1 */
|
|
|
|
|
|
|
|
#endif /* FS_NFS_PNFS_H */
|