lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH v3 23/68] fscache: Provide a function to let the netfs update its coherency data
    From
    Date
    Provide a function to let the netfs update its coherency data:

    void fscache_update_cookie(struct fscache_cookie *cookie,
    const void *aux_data,
    const loff_t *object_size);

    This will update the auxiliary data and/or the size of the object attached
    to a cookie if either pointer is not-NULL and flag that the disk needs to
    be updated.

    Note that fscache_unuse_cookie() also allows this to be done.

    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: linux-cachefs@redhat.com
    Link: https://lore.kernel.org/r/163819610438.215744.4223265964131424954.stgit@warthog.procyon.org.uk/ # v1
    Link: https://lore.kernel.org/r/163906913530.143852.18150303220217653820.stgit@warthog.procyon.org.uk/ # v2
    ---

    include/linux/fscache.h | 22 ++++++++++++++++++++++
    1 file changed, 22 insertions(+)

    diff --git a/include/linux/fscache.h b/include/linux/fscache.h
    index c4bb58eff7a3..9392812f10b7 100644
    --- a/include/linux/fscache.h
    +++ b/include/linux/fscache.h
    @@ -339,6 +339,28 @@ void __fscache_update_cookie(struct fscache_cookie *cookie, const void *aux_data
    set_bit(FSCACHE_COOKIE_NEEDS_UPDATE, &cookie->flags);
    }

    +/**
    + * fscache_update_cookie - Request that a cache object be updated
    + * @cookie: The cookie representing the cache object
    + * @aux_data: The updated auxiliary data for the cookie (may be NULL)
    + * @object_size: The current size of the object (may be NULL)
    + *
    + * Request an update of the index data for the cache object associated with the
    + * cookie. The auxiliary data on the cookie will be updated first if @aux_data
    + * is set and the object size will be updated and the object possibly trimmed
    + * if @object_size is set.
    + *
    + * See Documentation/filesystems/caching/netfs-api.rst for a complete
    + * description.
    + */
    +static inline
    +void fscache_update_cookie(struct fscache_cookie *cookie, const void *aux_data,
    + const loff_t *object_size)
    +{
    + if (fscache_cookie_enabled(cookie))
    + __fscache_update_cookie(cookie, aux_data, object_size);
    +}
    +
    /**
    * fscache_invalidate - Notify cache that an object needs invalidation
    * @cookie: The cookie representing the cache object

    \
     
     \ /
      Last update: 2021-12-16 17:13    [W:4.099 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site