From owner-svn-src-head@freebsd.org Wed Oct 24 14:57:05 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48788FED84C; Wed, 24 Oct 2018 14:57:05 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C79EF9672E; Wed, 24 Oct 2018 14:57:04 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id w9OEunEA088629 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 24 Oct 2018 17:56:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua w9OEunEA088629 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id w9OEun6W088628; Wed, 24 Oct 2018 17:56:49 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 24 Oct 2018 17:56:49 +0300 From: Konstantin Belousov To: Cy Schubert Cc: Konstantin Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r339672 - in head/sys: fs/nfsclient kern sys tools Message-ID: <20181024145649.GC5335@kib.kiev.ua> References: <201810241159.w9OBxFWg013534@slippy.cwsent.com> <201810241419.w9OEJXWa004101@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201810241419.w9OEJXWa004101@slippy.cwsent.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2018 14:57:05 -0000 On Wed, Oct 24, 2018 at 07:19:33AM -0700, Cy Schubert wrote: > In message <201810241159.w9OBxFWg013534@slippy.cwsent.com>, Cy Schubert > writes: > > In message <201810232143.w9NLhfeK087221@repo.freebsd.org>, Konstantin > > Belousov > > writes: > > > Author: kib > > > Date: Tue Oct 23 21:43:41 2018 > > > New Revision: 339672 > > > URL: https://svnweb.freebsd.org/changeset/base/339672 > > > > > > Log: > > > Only call sigdeferstop() for NFS. > > > > > > Use bypass to catch any NFS VOP dispatch and route it through the > > > wrapper which does sigdeferstop() and then dispatches original > > > VOP. NFS does not need a bypass below it, which is not supported. > > > > > > The vop offset in the vop_vector is added since otherwise it is > > > impossible to get vop_op_t from the internal table, and I did not > > > wanted to create the layered fs only to wrap NFS VOPs. > > > > > > VFS_OP()s wrap is straightforward. > > > > > > Requested and reviewed by: mjg (previous version) > > > Tested by: pho > > > Sponsored by: The FreeBSD Foundation > > > Differential revision: https://reviews.freebsd.org/D17658 > > > > > > Modified: > > > head/sys/fs/nfsclient/nfs_clvnops.c > > > head/sys/kern/vfs_default.c > > > head/sys/kern/vfs_init.c > > > head/sys/kern/vfs_mount.c > > > head/sys/sys/mount.h > > > head/sys/sys/vnode.h > > > head/sys/tools/vnode_if.awk > > > > > > > Unfortunately this broke amd(8). > > I should have included this. > > Oct 24 00:34:13 slippy amd[2741]: '/home': mount: Operation not > supported > Oct 24 00:34:13 slippy amd[2742]: '/vol': mount: Operation not supported > Oct 24 00:34:13 slippy amd[2743]: '/net': mount: Operation not supported > Oct 24 00:34:14 slippy amd[2742]: '/vol': mount: Operation not supported > Oct 24 00:34:14 slippy amd[2741]: '/home': mount: Operation not > supported > Oct 24 00:34:14 slippy amd[2742]: amfs_toplvl_mount: amfs_mount failed: > Operation not supported Try this. diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 8d98cb199ec..74bfe733100 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -808,8 +808,10 @@ sys_mount(struct thread *td, struct mount_args *uap) free(fstype, M_TEMP); if (vfsp == NULL) return (ENOENT); - if (vfsp->vfc_vfsops->vfs_cmount == NULL || ((vfsp->vfc_flags & - VFCF_SBDRY) != 0 && (vfsp->vfc_vfsops_sd->vfs_cmount == NULL))) + if (((vfsp->vfc_flags & VFCF_SBDRY) != 0 && + vfsp->vfc_vfsops_sd->vfs_cmount == NULL) || + ((vfsp->vfc_flags & VFCF_SBDRY) == 0 && + vfsp->vfc_vfsops->vfs_cmount == NULL)) return (EOPNOTSUPP); ma = mount_argsu(ma, "fstype", uap->type, MFSNAMELEN);