From nobody Mon Jan 26 07:18:33 2026 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 4f00Jj5N5Tz6PqY2 for ; Mon, 26 Jan 2026 07:19:01 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f53.google.com (mail-yx1-f53.google.com [74.125.224.53]) (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 4f00Jj1GDSz40n8 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-f53.google.com with SMTP id 956f58d0204a3-64959e30705so2854267d50.1 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=JpN6fMOcDD6LwLnrJJ9xsQbvQX0ou+cfcMP8Fp1vI4VvtCXRA9m3GLepipWxCpqng7 ljaHYGCYge9oLnlaaShGz/Igs1rjDblNFRGfejix79D/pZ4IyXF5DAObMAuKkSqkU1hz Bi61wMjGhsm4e4UdTbIktP57ZHQCd7jg5N/+6dtD/ljJ63lpAqQprfZmPhB+fPaVb0jZ jmlYjJ1hNiSn2zx8qyLEDCjRqzPep3Ix2Y8FA9WcQc0FE38jXiNfsd4yDDuLEDItDU2I VPG+lcIbGj3OT7N/JRNrU+QdoBqrj+J/TU5AG74YKLFLJxuHZbMI0FkvouS4a8xGZsA5 1ywg== X-Forwarded-Encrypted: i=1; AJvYcCVTg/wknhbgtWg2EEm8/A82IZaTAzXuv/TPnCAh27pSthoFleq1j7Ixx1897LGhyelN8qjrkTStd4g5/pnxbHqNdoFe@freebsd.org X-Gm-Message-State: AOJu0YxDbJ4OznSZs854o5yFkRnc8Vqy+xq+PMbleAtcfpPFfnpEmTLs 5O99bTMAjck5d5ukjO+U+0Nvi9zOKNy8T1t3bbeG7uY5uNsS0lpUuZcrpQsPfUVK X-Gm-Gg: AZuq6aK/KV+qza+6waDqWB63XZ3ozWqdaY4FNTqPkT0v+gBYul0CG6molVA6F14rg/Z SoLJ/JDX06Dk8m+Q+SuLs5VW7lqYAzpu/fmz/qUoQxcxoei1kfq4R3W75578HLDvnoVtsckRWFU wJIMHplY+wLxdJawysgQlHnWxqNilMZBn+LyFvL1gCuogg9+ij5cWSc24ra3H4djWIjCCl5Mm6+ h6bWslD4RpDFCV/2ZAZFzNaq/paIoKaFNZLJ5wWfLsJqE9CTQmrhh4WMOySCtqGtvHEEKzIouyY G2CYeViZcex4u/8yIYRwFnsL0MBdiHfIXwy3Ym7FJgoXOE/xbmytZsV5IE3etyicOOlsJ5NX4vA uSpxEryT4zRWLPhbvz5pkGTn0CY8ajgCM9002AgO0z2yvh5Dol4AAYSivFzSt4iWH1Yqsbh17+e aFM/ZVt6o6HBxqLVUjsQxZdWHK8r/3xJPtZmkUDnwip4kKy8/NU1UoLWY6fBagVA1uOnSUI+8mR PqZiuY2qQ== X-Received: by 2002:a05:690c:ed5:b0:793:d6f6:a221 with SMTP id 00721157ae682-7945a86fdddmr62971727b3.13.1769411940146; Sun, 25 Jan 2026 23:19:00 -0800 (PST) Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com. [209.85.128.181]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7943b01eef5sm44209137b3.18.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-yw1-f181.google.com with SMTP id 00721157ae682-79456d5dda4so9867977b3.2 for ; Sun, 25 Jan 2026 23:18:59 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUAUeys7JV4eLJwyGXH1yLLHanprw+SNv2y4AsRaBowMxmWNFffrLDMsoM/KoUvruT1nIISOuaZVHJUjwsDpez8XSXl@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 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: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4f00Jj1GDSz40n8 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.