fscache: Provide a function to let the netfs update its coherency data
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> Reviewed-by: Jeff Layton <jlayton@kernel.org> 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 Link: https://lore.kernel.org/r/163967117795.1823006.7493373142653442595.stgit@warthog.procyon.org.uk/ # v3 Link: https://lore.kernel.org/r/164021518440.640689.6369952464473039268.stgit@warthog.procyon.org.uk/ # v4
This commit is contained in:
parent
8e7a867bb7
commit
ed1235eb78
@ -338,6 +338,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
|
||||
|
Loading…
x
Reference in New Issue
Block a user