@@ -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;
@@ -153,7 +153,7 @@ static int nfs41_setup_state_renewal(struct nfs_client *clp)
int status;
struct nfs_fsinfo fsinfo;
- if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state)) {
+ if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state))
nfs4_schedule_state_renewal(clp);
return 0;
}