All of lore.kernel.org
 help / color / mirror / Atom feed
From: Milosz Tanski <milosz@adfin.com>
To: ceph-devel@vger.kernel.org
Cc: sage@inktank.com, zheng.z.yan@intel.com, dhowells@redhat.com,
	linux-cachefs@redhat.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: [PATCHv4 0/5] ceph: persistent caching with fscache
Date: Wed, 21 Aug 2013 17:26:41 -0400	[thread overview]
Message-ID: <cover.1375999914.git.milosz@adfin.com> (raw)

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


             reply	other threads:[~2013-08-21 21:26 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21 21:26 Milosz Tanski [this message]
2013-08-21 21:29 ` [PATCH 1/5] new cachefiles interface to check cache consistency Hongyi Jia
2013-08-21 21:29 ` [PATCH 2/5] new fscache " Hongyi Jia
2013-08-21 21:29 ` [PATCH 3/5] ceph: use fscache as a local presisent cache Milosz Tanski
2013-08-21 21:29   ` Milosz Tanski
2013-08-27  1:05   ` Sage Weil
2013-08-21 21:30 ` [PATCH 4/5] fscache: netfs function for cleanup post readpages Milosz Tanski
2013-09-03 17:24   ` Milosz Tanski
2013-08-21 21:30 ` [PATCH 5/5] ceph: clean PgPrivate2 on returning from readpages Milosz Tanski
2013-08-22  5:05 ` [PATCHv4 0/5] ceph: persistent caching with fscache Sage Weil
2013-08-22  5:05   ` Sage Weil
2013-08-22 12:58   ` Milosz Tanski
2013-08-22 12:58     ` Milosz Tanski
2013-09-04 15:49 ` David Howells
2013-09-04 15:49   ` David Howells
2013-09-04 15:54   ` Sage Weil
2013-09-04 15:54     ` Sage Weil
2013-09-04 16:25     ` Sage Weil
2013-09-04 16:25       ` Sage Weil
2013-09-05 12:34     ` David Howells
2013-09-04 16:24 ` [PATCH 2/5] new fscache interface to check cache consistency David Howells
2013-09-04 16:24   ` David Howells
2013-09-04 16:48   ` Milosz Tanski
2013-09-04 17:26   ` David Howells
2013-09-04 17:26     ` David Howells
2013-09-04 18:04     ` Milosz Tanski
2013-09-04 18:13     ` David Howells
2013-09-04 18:13       ` David Howells
2013-09-04 19:41       ` Milosz Tanski
2013-09-04 22:02         ` Milosz Tanski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1375999914.git.milosz@adfin.com \
    --to=milosz@adfin.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=dhowells@redhat.com \
    --cc=linux-cachefs@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=sage@inktank.com \
    --cc=zheng.z.yan@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.