Return-Path: linux-nfs-owner@vger.kernel.org Received: from mx2.netapp.com ([216.240.18.37]:14655 "EHLO mx2.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755018Ab2LCOyH (ORCPT ); Mon, 3 Dec 2012 09:54:07 -0500 Message-ID: <50BCBD0C.9040409@netapp.com> Date: Mon, 03 Dec 2012 09:54:04 -0500 From: Bryan Schumaker MIME-Version: 1.0 To: "J. Bruce Fields" CC: linux-nfs@vger.kernel.org Subject: Re: [PATCH v4 0/9] NFSD: Improve fault injection References: <1354207246-32343-1-git-send-email-bjschuma@netapp.com> <20121203145321.GA8241@fieldses.org> In-Reply-To: <20121203145321.GA8241@fieldses.org> Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-nfs-owner@vger.kernel.org List-ID: On 12/03/2012 09:53 AM, J. Bruce Fields wrote: > On Thu, Nov 29, 2012 at 11:40:37AM -0500, bjschuma@netapp.com wrote: >> From: Bryan Schumaker >> >> 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. > > OK, thanks for your patience, applying this version (pending some basic > testing). Awesome, thanks! :) - Bryan > > --b. > >> >> - 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 >>