mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
* 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: net/sunrpc: Use static const char arrays nfs4: fix channel attribute sanity-checks NFSv4.1: Use more sensible names for 'initialize_mountpoint' NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure NFS: client needs to maintain list of inodes with active layouts NFS: create and destroy inode's layout cache NFSv4.1: pnfs: filelayout: introduce minimal file layout driver NFSv4.1: pnfs: full mount/umount infrastructure NFS: set layout driver NFS: ask for layouttypes during v4 fsinfo call NFS: change stateid to be a union NFSv4.1: pnfsd, pnfs: protocol level pnfs constants SUNRPC: define xdr_decode_opaque_fixed NFSD: remove duplicate NFS4_STATEID_SIZE
This commit is contained in:
commit
a4dd8dce14
24 changed files with 2550 additions and 45 deletions
|
@ -48,6 +48,7 @@
|
|||
#include "iostat.h"
|
||||
#include "internal.h"
|
||||
#include "fscache.h"
|
||||
#include "pnfs.h"
|
||||
|
||||
#define NFSDBG_FACILITY NFSDBG_CLIENT
|
||||
|
||||
|
@ -155,7 +156,9 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
|
|||
cred = rpc_lookup_machine_cred();
|
||||
if (!IS_ERR(cred))
|
||||
clp->cl_machine_cred = cred;
|
||||
|
||||
#if defined(CONFIG_NFS_V4_1)
|
||||
INIT_LIST_HEAD(&clp->cl_layouts);
|
||||
#endif
|
||||
nfs_fscache_get_client_cookie(clp);
|
||||
|
||||
return clp;
|
||||
|
@ -252,6 +255,7 @@ void nfs_put_client(struct nfs_client *clp)
|
|||
nfs_free_client(clp);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nfs_put_client);
|
||||
|
||||
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
||||
/*
|
||||
|
@ -900,6 +904,8 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, struct nfs_fsinfo *
|
|||
if (server->wsize > NFS_MAX_FILE_IO_SIZE)
|
||||
server->wsize = NFS_MAX_FILE_IO_SIZE;
|
||||
server->wpages = (server->wsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
|
||||
set_pnfs_layoutdriver(server, fsinfo->layouttype);
|
||||
|
||||
server->wtmult = nfs_block_bits(fsinfo->wtmult, NULL);
|
||||
|
||||
server->dtsize = nfs_block_size(fsinfo->dtpref, NULL);
|
||||
|
@ -939,6 +945,7 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str
|
|||
}
|
||||
|
||||
fsinfo.fattr = fattr;
|
||||
fsinfo.layouttype = 0;
|
||||
error = clp->rpc_ops->fsinfo(server, mntfh, &fsinfo);
|
||||
if (error < 0)
|
||||
goto out_error;
|
||||
|
@ -1021,6 +1028,7 @@ void nfs_free_server(struct nfs_server *server)
|
|||
{
|
||||
dprintk("--> nfs_free_server()\n");
|
||||
|
||||
unset_pnfs_layoutdriver(server);
|
||||
spin_lock(&nfs_client_lock);
|
||||
list_del(&server->client_link);
|
||||
list_del(&server->master_link);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue