@@ -1400,12 +1400,6 @@ static int nfs4_set_client(struct nfs_server *server,
goto error;
}
- /* Cannot mount a DS only server */
- if (is_ds_only_client(clp)) {
- error = -ENODEV;
- goto error;
- }
-
/*
* Query for the lease time on clientid setup or renewal
*
@@ -1500,6 +1494,10 @@ static int nfs4_server_common_setup(struct nfs_server *server,
BUG_ON(!server->nfs_client->rpc_ops);
BUG_ON(!server->nfs_client->rpc_ops->file_inode_ops);
+ /* data servers support only a subset of NFSv4.1 */
+ if (is_ds_only_client(server->nfs_client))
+ return -EPROTONOSUPPORT;
+
fattr = nfs_alloc_fattr();
if (fattr == NULL)
return -ENOMEM;