From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1034033AbcIWBvK (ORCPT ); Thu, 22 Sep 2016 21:51:10 -0400 Received: from out03.mta.xmission.com ([166.70.13.233]:44701 "EHLO out03.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031561AbcIWBvF (ORCPT ); Thu, 22 Sep 2016 21:51:05 -0400 From: ebiederm@xmission.com (Eric W. Biederman) To: Ian Kent Cc: Mateusz Guzik , NeilBrown , Andrew Morton , autofs mailing list , Kernel Mailing List , Al Viro , linux-fsdevel , Omar Sandoval References: <20160914061434.24714.490.stgit@pluto.themaw.net> <20160914061445.24714.68331.stgit@pluto.themaw.net> <20160917201000.omswgttgyzcu7jt6@mguzik> <1474248973.3204.14.camel@themaw.net> <87oa3iikgf.fsf@x220.int.ebiederm.org> <1474411462.22440.2.camel@themaw.net> <1474412413.22440.7.camel@themaw.net> <1474507987.12887.5.camel@themaw.net> <87k2e4c541.fsf@x220.int.ebiederm.org> <1474592141.3345.20.camel@themaw.net> Date: Thu, 22 Sep 2016 20:37:21 -0500 In-Reply-To: <1474592141.3345.20.camel@themaw.net> (Ian Kent's message of "Fri, 23 Sep 2016 08:55:41 +0800") Message-ID: <877fa39z1q.fsf@x220.int.ebiederm.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1bnFdm-00061C-HX;;;mid=<877fa39z1q.fsf@x220.int.ebiederm.org>;;;hst=in01.mta.xmission.com;;;ip=97.119.97.64;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX1/ILGDXatKHb9tFqGCl7TYg8ZR8nfTA9Ec= X-SA-Exim-Connect-IP: 97.119.97.64 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 1.5 XMNoVowels Alpha-numberic number with no vowels * 0.7 XMSubLong Long Subject * 0.0 TVD_RCVD_IP Message was received from an IP address * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5000] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa07 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 T_TooManySym_01 4+ unique symbols in subject * 1.0 T_XMDrugObfuBody_04 obfuscated drug references X-Spam-DCC: XMission; sa07 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;Ian Kent X-Spam-Relay-Country: X-Spam-Timing: total 324 ms - load_scoreonly_sql: 0.07 (0.0%), signal_user_changed: 4.0 (1.2%), b_tie_ro: 2.6 (0.8%), parse: 1.27 (0.4%), extract_message_metadata: 15 (4.6%), get_uri_detail_list: 3.0 (0.9%), tests_pri_-1000: 7 (2.2%), tests_pri_-950: 1.22 (0.4%), tests_pri_-900: 1.02 (0.3%), tests_pri_-400: 25 (7.8%), check_bayes: 24 (7.5%), b_tokenize: 8 (2.4%), b_tok_get_all: 9 (2.7%), b_comp_prob: 2.8 (0.9%), b_tok_touch_all: 2.6 (0.8%), b_finish: 0.73 (0.2%), tests_pri_0: 258 (79.6%), check_dkim_signature: 0.56 (0.2%), check_dkim_adsp: 3.0 (0.9%), tests_pri_500: 7 (2.3%), rewrite_mail: 0.00 (0.0%) Subject: Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ian Kent writes: > On Thu, 2016-09-22 at 10:43 -0500, Eric W. Biederman wrote: >> Ian Kent writes: >> >> > Eric, Mateusz, I appreciate your spending time on this and particularly >> > pointing >> > out my embarrassingly stupid is_local_mountpoint() usage mistake. >> > >> > Please accept my apology for the inconvenience. >> > >> > If all goes well (in testing) I'll have follow up patches to correct this >> > fairly >> > soon. >> >> Related question. Do you happen to know how many mounts per mount >> namespace tend to be used? It looks like it is going to be wise to put >> a configurable limit on that number. And I would like the default to be >> something high enough most people don't care. I believe autofs is >> likely where people tend to use the most mounts. > > That's a good question. > > I've been thinking that maybe I should have used a lookup_mnt() type check as I > originally started out to, for this reason, as the mnt_namespace list looks to > be a linear list. > > But there can be a lot of mounts, and not only due to autofs, so maybe that > should be considered anyway. There are two reasons for is_local_mountpoint being the way it is. a) For the cases where you don't have the parent mount. b) For the cases where you want to stop things if something is mounted on a dentry in the local mount namespace even if it isn't mounted on that dentry at your current mount parent. (Something that was important to not change the semantics of the single mount namespace case). Both of those cases to apply to unlink, rmdir, and rename. I don't think either of those cases apply to what autofs is trying to do. Certainly not the second. So if you have the parent mount I really think you want to be using some variation of lookup_mnt(). The fact it is rcu safe may help with some of those weird corner cases as well. > The number of mounts for direct mount maps is usually not very large because of > the way they are implemented, large direct mount maps can have performance > problems. There can be anywhere from a few (likely case a few hundred) to less > than 10000, plus mounts that have been triggered and not yet expired. > > Indirect mounts have one autofs mount at the root plus the number of mounts that > have been triggered and not yet expired. > > The number of autofs indirect map entries can range from a few to the common > case of several thousand and in rare cases up to between 30000 and 50000. I've > not heard of people with maps larger than 50000 entries. > > The larger the number of map entries the greater the possibility for a large > number of active mounts so it's not hard to expect cases of a 1000 or somewhat > more active mounts. Fair. So at least 1000. And there can be enough mounts that a limit of 100,000 might be necessary to give head room for the existings configurations. Thank you. Now I just need to wrap my head around fs/namespace.c again and see how bad a count like that will be to maintain. Eric