From: David Howells <dhowells@redhat.com>
To: linux-cachefs@redhat.com
Cc: dhowells@redhat.com, linux-fsdevel@vger.kernel.org,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 00/13] FS-Cache: Fix a number of bugs that occur when the cache runs out of space
Date: Thu, 26 Feb 2015 14:01:55 +0000 [thread overview]
Message-ID: <20150226140155.2387.70579.stgit@warthog.procyon.org.uk> (raw)
Attached are a bunch of patches that progressively fix bugs that can occur
when the cache hits the hard "must maintain X free space" limit and starts
rejecting requests.
The commit ensubjected "FS-Cache: Synchronise object death state change vs
operation submission" is the main bug I was looking for. Some of the other
patches fix other bugs I found along the way and the remaining patches are
changes pulled out of the bugfixes to make the bugfix commits more narrowly
targeted.
Note that I added some new stats:
Ops : ini=836360 dfr=19 rel=836360 gc=19
The ini=N field here indicates the number of fscache_operation structs that
were initialised and should match the rel=M value.
CacheEv: nsp=3425 stl=0 rtr=0 cul=0
Indicates counts of certain cache backend events: nsp=N shows how many objects
were rejected due to lack of space in the cache, stl=N shows how many objects
were found to be stale upon reuse and thus discarded, rtr=N how many objects
were retired and cul=N shows how many inactive objects were culled.
These can also be found here:
http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=fscache-fixes
tagged with:
fscache-fixes-20150226
David
---
David Howells (13):
FS-Cache: Count culled objects and objects rejected due to lack of space
FS-Cache: Move fscache_report_unexpected_submission() to make it more available
FS-Cache: When submitting an op, cancel it if the target object is dying
FS-Cache: Handle a new operation submitted against a killed object
FS-Cache: Synchronise object death state change vs operation submission
FS-Cache: fscache_object_is_dead() has wrong logic, kill it
FS-Cache: Permit fscache_cancel_op() to cancel in-progress operations too
FS-Cache: Out of line fscache_operation_init()
FS-Cache: Count the number of initialised operations
FS-Cache: Fix cancellation of in-progress operation
FS-Cache: Put an aborted initialised op so that it is accounted correctly
FS-Cache: The operation cancellation method needs calling in more places
FS-Cache: Retain the netfs context in the retrieval op earlier
Documentation/filesystems/caching/backend-api.txt | 23 ++
Documentation/filesystems/caching/fscache.txt | 7 -
fs/cachefiles/internal.h | 1
fs/cachefiles/namei.c | 33 ++-
fs/fscache/cookie.c | 8 -
fs/fscache/internal.h | 12 +
fs/fscache/object.c | 69 +++++-
fs/fscache/operation.c | 254 ++++++++++++++-------
fs/fscache/page.c | 86 ++++---
fs/fscache/stats.c | 14 +
include/linux/fscache-cache.h | 55 ++---
11 files changed, 378 insertions(+), 184 deletions(-)
next reply other threads:[~2015-02-26 14:02 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 14:01 David Howells [this message]
2015-02-26 14:02 ` [PATCH 01/13] FS-Cache: Count culled objects and objects rejected due to lack of space David Howells
2015-02-26 14:02 ` [PATCH 02/13] FS-Cache: Move fscache_report_unexpected_submission() to make it more available David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 03/13] FS-Cache: When submitting an op, cancel it if the target object is dying David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 04/13] FS-Cache: Handle a new operation submitted against a killed object David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 05/13] FS-Cache: Synchronise object death state change vs operation submission David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 06/13] FS-Cache: fscache_object_is_dead() has wrong logic, kill it David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 07/13] FS-Cache: Permit fscache_cancel_op() to cancel in-progress operations too David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 08/13] FS-Cache: Out of line fscache_operation_init() David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 09/13] FS-Cache: Count the number of initialised operations David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:02 ` [PATCH 10/13] FS-Cache: Fix cancellation of in-progress operation David Howells
2015-02-26 14:02 ` David Howells
2015-02-26 14:03 ` [PATCH 11/13] FS-Cache: Put an aborted initialised op so that it is accounted correctly David Howells
2015-02-26 14:03 ` David Howells
2015-02-26 14:03 ` [PATCH 12/13] FS-Cache: The operation cancellation method needs calling in more places David Howells
2015-02-26 14:03 ` David Howells
2015-02-26 14:03 ` [PATCH 13/13] FS-Cache: Retain the netfs context in the retrieval op earlier David Howells
2015-02-26 14:03 ` David Howells
2015-03-02 23:58 ` [PATCH 00/13] FS-Cache: Fix a number of bugs that occur when the cache runs out of space Jeff Layton
2015-03-02 23:58 ` Jeff Layton
-- strict thread matches above, loose matches on Subject: below --
2015-02-26 14:01 David Howells
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=20150226140155.2387.70579.stgit@warthog.procyon.org.uk \
--to=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 \
/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.