diff options
Diffstat (limited to 'include/linux/netfs.h')
| -rw-r--r-- | include/linux/netfs.h | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/include/linux/netfs.h b/include/linux/netfs.h index ca0683b9e3d1..b46c39d98bbd 100644 --- a/include/linux/netfs.h +++ b/include/linux/netfs.h @@ -124,6 +124,7 @@ struct netfs_cache_resources {  	void				*cache_priv;  	void				*cache_priv2;  	unsigned int			debug_id;	/* Cookie debug ID */ +	unsigned int			inval_counter;	/* object->inval_counter at begin_op */  };  /* @@ -196,6 +197,15 @@ struct netfs_read_request_ops {  };  /* + * How to handle reading from a hole. + */ +enum netfs_read_from_hole { +	NETFS_READ_HOLE_IGNORE, +	NETFS_READ_HOLE_CLEAR, +	NETFS_READ_HOLE_FAIL, +}; + +/*   * Table of operations for access to a cache.  This is obtained by   * rreq->ops->begin_cache_operation().   */ @@ -207,7 +217,7 @@ struct netfs_cache_ops {  	int (*read)(struct netfs_cache_resources *cres,  		    loff_t start_pos,  		    struct iov_iter *iter, -		    bool seek_data, +		    enum netfs_read_from_hole read_hole,  		    netfs_io_terminated_t term_func,  		    void *term_func_priv); @@ -232,7 +242,8 @@ struct netfs_cache_ops {  	 * actually do.  	 */  	int (*prepare_write)(struct netfs_cache_resources *cres, -			     loff_t *_start, size_t *_len, loff_t i_size); +			     loff_t *_start, size_t *_len, loff_t i_size, +			     bool no_space_allocated_yet);  };  struct readahead_control; |