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,
 
                                XDR_QUADLEN(NFS4_MAX_SESSIONID_LEN) + 5)
 #define encode_reclaim_complete_maxsz  (op_encode_hdr_maxsz + 4)
 #define decode_reclaim_complete_maxsz  (op_decode_hdr_maxsz + 4)
-#define encode_getdevicelist_maxsz (op_encode_hdr_maxsz + 4 + \
-                               encode_verifier_maxsz)
-#define decode_getdevicelist_maxsz (op_decode_hdr_maxsz + \
-                               2 /* nfs_cookie4 gdlr_cookie */ + \
-                               decode_verifier_maxsz \
-                                 /* verifier4 gdlr_verifier */ + \
-                               1 /* gdlr_deviceid_list count */ + \
-                               XDR_QUADLEN(NFS4_PNFS_GETDEVLIST_MAXNUM * \
-                                           NFS4_DEVICEID4_SIZE) \
-                                 /* gdlr_deviceid_list */ + \
-                               1 /* bool gdlr_eof */)
 #define encode_getdeviceinfo_maxsz (op_encode_hdr_maxsz + 4 + \
                                XDR_QUADLEN(NFS4_DEVICEID4_SIZE))
 #define decode_getdeviceinfo_maxsz (op_decode_hdr_maxsz + \
 #define NFS4_dec_reclaim_complete_sz   (compound_decode_hdr_maxsz + \
                                         decode_sequence_maxsz + \
                                         decode_reclaim_complete_maxsz)
-#define NFS4_enc_getdevicelist_sz (compound_encode_hdr_maxsz + \
-                               encode_sequence_maxsz + \
-                               encode_putfh_maxsz + \
-                               encode_getdevicelist_maxsz)
-#define NFS4_dec_getdevicelist_sz (compound_decode_hdr_maxsz + \
-                               decode_sequence_maxsz + \
-                               decode_putfh_maxsz + \
-                               decode_getdevicelist_maxsz)
 #define NFS4_enc_getdeviceinfo_sz (compound_encode_hdr_maxsz +    \
                                encode_sequence_maxsz +\
                                encode_getdeviceinfo_maxsz)
 }
 
 #ifdef CONFIG_NFS_V4_1
-static void
-encode_getdevicelist(struct xdr_stream *xdr,
-                    const struct nfs4_getdevicelist_args *args,
-                    struct compound_hdr *hdr)
-{
-       __be32 *p;
-       nfs4_verifier dummy = {
-               .data = "dummmmmy",
-       };
-
-       encode_op_hdr(xdr, OP_GETDEVICELIST, decode_getdevicelist_maxsz, hdr);
-       p = reserve_space(xdr, 16);
-       *p++ = cpu_to_be32(args->layoutclass);
-       *p++ = cpu_to_be32(NFS4_PNFS_GETDEVLIST_MAXNUM);
-       xdr_encode_hyper(p, 0ULL);                          /* cookie */
-       encode_nfs4_verifier(xdr, &dummy);
-}
-
 static void
 encode_getdeviceinfo(struct xdr_stream *xdr,
                     const struct nfs4_getdeviceinfo_args *args,
        encode_nops(&hdr);
 }
 
-/*
- * Encode GETDEVICELIST request
- */
-static void nfs4_xdr_enc_getdevicelist(struct rpc_rqst *req,
-                                      struct xdr_stream *xdr,
-                                      struct nfs4_getdevicelist_args *args)
-{
-       struct compound_hdr hdr = {
-               .minorversion = nfs4_xdr_minorversion(&args->seq_args),
-       };
-
-       encode_compound_hdr(xdr, req, &hdr);
-       encode_sequence(xdr, &args->seq_args, &hdr);
-       encode_putfh(xdr, args->fh, &hdr);
-       encode_getdevicelist(xdr, args, &hdr);
-       encode_nops(&hdr);
-}
-
 /*
  * Encode GETDEVICEINFO request
  */
 }
 
 #if defined(CONFIG_NFS_V4_1)
-/*
- * TODO: Need to handle case when EOF != true;
- */
-static int decode_getdevicelist(struct xdr_stream *xdr,
-                               struct pnfs_devicelist *res)
-{
-       __be32 *p;
-       int status, i;
-       nfs4_verifier verftemp;
-
-       status = decode_op_hdr(xdr, OP_GETDEVICELIST);
-       if (status)
-               return status;
-
-       p = xdr_inline_decode(xdr, 8 + 8 + 4);
-       if (unlikely(!p))
-               goto out_overflow;
-
-       /* TODO: Skip cookie for now */
-       p += 2;
-
-       /* Read verifier */
-       p = xdr_decode_opaque_fixed(p, verftemp.data, NFS4_VERIFIER_SIZE);
-
-       res->num_devs = be32_to_cpup(p);
-
-       dprintk("%s: num_dev %d\n", __func__, res->num_devs);
-
-       if (res->num_devs > NFS4_PNFS_GETDEVLIST_MAXNUM) {
-               printk(KERN_ERR "NFS: %s too many result dev_num %u\n",
-                               __func__, res->num_devs);
-               return -EIO;
-       }
-
-       p = xdr_inline_decode(xdr,
-                             res->num_devs * NFS4_DEVICEID4_SIZE + 4);
-       if (unlikely(!p))
-               goto out_overflow;
-       for (i = 0; i < res->num_devs; i++)
-               p = xdr_decode_opaque_fixed(p, res->dev_id[i].data,
-                                           NFS4_DEVICEID4_SIZE);
-       res->eof = be32_to_cpup(p);
-       return 0;
-out_overflow:
-       print_overflow_msg(__func__, xdr);
-       return -EIO;
-}
-
 static int decode_getdeviceinfo(struct xdr_stream *xdr,
                                struct pnfs_device *pdev)
 {
        return status;
 }
 
-/*
- * Decode GETDEVICELIST response
- */
-static int nfs4_xdr_dec_getdevicelist(struct rpc_rqst *rqstp,
-                                     struct xdr_stream *xdr,
-                                     struct nfs4_getdevicelist_res *res)
-{
-       struct compound_hdr hdr;
-       int status;
-
-       dprintk("encoding getdevicelist!\n");
-
-       status = decode_compound_hdr(xdr, &hdr);
-       if (status != 0)
-               goto out;
-       status = decode_sequence(xdr, &res->seq_res, rqstp);
-       if (status != 0)
-               goto out;
-       status = decode_putfh(xdr);
-       if (status != 0)
-               goto out;
-       status = decode_getdevicelist(xdr, res->devlist);
-out:
-       return status;
-}
-
 /*
  * Decode GETDEVINFO response
  */
        PROC(SECINFO_NO_NAME,   enc_secinfo_no_name,    dec_secinfo_no_name),
        PROC(TEST_STATEID,      enc_test_stateid,       dec_test_stateid),
        PROC(FREE_STATEID,      enc_free_stateid,       dec_free_stateid),
-       PROC(GETDEVICELIST,     enc_getdevicelist,      dec_getdevicelist),
        PROC(BIND_CONN_TO_SESSION,
                        enc_bind_conn_to_session, dec_bind_conn_to_session),
        PROC(DESTROY_CLIENTID,  enc_destroy_clientid,   dec_destroy_clientid),