diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 0ef9b6b410a2b89071e6d50b7b34c3f5457da434..b31e46eeb02679ad6d915221d41c37e00bd073fe 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -936,6 +936,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
 			.u.data		= rqstp,
 		};
 
+		WARN_ON_ONCE(rqstp->rq_resused != 1);
 		rqstp->rq_resused = 1;
 		host_err = splice_direct_to_actor(file, &sd, nfsd_direct_splice_actor);
 	} else {