From nobody Mon Jan 26 07:18:33 2026 X-Original-To: dev-commits-src-main@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 4f00Jj2YdYz6PqMn for ; Mon, 26 Jan 2026 07:19:01 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f47.google.com (mail-yx1-f47.google.com [74.125.224.47]) (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 "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f00Jj0YWmz40xQ for ; Mon, 26 Jan 2026 07:19:01 +0000 (UTC) (envelope-from 6yearold@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yx1-f47.google.com with SMTP id 956f58d0204a3-64455a2a096so3157911d50.3 for ; Sun, 25 Jan 2026 23:19:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769411940; x=1770016740; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fEXVUVrsxL41QKr6+pFCZYN5qsU/Dd8xyrm/33b4iBI=; b=qNnbjet2pEkYJI5TF794hsZClK84MBwE++0UVbkK+9X8VR7H0BoMC8MLRhm45g+NPM XSk3W2/57zleMW5MdnmmL6EnUeoZJ9w0/KZgwKZclm1rQFL2FNc6VV0NfUgH5v81P+OC E213ba3MtF6v9xc0PhfPpOHO1gtXAf/3g5nLoHTlDKdHFQpIoBDu/epTqbJWlQthA6Fj 0jNgNsXVT/Zx5BrswDVYV+2mwzH9IUrQh4LwK3DP8BNHOFO5+rs1HT5Cpjs7LAbQLOib 6p7mJXIxqSFKWtUdiz/AA9KOkw8cMLk3qCt5j+U696WTcQ5fMPKo8sgyUFxf440QuVsJ GYsA== X-Forwarded-Encrypted: i=1; AJvYcCW1BS///t9Q4i6XFarMwGAsh3yFvxmJB3zBwiBQ2hOc6FnYUAGF1IIXIOXmtmDfbER9CuNhAkl+6VlCZSQaX08fBYO49g==@freebsd.org X-Gm-Message-State: AOJu0YywPQVK0GY5FxMjcuNWzVf0LDHO+I+fzsouexBntU636EN+X//L rrBxDxNz4AQybQhvVYOn3NRTaMzwCzJVgVRADDIBwgBUCXu92jLJUzDfTLmTt8x9 X-Gm-Gg: AZuq6aKg2gjVluUi6P6SrhKnLblXuMH8tEUwqfCdeB9KE+1+xepOxFcRCC1hc3/7N5w zCxdgbZ1NQGLPkmO/9BmdAuKtQ7QORdXiuln3eds0p5J1oGNcC0iRW/ewVn+LL6WQhDhpV57C5E IbiVIIwqqAbNVt1MF33diO4pOnbAWyh/+nSqcYG5fnnhLYLgvH+l4lTOCFho6OTW4RTSyJzSrD6 N+QtI8ihxJV6GOkf+7bJFTA8mwKM2Dfp8/VQUOVHkp6bUsAO6vaHsHaxQsdzKC8m4c1gCLx86hc s5rCrMmQT/yYKxl1dTfn2XqBwYzbWKk4GkXqWcpmFELhjNPGmdut8p+M1muZ39nVKUQ/LR698CN Zbxcuf+ioxnMIzAfoMm9n4HEcFjlILKBnw5E4/b/H4LcwIiS1mIcY8/yh8Tp5GhI+YHlIbDG6wC Rdpn8MoX70MGFR71xfyX1VYiDxtTBJ+MW0ocHFRxuxrkWrb4YIDGoqLkYQjN/pMnnMkyoZIUVAq CsifQ== X-Received: by 2002:a05:690c:805:b0:788:201c:a170 with SMTP id 00721157ae682-7945a9b2bcdmr47637717b3.42.1769411940045; Sun, 25 Jan 2026 23:19:00 -0800 (PST) Received: from mail-yx1-f53.google.com (mail-yx1-f53.google.com. [74.125.224.53]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7943b2cc8casm44267057b3.50.2026.01.25.23.18.59 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 25 Jan 2026 23:18:59 -0800 (PST) Received: by mail-yx1-f53.google.com with SMTP id 956f58d0204a3-64959e30705so2854257d50.1 for ; Sun, 25 Jan 2026 23:18:59 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCVeB+WXd5pt9l0xvhmkgD7+3FURew366DxxetwPI096pHoVVQMbIuSDx6KiKBzTFtgb47KyQKTvTEBn9+ExfOQxH1uaSg==@freebsd.org X-Received: by 2002:a05:690c:fd4:b0:787:badd:4c with SMTP id 00721157ae682-7945a8dd1c8mr63568097b3.27.1769411939233; Sun, 25 Jan 2026 23:18:59 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <697499a8.335a0.2e12eda1@gitrepo.freebsd.org> In-Reply-To: From: Gleb Popov Date: Mon, 26 Jan 2026 10:18:33 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_QhVNvAISOLSbN7xI98u9H3ZuzIGzZTmjoy_RGvtZKVA_Ryy7GhVia5nGX4 Message-ID: Subject: Re: git: 10037d0978f8 - main - fusefs: Implement support for the auto_unmount option kernel-side To: Konstantin Belousov , Alan Somers Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:74.125.0.0/16, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4f00Jj0YWmz40xQ On Sun, Jan 25, 2026 at 10:39=E2=80=AFPM Konstantin Belousov wrote: > > > diff --git a/sys/fs/fuse/fuse_device.c b/sys/fs/fuse/fuse_device.c > > index 41387de3ce71..2c1e19953dfd 100644 > > --- a/sys/fs/fuse/fuse_device.c > > +++ b/sys/fs/fuse/fuse_device.c > > @@ -65,7 +65,6 @@ > > #include > > #include > > #include > > -#include > > #include > > #include > > #include > > @@ -177,6 +176,11 @@ fdata_dtor(void *arg) > > fuse_lck_mtx_unlock(fdata->ms_mtx); > > FUSE_UNLOCK(); > > > > + if (fdata->mp && fdata->dataflags & FSESS_AUTO_UNMOUNT) { > if (fdata->mp !=3D NULL && (fdata->dataflags & FSESS_AUTO_UNMOUNT= ) !=3D 0) { > > > + vfs_ref(fdata->mp); > Don't you need to take the reference when the fdata is created and mp mem= ber > is initialized, and not here? > > What guarantees that the mp is still ours? > In fact, I think that you should use vfs_busy() and not vfs_ref(), > since what prevents mp from being unmounted under us? > > > + dounmount(fdata->mp, MNT_FORCE, curthread); > > + } > > + I have to admit that I had no idea what I'm doing when writing this code. I first tried VOP_UNMOUNT, then something else, then started grepping the source to figure how other parts of the system perform this task and ended up with this. It worked for me for a simple test, so I put it on the review hoping that more knowledgeable people would catch if there is something wrong. My bad that I didn't put you on the review too. Anyways, to properly answer your question I'd need a pointer to a good read on vfs_* stuff. CCing Alan as a reviewer of that code.