@@ -147,6 +147,15 @@ static void netfs_rreq_expand(struct netfs_io_request *rreq,
147147 }
148148}
149149
150+ /*
151+ * Begin an operation, and fetch the stored zero point value from the cookie if
152+ * available.
153+ */
154+ static int netfs_begin_cache_read (struct netfs_io_request * rreq , struct netfs_inode * ctx )
155+ {
156+ return fscache_begin_read_operation (& rreq -> cache_resources , netfs_i_cookie (ctx ));
157+ }
158+
150159/**
151160 * netfs_readahead - Helper to manage a read request
152161 * @ractl: The description of the readahead request
@@ -180,11 +189,9 @@ void netfs_readahead(struct readahead_control *ractl)
180189 if (IS_ERR (rreq ))
181190 return ;
182191
183- if (ctx -> ops -> begin_cache_operation ) {
184- ret = ctx -> ops -> begin_cache_operation (rreq );
185- if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
186- goto cleanup_free ;
187- }
192+ ret = netfs_begin_cache_read (rreq , ctx );
193+ if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
194+ goto cleanup_free ;
188195
189196 netfs_stat (& netfs_n_rh_readahead );
190197 trace_netfs_read (rreq , readahead_pos (ractl ), readahead_length (ractl ),
@@ -238,11 +245,9 @@ int netfs_read_folio(struct file *file, struct folio *folio)
238245 goto alloc_error ;
239246 }
240247
241- if (ctx -> ops -> begin_cache_operation ) {
242- ret = ctx -> ops -> begin_cache_operation (rreq );
243- if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
244- goto discard ;
245- }
248+ ret = netfs_begin_cache_read (rreq , ctx );
249+ if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
250+ goto discard ;
246251
247252 netfs_stat (& netfs_n_rh_readpage );
248253 trace_netfs_read (rreq , rreq -> start , rreq -> len , netfs_read_trace_readpage );
@@ -390,11 +395,9 @@ int netfs_write_begin(struct netfs_inode *ctx,
390395 rreq -> no_unlock_folio = folio_index (folio );
391396 __set_bit (NETFS_RREQ_NO_UNLOCK_FOLIO , & rreq -> flags );
392397
393- if (ctx -> ops -> begin_cache_operation ) {
394- ret = ctx -> ops -> begin_cache_operation (rreq );
395- if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
396- goto error_put ;
397- }
398+ ret = netfs_begin_cache_read (rreq , ctx );
399+ if (ret == - ENOMEM || ret == - EINTR || ret == - ERESTARTSYS )
400+ goto error_put ;
398401
399402 netfs_stat (& netfs_n_rh_write_begin );
400403 trace_netfs_read (rreq , pos , len , netfs_read_trace_write_begin );
0 commit comments