netfs: Allow the netfs to make the io (sub)request alloc larger
Allow the network filesystem to specify extra space to be allocated on the end of the io (sub)request. This allows cifs, for example, to use this space rather than allocating its own cifs_readdata struct. 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
This commit is contained in:
@@ -22,7 +22,8 @@ struct netfs_io_request *netfs_alloc_request(struct address_space *mapping,
|
||||
struct netfs_io_request *rreq;
|
||||
int ret;
|
||||
|
||||
rreq = kzalloc(sizeof(struct netfs_io_request), GFP_KERNEL);
|
||||
rreq = kzalloc(ctx->ops->io_request_size ?: sizeof(struct netfs_io_request),
|
||||
GFP_KERNEL);
|
||||
if (!rreq)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
@@ -114,7 +115,9 @@ struct netfs_io_subrequest *netfs_alloc_subrequest(struct netfs_io_request *rreq
|
||||
{
|
||||
struct netfs_io_subrequest *subreq;
|
||||
|
||||
subreq = kzalloc(sizeof(struct netfs_io_subrequest), GFP_KERNEL);
|
||||
subreq = kzalloc(rreq->netfs_ops->io_subrequest_size ?:
|
||||
sizeof(struct netfs_io_subrequest),
|
||||
GFP_KERNEL);
|
||||
if (subreq) {
|
||||
INIT_LIST_HEAD(&subreq->rreq_link);
|
||||
refcount_set(&subreq->ref, 2);
|
||||
|
Reference in New Issue
Block a user