Re: [PATCHv4 0/5] ceph: persistent caching with fscache

From: Sage Weil
Date: Thu Aug 22 2013 - 01:05:24 EST


Hi Milosz,

I've pulled this into the ceph testing branch to make sure it holds up
in qa.

David, are the fscache patches here ready for the next merge window? Do
you have a preference for whose tree they go through?

Thanks!
sage


On Wed, 21 Aug 2013, Milosz Tanski wrote:

> This an updated version of the fscache support for the Ceph filesystem. What's
> changed since the last patchset:
>
> 1. Sparater the readpages refactor into it's own patches. These were already
> accepted into the testing branch.
>
> 2. Tracked down the BUG in readahead cleanup code. We were returning with pages
> marked as private_2 from readpages(). I added a simple convenience function
> to the fscache netfs interface for cleaning up the page list at the end of
> asop readpages(). I know other filesystems (NFS) have ran into that since
> I've seen a few similar traces in Google search and the cachefs mailig list.
> The second patch new make Ceph use this interface.
>
> I've been running this code (minus the BUG fix) on clients for a couple weeks
> with moderate 24/7 use without issues. At this point in time I feel like it's
> solid enough to go into the ceph kclient.
>
> Please pull the code from my repository:
> https://bitbucket.org/adfin/linux-fs.git branch: wip-ceph-fscache
>
> The first two patches I included were not written by me but were written by
> Hongyi Jia. He implemented the cookie re-validation scheme into fscache core.
>
> Finally, I CCed a couple other mailing lists (fsdevel, nfs) because the new
> fscache_readpages_cancel() should be used by other filesystems to avoid the
> same problem.
>
>
> Hongyi Jia (2):
> new cachefiles interface to check cache consistency
> new fscache interface to check cache consistency
>
> Milosz Tanski (3):
> ceph: use fscache as a local presisent cache
> fscache: netfs function for cleanup post readpages
> ceph: clean PgPrivate2 on returning from readpages
>
> fs/cachefiles/interface.c | 19 +++
> fs/cachefiles/internal.h | 1 +
> fs/cachefiles/xattr.c | 39 ++++++
> fs/ceph/Kconfig | 9 ++
> fs/ceph/Makefile | 2 +
> fs/ceph/addr.c | 39 +++++-
> fs/ceph/cache.c | 311 ++++++++++++++++++++++++++++++++++++++++++
> fs/ceph/cache.h | 130 ++++++++++++++++++
> fs/ceph/caps.c | 19 ++-
> fs/ceph/file.c | 17 +++
> fs/ceph/inode.c | 66 ++++++++-
> fs/ceph/super.c | 47 ++++++-
> fs/ceph/super.h | 17 +++
> fs/fscache/cookie.c | 22 +++
> fs/fscache/page.c | 16 +++
> include/linux/fscache-cache.h | 4 +
> include/linux/fscache.h | 39 ++++++
> 17 files changed, 785 insertions(+), 12 deletions(-)
> create mode 100644 fs/ceph/cache.c
> create mode 100644 fs/ceph/cache.h
>
> --
> 1.8.1.2
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/