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:
Christoph Hellwig
2014-09-10 17:36:31 -07:00
committed by Trond Myklebust
parent fd41b4748b
commit d4b18c3e00
6 changed files with 1 additions and 225 deletions

View File

@@ -358,33 +358,3 @@ nfs4_deviceid_mark_client_invalid(struct nfs_client *clp)
}
rcu_read_unlock();
}
int
nfs4_deviceid_getdevicelist(struct nfs_server *server,
const struct nfs_fh *fh)
{
struct pnfs_devicelist *dlist;
struct nfs4_deviceid_node *d;
int error = 0, i;
dlist = kzalloc(sizeof(struct pnfs_devicelist), GFP_NOFS);
if (!dlist)
return -ENOMEM;
while (!dlist->eof) {
error = nfs4_proc_getdevicelist(server, fh, dlist);
if (error)
break;
for (i = 0; i < dlist->num_devs; i++) {
d = nfs4_find_get_deviceid(server, &dlist->dev_id[i],
NULL, GFP_NOFS);
if (d)
nfs4_put_deviceid_node(d);
}
}
kfree(dlist);
return error;
}
EXPORT_SYMBOL_GPL(nfs4_deviceid_getdevicelist);