linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Warning: empty root dentry name after lazy mount removal
@ 2015-05-15 18:58 Ivan Delalande
  2015-05-20 10:05 ` Omar Sandoval
  0 siblings, 1 reply; 10+ messages in thread
From: Ivan Delalande @ 2015-05-15 18:58 UTC (permalink / raw)
  To: Eric W. Biederman, Al Viro; +Cc: linux-fsdevel

Hi,

Since commit 8ed936b "vfs: Lazily remove mounts on unlinked files and
directories.", I’m seeing a new warning from prepend_path() at
fs/dcache.c:2937 saying:

	Root dentry has weird name <>

Our particular occurrence happens because we are using an older version
of iproute (< v3.10, commit bcb9d40, but this also works with the master
and just reverting that commit), and the following scenario:

	term1# ip netns add foo
	term1# ip netns exec foo sh
	term1# ls -l /proc/self/fd/4
	lr-x------ 1 root root 64 May 15 11:02 /proc/self/fd/4 -> /var/run/netns/foo
	term2# ip netns del foo
	term1# ls -l /proc/self/fd/4
	[dmesg] WARNING: [...]
	[dmesg] Root dentry has weird name <>
	lr-x------ 1 root root 64 May 15 11:04 /proc/self/fd/4 -> /

Relevant moutinfo chunks before the `ip netns del`:

	29 0 8:2 / / rw,relatime - ext4 /dev/sda2 rw,data=ordered
	82 29 0:3 / /var/run/netns/foo rw,nosuid,nodev,noexec,relatime - proc proc rw

What I could observe is that after the namespace deletion, that mount 82
get isolated (mnt->parent = mnt), and so prepend_path considers it as
the global root. But the name of that dentry has d_name.len == 0, which
triggers the WARN in that function.

I’m still struggling to understand all the relations between the VFS
structures and at which point they get initialized precisely. Do you
have any idea how to fix this problem?

Thanks,
-- 
Ivan "Colona" Delalande
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-06-06 20:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-15 18:58 Warning: empty root dentry name after lazy mount removal Ivan Delalande
2015-05-20 10:05 ` Omar Sandoval
2015-05-20 22:05   ` [PATCH] vfs: Fix, simpliy and stop using d_dname for the /proc/*/ns/* files Eric W. Biederman
2015-05-20 23:00     ` Omar Sandoval
2015-05-20 23:08     ` Ivan Delalande
2015-05-20 23:23     ` Al Viro
2015-06-03 20:51       ` Ivan Delalande
2015-06-06 19:27         ` Eric W. Biederman
2015-06-06 19:30           ` [PATCH] vfs: Remove incorrect debugging WARN in prepend_path Eric W. Biederman
2015-06-06 20:08           ` [PATCH] vfs: Fix, simpliy and stop using d_dname for the /proc/*/ns/* files Ivan Delalande

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).