From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miklos Szeredi Subject: Re: [PATCH] vfs: remove warning about "weird" root dentry name from prepend_path() Date: Mon, 14 Jan 2013 16:50:20 +0100 Message-ID: References: <20130110085905.07c1ab47@corrin.poochiereds.net> <1358175280-15903-1-git-send-email-jlayton@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org To: Jeff Layton Return-path: Received: from mail-ie0-f170.google.com ([209.85.223.170]:57380 "EHLO mail-ie0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757183Ab3ANPuV (ORCPT ); Mon, 14 Jan 2013 10:50:21 -0500 Received: by mail-ie0-f170.google.com with SMTP id k10so5248593iea.29 for ; Mon, 14 Jan 2013 07:50:21 -0800 (PST) In-Reply-To: <1358175280-15903-1-git-send-email-jlayton@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 14, 2013 at 3:54 PM, Jeff Layton wrote: > We've had several reports of this warning over the last year or so: > > [34011.669912] ------------[ cut here ]------------ > [34011.670473] WARNING: at fs/dcache.c:2630 prepend_path+0x1eb/0x200() > [34011.671198] Hardware name: Bochs > [34011.671564] Root dentry has weird name <> vfsmnt: fs:nfs4 [...] > I'm able to reproduce this warning at will by mounting up a NFS > filesystem, cd'ing into it. If I then lazy unmount the fs and then stat > /proc/pid/cwd for the process sitting in the detached mount, this > warning will fire. > > Given that this is fairly easy to reproduce without doing anything too > exotic, I don't see much value in keeping this warning around. The value of the warning is in preventing filesystems from doing weird and exotic things without thinking about it. The obvious question here is what is NFS4 doing differently from other filesystems to trigger this warning and why. Thanks, Miklos > > Cc: Miklos Szeredi > Signed-off-by: Jeff Layton > --- > fs/dcache.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/fs/dcache.c b/fs/dcache.c > index 19153a0..08a10a7 100644 > --- a/fs/dcache.c > +++ b/fs/dcache.c > @@ -2587,15 +2587,6 @@ out: > return error; > > global_root: > - /* > - * Filesystems needing to implement special "root names" > - * should do so with ->d_dname() > - */ > - if (IS_ROOT(dentry) && > - (dentry->d_name.len != 1 || dentry->d_name.name[0] != '/')) { > - WARN(1, "Root dentry has weird name <%.*s>\n", > - (int) dentry->d_name.len, dentry->d_name.name); > - } > if (!slash) > error = prepend(buffer, buflen, "/", 1); > if (!error) > -- > 1.7.11.7 >