Re: Kernel 3.4.X NFS server regression

From: JÃrg Platte
Date: Mon Jun 11 2012 - 09:25:55 EST


Am 11.06.2012 um 15:13 schrieb Jeff Layton <jlayton@xxxxxxxxxx>:

>
> Ahh, I think I see the bug. From rpc_timeout_upcall_queue:
>
> -----------------------[snip]--------------------------
> dentry = dget(pipe->dentry);
> spin_unlock(&pipe->lock);
> if (dentry) {
> rpc_purge_list(&RPC_I(dentry->d_inode)->waitq,
> &free_list, destroy_msg, -ETIMEDOUT);
> dput(dentry);
> }
> -----------------------[snip]--------------------------
>
> ...when there is no dentry (as there wouldn't be when rpc_pipefs isn't
> mounted), then the rpc_purge_list won't run. FWIW, you'd probably see
> similar problems if you attempted a sec=krb5 mount without having
> rpc_pipefs mounted.
>
> I'm still looking at the code to see what the right fix is. For now,
> making sure you have a /var/lib/nfs/v4recoverydir is probably the
> easiest workaround.
>
> --
> Jeff Layton <jlayton@xxxxxxxxxx>

On my computer that shows the bug there is indeed no v4recovery directory. There is one on the other machine that does not show this bug. I'll test the latest kernel with this directory created today afternoon.

Thank you for the analysis!

JÃrg --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/