From d4b18c3e00b8d18fbd316abe9639b91ad416e1f3 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 10 Sep 2014 17:36:31 -0700 Subject: 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 Signed-off-by: Trond Myklebust --- fs/nfs/pnfs_dev.c | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'fs/nfs/pnfs_dev.c') diff --git a/fs/nfs/pnfs_dev.c b/fs/nfs/pnfs_dev.c index 82c2836fdb38..aa2ec0015183 100644 --- a/fs/nfs/pnfs_dev.c +++ b/fs/nfs/pnfs_dev.c @@ -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); -- cgit v1.2.3