From owner-dev-commits-src-main@freebsd.org Thu Aug 26 11:38:39 2021 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E6E75667BD9; Thu, 26 Aug 2021 11:38:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GwLTC5yC6z3Dfh; Thu, 26 Aug 2021 11:38:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B485D7346; Thu, 26 Aug 2021 11:38:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 17QBcd2I039941; Thu, 26 Aug 2021 11:38:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17QBcdXr039940; Thu, 26 Aug 2021 11:38:39 GMT (envelope-from git) Date: Thu, 26 Aug 2021 11:38:39 GMT Message-Id: <202108261138.17QBcdXr039940@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 7b2561b46be6 - main - vfs: stop open-coding vfs_getvfs in kern_unmount MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b2561b46be609deedeaacb7ccb35b5bc70d77ad Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2021 11:38:40 -0000 The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=7b2561b46be609deedeaacb7ccb35b5bc70d77ad commit 7b2561b46be609deedeaacb7ccb35b5bc70d77ad Author: Mateusz Guzik AuthorDate: 2021-08-26 08:29:47 +0000 Commit: Mateusz Guzik CommitDate: 2021-08-26 11:38:31 +0000 vfs: stop open-coding vfs_getvfs in kern_unmount Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/vfs_mount.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 6804f6eb68bf..2d955fc4889f 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1589,7 +1589,8 @@ kern_unmount(struct thread *td, const char *path, int flags) struct nameidata nd; struct mount *mp; char *pathbuf; - int error, id0, id1; + fsid_t fsid; + int error; AUDIT_ARG_VALUE(flags); if (jailed(td->td_ucred) || usermount == 0) { @@ -1607,20 +1608,12 @@ kern_unmount(struct thread *td, const char *path, int flags) if (flags & MNT_BYFSID) { AUDIT_ARG_TEXT(pathbuf); /* Decode the filesystem ID. */ - if (sscanf(pathbuf, "FSID:%d:%d", &id0, &id1) != 2) { + if (sscanf(pathbuf, "FSID:%d:%d", &fsid.val[0], &fsid.val[1]) != 2) { free(pathbuf, M_TEMP); return (EINVAL); } - mtx_lock(&mountlist_mtx); - TAILQ_FOREACH_REVERSE(mp, &mountlist, mntlist, mnt_list) { - if (mp->mnt_stat.f_fsid.val[0] == id0 && - mp->mnt_stat.f_fsid.val[1] == id1) { - vfs_ref(mp); - break; - } - } - mtx_unlock(&mountlist_mtx); + mp = vfs_getvfs(&fsid); } else { /* * Try to find global path for path argument.