07 Jun, 2020

1 commit


08 Aug, 2018

1 commit

  • In the fscache, we just need the timestamps as cookies to check for
    changes, so we don't really care about the overflow, but it's better
    to stop using the deprecated timespec so we don't have to go through
    explicit conversion functions.

    To avoid comparing uninitialized padding values that are copied
    while assigning the timespec values, this rearranges the members of
    cifs_fscache_inode_auxdata to avoid padding, and assigns them
    individually.

    Signed-off-by: Arnd Bergmann
    Reviewed-by: Paulo Alcantara
    Signed-off-by: Steve French

    Arnd Bergmann
     

04 Apr, 2018

1 commit

  • Attach copies of the index key and auxiliary data to the fscache cookie so
    that:

    (1) The callbacks to the netfs for this stuff can be eliminated. This
    can simplify things in the cache as the information is still
    available, even after the cache has relinquished the cookie.

    (2) Simplifies the locking requirements of accessing the information as we
    don't have to worry about the netfs object going away on us.

    (3) The cache can do lazy updating of the coherency information on disk.
    As long as the cache is flushed before reboot/poweroff, there's no
    need to update the coherency info on disk every time it changes.

    (4) Cookies can be hashed or put in a tree as the index key is easily
    available. This allows:

    (a) Checks for duplicate cookies can be made at the top fscache layer
    rather than down in the bowels of the cache backend.

    (b) Caching can be added to a netfs object that has a cookie if the
    cache is brought online after the netfs object is allocated.

    A certain amount of space is made in the cookie for inline copies of the
    data, but if it won't fit there, extra memory will be allocated for it.

    The downside of this is that live cache operation requires more memory.

    Signed-off-by: David Howells
    Acked-by: Anna Schumaker
    Tested-by: Steve Dickson

    David Howells
     

18 Sep, 2013

1 commit

  • In cifs_readpages(), we may decide we don't want to read a page after all -
    but the page may already have passed through fscache_read_or_alloc_pages() and
    thus have marks and reservations set. Thus we have to call
    fscache_readpages_cancel() or fscache_uncache_page() on the pages we're
    returning to clear the marks.

    NFS, AFS and 9P should be unaffected by this as they call read_cache_pages()
    which does the cleanup for you.

    Signed-off-by: David Howells
    Reviewed-by: Jeff Layton
    Signed-off-by: Steve French

    David Howells
     

27 May, 2011

1 commit


02 Aug, 2010

9 commits