Skip to content

Commit 5f5ce7b

Browse files
committed
netfs: Add a ->free_subrequest() op
Add a ->free_subrequest() op so that the netfs can clean up data attached to a subrequest. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org cc: linux-mm@kvack.org
1 parent cc3cb0a commit 5f5ce7b

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

fs/netfs/objects.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ static void netfs_free_subrequest(struct netfs_io_subrequest *subreq,
145145
struct netfs_io_request *rreq = subreq->rreq;
146146

147147
trace_netfs_sreq(subreq, netfs_sreq_trace_free);
148+
if (rreq->netfs_ops->free_subrequest)
149+
rreq->netfs_ops->free_subrequest(subreq);
148150
kfree(subreq);
149151
netfs_stat_d(&netfs_n_rh_sreq);
150152
netfs_put_request(rreq, was_async, netfs_rreq_trace_put_subreq);

include/linux/netfs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ struct netfs_request_ops {
214214
unsigned int io_subrequest_size; /* Alloc size for netfs_io_subrequest struct */
215215
int (*init_request)(struct netfs_io_request *rreq, struct file *file);
216216
void (*free_request)(struct netfs_io_request *rreq);
217+
void (*free_subrequest)(struct netfs_io_subrequest *rreq);
217218

218219
void (*expand_readahead)(struct netfs_io_request *rreq);
219220
bool (*clamp_length)(struct netfs_io_subrequest *subreq);

0 commit comments

Comments
 (0)