Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-14 Thread Christoph Hellwig
On Mon, Jan 14, 2008 at 09:24:54AM -0500, Jeff Layton wrote: > Thanks Christoph. I incorporated this into my latest patchset. It does > seem to fix the issue (tested by bouncing NFS up and down for 30 mins > or so). Let me know if you want me to add a signed-off-by line for > you... No need to add

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-14 Thread Jeff Layton
On Sun, 13 Jan 2008 18:17:43 + Christoph Hellwig <[EMAIL PROTECTED]> wrote: > On Sun, Jan 13, 2008 at 08:27:18AM -0500, Jeff Layton wrote: > >I've been hitting an intermittent null pointer dereference ever > > since I've made this change: > > The first thing lockd does is to call lock_ker

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-13 Thread J. Bruce Fields
On Sun, Jan 13, 2008 at 06:17:43PM +, Christoph Hellwig wrote: > Btw, lockd() takes BKL just after starting up and only implicitly drops > it when blocking. This seems very dangerous to me and badly wants > updating to some real locking scheme.. Yep. --b. -- To unsubscribe from this list: se

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-13 Thread Christoph Hellwig
On Sun, Jan 13, 2008 at 08:27:18AM -0500, Jeff Layton wrote: >I've been hitting an intermittent null pointer dereference ever > since I've made this change: The first thing lockd does is to call lock_kernel(). This may either block (or spin) when it is contended and thus delay updating nlmsvc

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-13 Thread Jeff Layton
On Wed, 9 Jan 2008 17:35:42 + Christoph Hellwig <[EMAIL PROTECTED]> wrote: > On Tue, Jan 08, 2008 at 02:33:15PM -0500, Jeff Layton wrote: > > lockd_start_done is a global var that can be reused if lockd is > > restarted, but it's never reinitialized. On all but the first use, > > wait_for_comp

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-09 Thread Christoph Hellwig
On Wed, Jan 09, 2008 at 01:05:54PM -0500, Jeff Layton wrote: > Makes sense. My only concern is that we make sure this is behavior we > can count on in the future and not just an artifact of the current > kthread implementation. If that's the case, then I'll plan to remove it > on the next respin.

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-09 Thread Jeff Layton
On Wed, 9 Jan 2008 17:35:42 + Christoph Hellwig <[EMAIL PROTECTED]> wrote: > I don't think we'll need lockd_start_done anymore after the kthread > conversion. When kthread_run returns the thread it created is > guaranteed to have run until it scheduled away. > Makes sense. My only concern i

Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-09 Thread Christoph Hellwig
On Tue, Jan 08, 2008 at 02:33:15PM -0500, Jeff Layton wrote: > lockd_start_done is a global var that can be reused if lockd is > restarted, but it's never reinitialized. On all but the first use, > wait_for_completion isn't actually waiting on it since it has > already completed once. I don't thin

[PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-08 Thread Jeff Layton
lockd_start_done is a global var that can be reused if lockd is restarted, but it's never reinitialized. On all but the first use, wait_for_completion isn't actually waiting on it since it has already completed once. Signed-off-by: Jeff Layton <[EMAIL PROTECTED]> --- fs/lockd/svc.c |1 + 1 fi

[PATCH 3/6] NLM: Initialize completion variable in lockd_up

2008-01-05 Thread Jeff Layton
lockd_start_done is a global var that can be reused if lockd is restarted, but it's never reinitialized. On all but the first use, wait_for_completion isn't actually waiting on it since it has already completed once. Signed-off-by: Jeff Layton <[EMAIL PROTECTED]> --- fs/lockd/svc.c |1 + 1 fi

[PATCH 3/6] NLM: Initialize completion variable in lockd_up

2007-12-13 Thread Jeff Layton
lockd_start_done is a global var that can be reused if lockd is restarted, but it's never reinitialized. On all but the first use, wait_for_completion isn't actually waiting on it since it has already completed once. Signed-off-by: Jeff Layton <[EMAIL PROTECTED]> --- fs/lockd/svc.c |1 + 1 fi