From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.stoffel.org (mail.stoffel.org [172.104.24.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 312402580F7; Tue, 20 May 2025 18:49:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.104.24.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747766966; cv=none; b=Kpv1x5/VO2uC0j9OXkUkCDPf+AkKdGbG1PjGlF5mkGpRWEkkQ07+Fog3vuN6RMPNylpK/8cIUOYfTSTpP0dQTEXUY/TvKymfq6rm8AZ6seavzUZG4UhtcOZIVVQ1mHqGmhaGFIAtL81x1ZFv5aWAlr3yEacijykALw4AX4pLQrw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747766966; c=relaxed/simple; bh=vNUKqmYqQw8nL0EvcTeWQO4Ef7PMDGwmPmhwd8foeds=; h=MIME-Version:Content-Type:Message-ID:Date:From:To:Cc:Subject: In-Reply-To:References; b=LSpgWM4kqFr4ffbJ2jEScs2BB4dyLmMf0mSe4/ztM2Ue4BVzFB66orxSxB/maRJiYjtYNop0mq8KqFXs9jk3EbfCqA/4mg+1lFcowFn/zlid9HzlU2z1zV2iZ9I1/1kScoBsuz5GXVXXKWyTZ4/mTQu7uT8QdhDmlJJzD1fSID0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=stoffel.org; spf=pass smtp.mailfrom=stoffel.org; arc=none smtp.client-ip=172.104.24.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=stoffel.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=stoffel.org Received: from quad.stoffel.org (syn-097-095-183-072.res.spectrum.com [97.95.183.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.stoffel.org (Postfix) with ESMTPSA id 291DB1E38E; Tue, 20 May 2025 14:49:17 -0400 (EDT) Received: by quad.stoffel.org (Postfix, from userid 1000) id 92F16A0FDF; Tue, 20 May 2025 14:49:16 -0400 (EDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <26668.52908.574606.416955@quad.stoffel.home> Date: Tue, 20 May 2025 14:49:16 -0400 From: "John Stoffel" To: Kent Overstreet Cc: Amir Goldstein , linux-fsdevel@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-unionfs@vger.kernel.org, Miklos Szeredi , Alexander Viro , Christian Brauner , Jan Kara X-Clacks-Overhead: GNU Terry Pratchett Subject: Re: [PATCH 0/6] overlayfs + casefolding In-Reply-To: References: <20250520051600.1903319-1-kent.overstreet@linux.dev> X-Mailer: VM 8.3.x under 28.2 (x86_64-pc-linux-gnu) >>>>> "Kent" =3D=3D Kent Overstreet writes: > On Tue, May 20, 2025 at 04:03:27PM +0200, Amir Goldstein wrote: >> On Tue, May 20, 2025 at 2:43=E2=80=AFPM Kent Overstreet >> wrote: >> > >> > On Tue, May 20, 2025 at 02:40:07PM +0200, Amir Goldstein wrote: >> > > On Tue, May 20, 2025 at 2:25=E2=80=AFPM Kent Overstreet >> > > wrote: >> > > > >> > > > On Tue, May 20, 2025 at 10:05:14AM +0200, Amir Goldstein wrote: >> > > > > On Tue, May 20, 2025 at 7:16=E2=80=AFAM Kent Overstreet >> > > > > wrote: >> > > > > > >> > > > > > This series allows overlayfs and casefolding to safely be used on the >> > > > > > same filesystem by providing exclusion to ensure that overlayfs never >> > > > > > has to deal with casefolded directories. >> > > > > > >> > > > > > Currently, overlayfs can't be used _at all_ if a filesystem even >> > > > > > supports casefolding, which is really nasty for users. >> > > > > > >> > > > > > Components: >> > > > > > >> > > > > > - filesystem has to track, for each directory, "does any _descendent_ >> > > > > > have casefolding enabled" >> > > > > > >> > > > > > - new inode flag to pass this to VFS layer >> > > > > > >> > > > > > - new dcache methods for providing refs for overlayfs, and filesystem >> > > > > > methods for safely clearing this flag >> > > > > > >> > > > > > - new superblock flag for indicating to overlayfs & dcache "filesystem >> > > > > > supports casefolding, it's safe to use provided new dcache methods are >> > > > > > used" >> > > > > > >> > > > > >> > > > > I don't think that this is really needed. >> > > > > >> > > > > Too bad you did not ask before going through the trouble of this implementation. >> > > > > >> > > > > I think it is enough for overlayfs to know the THIS directory has no >> > > > > casefolding. >> > > > >> > > > overlayfs works on trees, not directories... >> > > >> > > I know how overlayfs works... >> > > >> > > I've explained why I don't think that sanitizing the entire tree is needed >> > > for creating overlayfs over a filesystem that may enable casefolding >> > > on some of its directories. >> > >> > So, you want to move error checking from mount time, where we _just_ >> > did a massive API rework so that we can return errors in a way that >> > users will actually see them - to open/lookup, where all we have are a >> > small fixed set of error codes? >>=20 >> That's one way of putting it. >>=20 >> Please explain the use case. >>=20 >> When is overlayfs created over a subtree that is only partially case folded? >> Is that really so common that a mount time error justifies all the vfs >> infrastructure involved? > Amir, you've got two widely used filesystem features that conflict and > can't be used on the same filesystem. Wait, what? How many people use casefolding, on a per-directory basis? It's stupid. Unix/Linux has used case-sensitive filesystems for years. Yes, linux supports other OSes which did do casefolding, but yikes... per-directory support is just insane. It should be per-filesystem only at BEST.=20=20 > That's _broken_. So? what about my cross mounting of VMS filesystems with "foo.txt;3" version control so I can go back to previous versions? Why can't I do that from my Linux systems that's mounting that VMS image?=20=20=20 Just because it's done doesn't mean it's not dumb.=20=20 > Users hate partitioning just for separate /boot and /home, having to > partition for different applications is horrible. And since overlay > fs is used under the hood by docker, and casefolding is used under > the hood for running Windows applications, this isn't something > people can predict in advance. Sure I can, I don't run windows applications to screw casefolding. :-) And I personally LIKE having a seperate /boot and /home, because it gives isolation. The world is not just single user laptops with everything all on one disk or spread across a couple of disks using LVM or RAID or all of the above.=20=20 I also don't see any updates for the XFS tests, or any other filesystem tests, that actually checks and confirms this decidedly obtuse and dumb to implement idea.=20=20 John