From nobody Mon Apr 29 11:52:21 2024 X-Original-To: freebsd-fs@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 4VShXJ6QQrz5J9xH for ; Mon, 29 Apr 2024 11:52:32 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VShXJ5rgFz400F for ; Mon, 29 Apr 2024 11:52:32 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714391552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=r+AtH8oqTfqQFOoCVw3VC8bNyXbwtp8oCM8jGd3XOPc=; b=UOMUblpcy0oPduj7fuUYpQTziGj8E+SU/4qHFXehtpR8NWRBepQcvW4S7vo4Zg2AXBoVaJ 5VNZ6FrnSX/e/dXZxkJOXFJJamNL8rdyoxLI5QkXlY7XftuZbFzMj1Baf7BuBhmHNR24so OyqEH9Geq1EBnPZZLF3rCEHtAoB1wUZRTSkrbhkVgsQfGVYk9jw/Qx/chmrOg6or8fQUPc SahG5uyeHoqJkNRTdnxsFn88+BTeHj96OkSDGwfMgYYaSuprMUtt3VoYryfoJ7Fduhni4Y FA4NXbK3nH0kBNLe/CBamKdTio938zwSaT7kqD44nVIUc3FFUDesLgRsZ96sGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714391552; a=rsa-sha256; cv=none; b=wgSJY7rYsmGnlX+eQ8K6cvWc4OFW8czcgcmh87Y2U+3dQumca7E6r3/uO5cIs5QhrXZtkI ncjKK40WJvWW8pk2lt0vMbE21EI7TYaqBmxWeUUpdZzr1M1E+RLJ2JUEhXU5R7Pi5o0nBm DUQCehLgTZhWZ0E7jpbxYpi55Qx86XH99IqzwzpLGaBerZKRmoXJz1/7myHS26/DtOtPN3 1TAVoa3wsZvcuojYhTHho1XePIG87xgessPgQudik2cG1VVAU46HcXL2oJBaYRvqUNzVqY S+IjqnysUDcUCmcW7YB6u7RNCzV9H+/+axrNMle/Z4HULAZFvl19vWJ+eIsYdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714391552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=r+AtH8oqTfqQFOoCVw3VC8bNyXbwtp8oCM8jGd3XOPc=; b=Pl8LgqB/Eju0MoRH6lT7P1LvgfeeyPeyIKHApzJFIp2cJshZffmbHaEkXw0xHeid9wA6/M +XfsZt3r7tsw64BJvi7gelcjeCnuO183QqZw2XYDdFaReMe7b7gpd/qZZ0n/YR2L9NBrhk FC61F1X7LPCoYGDNEaMWIj7X4OOjKdCxZ8rpWlsl7+2Fwf1PNtZmM1CLIEWG8fWVGt2/Hs 7CVHYvaIPVHkX2kyzqMp0ZlCx3Sxr5fjlC8+Q1lfXfYlNRWu4WKR4jR/JjxTEILRAgL38L lOV/jwUcQM+VN26H0xwpZpe/jE+ISFI/6qW43gOmaLpUT9awXKNBiz/Fc3xOKA== Received: from francois.localnet (92-184-98-203.mobile.fr.orangecustomers.net [92.184.98.203]) (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) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VShXJ010vzYK5 for ; Mon, 29 Apr 2024 11:52:31 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: freebsd-fs@freebsd.org Subject: Re: How to create overlay file system on FreeBSD? Date: Mon, 29 Apr 2024 20:52:21 +0900 Message-ID: <1987710.vslOlgHxSZ@francois> Organization: FreeBSD In-Reply-To: References: <823a4c68-37ad-4fd9-9a54-f49f25f3b50c@callfortesting.org> List-Id: Filesystems List-Archive: https://lists.freebsd.org/archives/freebsd-fs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-fs@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart5980539.Zv9zXsTiuT"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart5980539.Zv9zXsTiuT Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii"; protected-headers="v1" From: Olivier Certner To: freebsd-fs@freebsd.org Subject: Re: How to create overlay file system on FreeBSD? Date: Mon, 29 Apr 2024 20:52:21 +0900 Message-ID: <1987710.vslOlgHxSZ@francois> Organization: FreeBSD MIME-Version: 1.0 Hello, What you describe is exactly the point of unionfs(5). I'll suggest that you have a look at mount_unionfs(8). Note however that, with the current implementation, it is not directly possible to have a separate mount point for the union itself: It will either shadow the lower layer (default behavior) or the upper layer (with mount option 'below'). You can workaround that using a nullfs(5) mount before mounting the union. The main caveat is that unionfs(5) is notoriously hard to implement right, is very much dependent on lots of VFS internals and was almost unmaintained for a very long time. In the past few years, there has been some significant effort to at least stabilize it (avoid crashes, deadlocks and other locking problems, etc.), so you may want to give it a shot and see if that is enough for your use case. I've been contracted by the FreeBSD Foundation to work, among others, on a full revamp of unionfs, aimed at stability, consistency and well-defined behavior in contorted cases, so at least the situation is bound to change, although it is not going to happen overnight but will rather take a year or more after the kick-off. Thanks and regards. -- Olivier Certner --nextPart5980539.Zv9zXsTiuT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmYvifUACgkQjKEwQJce Jie9Bg//Zq/3vVUP0E2AHumZstsma5+uLHubkGb104GkmTQdnJQ8/MhhOz4ozdgI KSfXKWdwrPAw4EgpBwpal7ywpxRpa/MDR3mQs2X1ZpA+7Ditz2Qmc3ssFCvGQ0Ev ChC8/09MXUkxtKzD4nV4XjCom/bKnSE5VyQtyj6ik/9iqT3+bU2BKmomuBvibk0B JTSh4FzfW0OLK8zlYAmzgd00I+byLKu7YL3sB33YWefOCGXuxWDD/q6c70t4xooz 2YAyQU4njhSsbvMBPiU1FIi/GfhPG0CDNC3XI/HoJfkafI6i2q9c6pRmfSxMwm0r q+ZC4/g1L8jDz1i8UNmQ823x2pZCxhTh73HeYgLmRuV2VOdntm/UU7sDKzVPylQ0 FQb1uwmJXGqQKG8mwFZxGL37IUh7BCeaiI96tp/dKENcdemmxXIUMGIb48bkgkll +ZnV/8L+Vj7fzbfSSExGhKC+8XOpG16Deow+YwLC0EJ6X6MYtOQqFjIZE0XA1pyF WYH0G+dupbN077p3f9L2fgG6bX6kb0g7cd0/oMbcY3vKtQjV1BtGHe4KUkWaEXuZ HAayq/d6m/rnGN1sSYikpQrsioqcCLWkRNmVyURgmDH1ADnXobPH2OTzRstgpxSq nt6QqtvSCK6Dwjfqv46fpqTYDxBeg3lehIRV3Yo4QP3aXxE+l+s= =rezP -----END PGP SIGNATURE----- --nextPart5980539.Zv9zXsTiuT--