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 34/68] cachefiles: Add cache error reporting macro
    From
    Date
    Add a macro to report a cache I/O error and to tell fscache that the cache
    is in trouble.

    Also add a pointer to the fscache cache cookie from the cachefiles_cache
    struct as we need that to pass to fscache_io_error().

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

    fs/cachefiles/internal.h | 11 +++++++++++
    1 file changed, 11 insertions(+)

    diff --git a/fs/cachefiles/internal.h b/fs/cachefiles/internal.h
    index b51146a29aca..b2adcb59b4ce 100644
    --- a/fs/cachefiles/internal.h
    +++ b/fs/cachefiles/internal.h
    @@ -30,6 +30,7 @@ struct cachefiles_object {
    * Cache files cache definition
    */
    struct cachefiles_cache {
    + struct fscache_cache *cache; /* Cache cookie */
    struct vfsmount *mnt; /* mountpoint holding the cache */
    struct file *cachefilesd; /* manager daemon handle */
    const struct cred *cache_cred; /* security override for accessing cache */
    @@ -103,6 +104,16 @@ static inline int cachefiles_inject_remove_error(void)
    return cachefiles_error_injection_state & 2 ? -EIO : 0;
    }

    +/*
    + * Error handling
    + */
    +#define cachefiles_io_error(___cache, FMT, ...) \
    +do { \
    + pr_err("I/O Error: " FMT"\n", ##__VA_ARGS__); \
    + fscache_io_error((___cache)->cache); \
    + set_bit(CACHEFILES_DEAD, &(___cache)->flags); \
    +} while (0)
    +

    /*
    * Debug tracing

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