From nobody Thu Jan 27 16:14:01 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 98C23198F3F0; Thu, 27 Jan 2022 16:14:04 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Jl5Hw3ZwCz3Pwy; Thu, 27 Jan 2022 16:14:04 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-lf1-x12e.google.com with SMTP id z19so6265187lfq.13; Thu, 27 Jan 2022 08:14:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=HoAVHauN05kEEIXCXrPneP9eUKUK5ceYrXAW4zcW02A=; b=E6DwIjc4iV9elw8hsjlZNO6Wqvv7yaUHAJUGAHmamyLOO1ot6UsxPshFooSH5uUMgo QC08u0JyEivJbueT9p9OmG6pumBWEXVMFh2dX33Jaf5t0w4ZM6W5vL6mzzu2ckN2ia6y AksMRRAvhKLyjy0VowHfIXWK2kGDF1bO9KSpWTgyQS8msOJ9k4anbP3/+plUi1+6HrJS penm1MtG3Wj61rTh1TGzLy43y1U7BGqIAC+xlt40HEs/KPOlgBUKhXJPyqXivH5WBOXg mn6ojUuSV8hiPcHIDCBQ3vrc34+xMB+YM7WilHlKpK5gzjWdUaDeaRZochjhrm1N4sP6 zoNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=HoAVHauN05kEEIXCXrPneP9eUKUK5ceYrXAW4zcW02A=; b=gr2q1+JUnSOx6/zLuQ7LxhVahCJ0Tz/CogptlWneSjr6X2b++QbVE0X5eJeDYo7MJh a1GQbpCHt8hkR9hYFz95gU8qfnFs4DD07ydzRpecrVJ+PsbhTQjMxI5/NPzPlbqzpxFG m2Ka80wjEtU0QTyjHTPv1RT4YiHT6zwDswRkEsBmuy1UwWhO0M0EpQZ7qv8GQDGvIEny 6saTM8Ml7VgF7eYIsQ66SImUOBPxp/SGRjAKGyiYXX1ylRUUCAUsWl1R1ovg6dgBBkkA tvJE4KWfnOWr+IoXUinuxDypVG/My9drBWl7rTu1E3bmhYBHtPldpVepsqv5OKiK2FA/ 0RfA== X-Gm-Message-State: AOAM5329oTEZNiLx2Rn3njdRzyd0Fj1WeEYQwRjWzwRb60cte/3yxHdL tY7lOWosWb4mXyvjJ/XK/BEELH/1U5TCld5TJEIx5o2e X-Google-Smtp-Source: ABdhPJzT5Nv4eW0QJuWBrIHC9FHPqMiSk2h1MdG1/PkGw0/qbn79PlMUXaps7yGbfCK49915VpCex9cAWEt/LOj8bbE= X-Received: by 2002:a05:6512:b04:: with SMTP id w4mr762660lfu.679.1643300042944; Thu, 27 Jan 2022 08:14:02 -0800 (PST) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Received: by 2002:aa6:db8e:0:b0:16e:b0b:e03e with HTTP; Thu, 27 Jan 2022 08:14:01 -0800 (PST) In-Reply-To: References: <202201270012.20R0CSKh002681@gitrepo.freebsd.org> From: Mateusz Guzik Date: Thu, 27 Jan 2022 17:14:01 +0100 Message-ID: Subject: Re: git: b58ca5df0bb7 - main - vfs: remove the now unused insmntque1 To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4Jl5Hw3ZwCz3Pwy X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On 1/27/22, Konstantin Belousov wrote: > On Thu, Jan 27, 2022 at 04:00:27AM +0200, Konstantin Belousov wrote: >> On Thu, Jan 27, 2022 at 12:12:28AM +0000, Mateusz Guzik wrote: >> > The branch main has been updated by mjg: >> > >> > URL: >> > https://cgit.FreeBSD.org/src/commit/?id=b58ca5df0bb79f2d1c443617e0899602721ccffa >> > >> > commit b58ca5df0bb79f2d1c443617e0899602721ccffa >> > Author: Mateusz Guzik >> > AuthorDate: 2022-01-27 00:00:24 +0000 >> > Commit: Mateusz Guzik >> > CommitDate: 2022-01-27 00:00:24 +0000 >> > >> > vfs: remove the now unused insmntque1 >> > >> > Bump __FreeBSD_version to 1400052. >> > --- >> > sys/kern/vfs_subr.c | 12 +----------- >> > sys/sys/param.h | 2 +- >> > sys/sys/vnode.h | 2 -- >> > 3 files changed, 2 insertions(+), 14 deletions(-) >> > >> > diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c >> > index 3218a3f7b6a0..a29f64fddd34 100644 >> > --- a/sys/kern/vfs_subr.c >> > +++ b/sys/kern/vfs_subr.c >> > @@ -1948,8 +1948,7 @@ insmntque_stddtr(struct vnode *vp, void *dtr_arg) >> > * Insert into list of vnodes for the new mount point, if available. >> > */ >> > int >> > -insmntque1(struct vnode *vp, struct mount *mp, >> > - void (*dtr)(struct vnode *, void *), void *dtr_arg) >> > +insmntque(struct vnode *vp, struct mount *mp) >> > { >> > >> > KASSERT(vp->v_mount == NULL, >> > @@ -1974,8 +1973,6 @@ insmntque1(struct vnode *vp, struct mount *mp, >> > (vp->v_vflag & VV_FORCEINSMQ) == 0) { >> > VI_UNLOCK(vp); >> > MNT_IUNLOCK(mp); >> > - if (dtr != NULL) >> > - dtr(vp, dtr_arg); >> And how is it supposed to work? >> >> For insmntque(), the default destructor resets vnode vop vector to >> deadfs_vops, before calling vgone(). Now consider any original user of >> insmntque(), like msdosfs: >> >> nvp->v_data = ldep; >> ... >> error = insmntque(nvp, mntp); >> if (error != 0) { >> free(ldep, M_MSDOSFSNODE); >> >> Isn't ldep is now freed twice? > It is not double-free of ldep, but leaked nvp. Still I do not understand > how it is supposed to work. > Huh, now that's weird. I could have sworn insmntque was calling insmntque1 with dtr == NULL. I'll be reverting this shortly. >> >> > return (EBUSY); >> > } >> > vp->v_mount = mp; >> > @@ -1989,13 +1986,6 @@ insmntque1(struct vnode *vp, struct mount *mp, >> > return (0); >> > } >> > >> > -int >> > -insmntque(struct vnode *vp, struct mount *mp) >> > -{ >> > - >> > - return (insmntque1(vp, mp, insmntque_stddtr, NULL)); >> > -} >> > - >> > /* >> > * Flush out and invalidate all buffers associated with a bufobj >> > * Called with the underlying object locked. >> > diff --git a/sys/sys/param.h b/sys/sys/param.h >> > index 948a34da94ec..6bf688105329 100644 >> > --- a/sys/sys/param.h >> > +++ b/sys/sys/param.h >> > @@ -76,7 +76,7 @@ >> > * cannot include sys/param.h and should only be updated here. >> > */ >> > #undef __FreeBSD_version >> > -#define __FreeBSD_version 1400051 >> > +#define __FreeBSD_version 1400052 >> > >> > /* >> > * __FreeBSD_kernel__ indicates that this system uses the kernel of >> > FreeBSD, >> > diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h >> > index a1dbdcff4cb5..390cb8791f54 100644 >> > --- a/sys/sys/vnode.h >> > +++ b/sys/sys/vnode.h >> > @@ -689,8 +689,6 @@ int getnewvnode(const char *tag, struct mount *mp, >> > struct vop_vector *vops, >> > struct vnode **vpp); >> > void getnewvnode_reserve(void); >> > void getnewvnode_drop_reserve(void); >> > -int insmntque1(struct vnode *vp, struct mount *mp, >> > - void (*dtr)(struct vnode *, void *), void *dtr_arg); >> > int insmntque(struct vnode *vp, struct mount *mp); >> > u_quad_t init_va_filerev(void); >> > int speedup_syncer(void); > -- Mateusz Guzik