pnfs: remove GETDEVICELIST implementation
The current GETDEVICELIST implementation is buggy in that it doesn't handle cursors correctly, and in that it returns an error if the server returns NFSERR_NOTSUPP. Given that there is no actual need for GETDEVICELIST, it has various issues and might get removed for NFSv4.2 stop using it in the blocklayout driver, and thus the Linux NFS client as whole. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
fd41b4748b
commit
d4b18c3e00
6 changed files with 1 additions and 225 deletions
|
@ -7808,54 +7808,6 @@ int nfs4_proc_layoutreturn(struct nfs4_layoutreturn *lrp)
|
|||
return status;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieve the list of Data Server devices from the MDS.
|
||||
*/
|
||||
static int _nfs4_getdevicelist(struct nfs_server *server,
|
||||
const struct nfs_fh *fh,
|
||||
struct pnfs_devicelist *devlist)
|
||||
{
|
||||
struct nfs4_getdevicelist_args args = {
|
||||
.fh = fh,
|
||||
.layoutclass = server->pnfs_curr_ld->id,
|
||||
};
|
||||
struct nfs4_getdevicelist_res res = {
|
||||
.devlist = devlist,
|
||||
};
|
||||
struct rpc_message msg = {
|
||||
.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_GETDEVICELIST],
|
||||
.rpc_argp = &args,
|
||||
.rpc_resp = &res,
|
||||
};
|
||||
int status;
|
||||
|
||||
dprintk("--> %s\n", __func__);
|
||||
status = nfs4_call_sync(server->client, server, &msg, &args.seq_args,
|
||||
&res.seq_res, 0);
|
||||
dprintk("<-- %s status=%d\n", __func__, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
int nfs4_proc_getdevicelist(struct nfs_server *server,
|
||||
const struct nfs_fh *fh,
|
||||
struct pnfs_devicelist *devlist)
|
||||
{
|
||||
struct nfs4_exception exception = { };
|
||||
int err;
|
||||
|
||||
do {
|
||||
err = nfs4_handle_exception(server,
|
||||
_nfs4_getdevicelist(server, fh, devlist),
|
||||
&exception);
|
||||
} while (exception.retry);
|
||||
|
||||
dprintk("%s: err=%d, num_devs=%u\n", __func__,
|
||||
err, devlist->num_devs);
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nfs4_proc_getdevicelist);
|
||||
|
||||
static int
|
||||
_nfs4_proc_getdeviceinfo(struct nfs_server *server,
|
||||
struct pnfs_device *pdev,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue