lkml.org 
[lkml]   [2021]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[RFC PATCH 12/12] netfs: Export some read-request ref functions
    From
    Date
    Export some functions for getting/putting read-request structures for use
    in later patches.

    Signed-off-by: David Howells <dhowells@redhat.com>
    ---

    fs/netfs/internal.h | 10 ++++++++++
    fs/netfs/read_helper.c | 15 +++------------
    2 files changed, 13 insertions(+), 12 deletions(-)

    diff --git a/fs/netfs/internal.h b/fs/netfs/internal.h
    index a9ec6591f90a..6ae1eb55093a 100644
    --- a/fs/netfs/internal.h
    +++ b/fs/netfs/internal.h
    @@ -78,9 +78,19 @@ static inline void netfs_see_write_request(struct netfs_write_request *wreq,
    */
    extern unsigned int netfs_debug;

    +void __netfs_put_subrequest(struct netfs_read_subrequest *subreq, bool was_async);
    +void netfs_put_read_request(struct netfs_read_request *rreq, bool was_async);
    +void netfs_rreq_completed(struct netfs_read_request *rreq, bool was_async);
    int netfs_prefetch_for_write(struct file *file, struct page *page, loff_t pos, size_t len,
    bool always_fill);

    +static inline void netfs_put_subrequest(struct netfs_read_subrequest *subreq,
    + bool was_async)
    +{
    + if (refcount_dec_and_test(&subreq->usage))
    + __netfs_put_subrequest(subreq, was_async);
    +}
    +
    /*
    * write_helper.c
    */
    diff --git a/fs/netfs/read_helper.c b/fs/netfs/read_helper.c
    index 0b771f2f5449..e5c636acc756 100644
    --- a/fs/netfs/read_helper.c
    +++ b/fs/netfs/read_helper.c
    @@ -28,14 +28,6 @@ MODULE_PARM_DESC(netfs_debug, "Netfs support debugging mask");

    static void netfs_rreq_work(struct work_struct *);
    static void netfs_rreq_clear_buffer(struct netfs_read_request *);
    -static void __netfs_put_subrequest(struct netfs_read_subrequest *, bool);
    -
    -static void netfs_put_subrequest(struct netfs_read_subrequest *subreq,
    - bool was_async)
    -{
    - if (refcount_dec_and_test(&subreq->usage))
    - __netfs_put_subrequest(subreq, was_async);
    -}

    static struct netfs_read_request *netfs_alloc_read_request(struct address_space *mapping,
    struct file *file)
    @@ -97,7 +89,7 @@ static void netfs_free_read_request(struct work_struct *work)
    netfs_stat_d(&netfs_n_rh_rreq);
    }

    -static void netfs_put_read_request(struct netfs_read_request *rreq, bool was_async)
    +void netfs_put_read_request(struct netfs_read_request *rreq, bool was_async)
    {
    if (refcount_dec_and_test(&rreq->usage)) {
    if (was_async) {
    @@ -135,8 +127,7 @@ static void netfs_get_read_subrequest(struct netfs_read_subrequest *subreq)
    refcount_inc(&subreq->usage);
    }

    -static void __netfs_put_subrequest(struct netfs_read_subrequest *subreq,
    - bool was_async)
    +void __netfs_put_subrequest(struct netfs_read_subrequest *subreq, bool was_async)
    {
    struct netfs_read_request *rreq = subreq->rreq;

    @@ -214,7 +205,7 @@ static void netfs_read_from_server(struct netfs_read_request *rreq,
    /*
    * Release those waiting.
    */
    -static void netfs_rreq_completed(struct netfs_read_request *rreq, bool was_async)
    +void netfs_rreq_completed(struct netfs_read_request *rreq, bool was_async)
    {
    trace_netfs_rreq(rreq, netfs_rreq_trace_done);
    netfs_rreq_clear_subreqs(rreq, was_async);

    \
     
     \ /
      Last update: 2021-07-21 15:49    [W:4.201 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site