@@ -65,7 +65,7 @@ nfs4_renew_state(struct work_struct *work)
dprintk("%s: start\n", __func__);
rcu_read_lock();
- if (list_empty(&clp->cl_superblocks)) {
+ if (list_empty(&clp->cl_superblocks) && !is_ds_only_client(clp)) {
rcu_read_unlock();
goto out;
}
@@ -153,6 +153,11 @@ static int nfs41_setup_state_renewal(struct nfs_client *clp)
int status;
struct nfs_fsinfo fsinfo;
+ if (is_ds_only_client(clp)) {
+ nfs4_schedule_state_renewal(clp);
+ return 0;
+ }
+
status = nfs4_proc_get_lease_time(clp, &fsinfo);
if (status == 0) {
/* Update lease time and schedule renewal */