On Mon, 2007-08-27 at 20:35 -0500, Florin Iucha wrote: > On Mon, Aug 27, 2007 at 06:19:29PM -0700, Bret Towe wrote: > > On 8/27/07, Trond Myklebust <[EMAIL PROTECTED]> wrote: > > > > > this sounds alot like the post i did yesterday titled 'nfs4 hang > > > > > regression' > > > > > i tracked it down to commit 3d39c691ff486142dd9aaeac12f553f4476b7a6 > > > > > > > > Yes, it certainly does -- all the symptoms match! > > > > > > Could you and Bret please check if the attached patch fixes the hang? > > > > no good for me still hangs after ~30minutes > > I just booted into the new kernel > (3d39c691ff486142dd9aaeac12f553f4476b7a6 + Trond's patch) and it hangs > in 10-15 minutes. > > Process traces available at > http://iucha.net/nfs/23-rc2-nfs-fix-1/kernel.log.gz > > Regards, > florin
Doh! I see the problem: cancel_delayed_work_sync() shouldn't ever be called recursively. The following patch should be correct. Please just discard the previous one... Trond
--- Begin Message ---Doh! We can't use cancel_delayed_work_sync because we may have been called from an unmount that was being performed by nfs_automount_task. Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]> --- fs/nfs/namespace.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index aea76d0..acfc56f 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c @@ -176,7 +176,7 @@ static void nfs_expire_automounts(struct work_struct *work) void nfs_release_automount_timer(void) { if (list_empty(&nfs_automount_list)) - cancel_delayed_work_sync(&nfs_automount_task); + cancel_delayed_work(&nfs_automount_task); } /*
--- End Message ---

