NFSD: handle GETATTR conflict with write delegation
[sfrench/cifs-2.6.git] / fs / nfsd / state.h
index 3bf418ee6c970261820d64dc3465f5c5364593fe..01c6f344564693dd0987413c0ed116458782a677 100644 (file)
@@ -142,8 +142,16 @@ struct nfs4_cb_fattr {
        /* from CB_GETATTR reply */
        u64 ncf_cb_change;
        u64 ncf_cb_fsize;
+
+       unsigned long ncf_cb_flags;
+       bool ncf_file_modified;
+       u64 ncf_initial_cinfo;
+       u64 ncf_cur_fsize;
 };
 
+/* bits for ncf_cb_flags */
+#define        CB_GETATTR_BUSY         0
+
 /*
  * Represents a delegation stateid. The nfs4_client holds references to these
  * and they are put when it is being destroyed or when the delegation is
@@ -773,5 +781,5 @@ static inline bool try_to_expire_client(struct nfs4_client *clp)
 }
 
 extern __be32 nfsd4_deleg_getattr_conflict(struct svc_rqst *rqstp,
-                               struct inode *inode);
+               struct inode *inode, bool *file_modified, u64 *size);
 #endif   /* NFSD4_STATE_H */