From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH review 11/11] mnt: Honor MNT_LOCKED when detaching mounts Date: Wed, 7 Jan 2015 18:43:34 +0000 Message-ID: <20150107184334.GZ22149@ZenIV.linux.org.uk> References: <87mw5xq7lt.fsf@x220.int.ebiederm.org> <1420490787-14387-11-git-send-email-ebiederm@xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Linux Containers , linux-fsdevel@vger.kernel.org, "Serge E. Hallyn" , Andy Lutomirski , Chen Hanxiao , Richard Weinberger , Andrey Vagin To: "Eric W. Biederman" Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:49023 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752112AbbAGSnn (ORCPT ); Wed, 7 Jan 2015 13:43:43 -0500 Content-Disposition: inline In-Reply-To: <1420490787-14387-11-git-send-email-ebiederm@xmission.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 05, 2015 at 02:46:27PM -0600, Eric W. Biederman wrote: > Modify umount(MNT_DETACH) to keep mounts in the hash table that are > locked to their parent mounts, when the parent is lazily unmounted. > In doing this invert the reference count so that the parent holds a > reference to the children instead of the children holding a reference > to the parent. > > Then in mntput_no_expire detach the children and in cleanup_mnt mntput > the children and dput the dentry they were mounted on. > > In __detach_mounts if there are any mounts that have been unmounted > but still are on the list of mounts of a mountpoint, detach those > mounts and schedule them to be mntput and their reference to the dentry > to be put when it becomes safe to sleep. Explicit description of your new refcounting rules, please. What's more, how do those non-pinning children interact with e.g. copy_tree()?