linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/9] NFSD: Improve fault injection
@ 2012-11-29 16:40 bjschuma
  2012-11-29 16:40 ` [PATCH v4 1/9] NFSD: Lock state before calling fault injection function bjschuma
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: bjschuma @ 2012-11-29 16:40 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs

From: Bryan Schumaker <bjschuma@netapp.com>

While working on p2p-nfs, I discovered that I sometimes need to clear
state for a specific client to test all possible error recovery conditions.
The current fault injection code deletes state as it find it, so it can
be difficult to guess which state will be forgotten.  In addition, I
currently print out the amount of state forgotten but I don't give details
like "Forgot 3 locks from client w.x.y.z".  These patches set out to
improve that.

The first 6 patches clean up the current code and prepare it for specific
client state removal.  Patch 7 adds printing information to the server's logs
when a fault injection file is read (such as "Client w.x.y.z has 3 open
files").  Patch 8 adds in a custom file operations structure so users can
write strings to fault injection files in addition to u64s.  Finally, patch
9 allows users to remove state by writing a client's IP address to one of
the files.

Changes in v4:
- Access lock state from open owners rather than requiring a network namespace
  pointer.
- Don't produce a null pointer expection if fault injection is attempted after
  loading the nfsd module but before running any nfsd threads.

- Bryan

Bryan Schumaker (9):
  NFSD: Lock state before calling fault injection function
  NFSD: Clean up forgetting clients
  NFSD: Clean up forgetting locks
  NFSD: Clean up forgetting openowners
  NFSD: Clean up forgetting and recalling delegations
  NFSD: Fault injection operations take a per-client forget function
  NFSD: Reading a fault injection file prints a state count
  NFSD: Add a custom file operations structure for fault injection
  NFSD: Forget state for a specific client

 fs/nfsd/fault_inject.c | 112 ++++++++++++++++++++++++----
 fs/nfsd/netns.h        |   3 +
 fs/nfsd/nfs4state.c    | 197 ++++++++++++++++++++++++++++++-------------------
 fs/nfsd/state.h        |  18 +++--
 4 files changed, 237 insertions(+), 93 deletions(-)

-- 
1.8.0.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-12-03 14:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-29 16:40 [PATCH v4 0/9] NFSD: Improve fault injection bjschuma
2012-11-29 16:40 ` [PATCH v4 1/9] NFSD: Lock state before calling fault injection function bjschuma
2012-11-29 16:40 ` [PATCH v4 2/9] NFSD: Clean up forgetting clients bjschuma
2012-11-29 16:40 ` [PATCH v4 3/9] NFSD: Clean up forgetting locks bjschuma
2012-11-29 16:40 ` [PATCH v4 4/9] NFSD: Clean up forgetting openowners bjschuma
2012-11-29 16:40 ` [PATCH v4 5/9] NFSD: Clean up forgetting and recalling delegations bjschuma
2012-11-29 16:40 ` [PATCH v4 6/9] NFSD: Fault injection operations take a per-client forget function bjschuma
2012-11-29 16:40 ` [PATCH v4 7/9] NFSD: Reading a fault injection file prints a state count bjschuma
2012-11-29 16:40 ` [PATCH v4 8/9] NFSD: Add a custom file operations structure for fault injection bjschuma
2012-11-29 16:40 ` [PATCH v4 9/9] NFSD: Forget state for a specific client bjschuma
2012-12-03 14:53 ` [PATCH v4 0/9] NFSD: Improve fault injection J. Bruce Fields
2012-12-03 14:54   ` Bryan Schumaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).