nfsd4: don't pretend to support write delegations
[cascardo/linux.git] / fs / nfsd / nfs4state.c
index 9cc3b78..c07c988 100644 (file)
@@ -170,6 +170,13 @@ alloc_init_deleg(struct nfs4_client *clp, struct nfs4_stateid *stp, struct svc_f
        struct nfs4_cb_conn *cb = &stp->st_stateowner->so_client->cl_cb_conn;
 
        dprintk("NFSD alloc_init_deleg\n");
+       /*
+        * Major work on the lease subsystem (for example, to support
+        * calbacks on stat) will be required before we can support
+        * write delegations properly.
+        */
+       if (type != NFS4_OPEN_DELEGATE_READ)
+               return NULL;
        if (fp->fi_had_conflict)
                return NULL;
        if (num_delegations > max_delegations)