Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2749103ybi; Sun, 2 Jun 2019 00:11:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqxFh+YwmSSTQP2kqT9ydTmdcnAvvRfwC6kJy1VSNSbs76VZW5qFvVf08d4AVzZLLcvWLjeH X-Received: by 2002:a17:90a:62cb:: with SMTP id k11mr20919520pjs.26.1559459483968; Sun, 02 Jun 2019 00:11:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559459483; cv=none; d=google.com; s=arc-20160816; b=ZLOhxAymatWB1A/ul/mr4ATkFJgrsBavwONLfAcsKVYykf4oxeTp8RVHN37chPcOvv vS0nM0hkfyPcDOP1CcabgfC+xDlbYeDtW3B3aHX8LUd/gonm+wQzYClwa+vrGFfeBvWx x9JtMhFq9GxhrX7HL4ZIEXou8nOwDrz6PlEwNcxmDOocBhs2Q2Qi5Nk2NtisxMlpUrzz 1akXYlxMnFETIU+uWsFfEO8Et+ngfAO95s9JNkI9CKzQ5YNHsn0TxUDUvWUznN0YB8W1 mYfVNVsQ2Y5R5Vlwgbmm2gaTEqqMrbsZNSsKITP6ORpc6NUFXHDC+nz4Lg3QsBxkFg6c J/Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=X84XQkIIhbzI/1DrC38YNb+tCYYcuI5s2GMEjO0K2to=; b=tcX2Ft42PQFWVYkihfx1SWz2RvbupwFUQE6Q+0Hoi6WYF0j4CtWTfraG5uPAIBSq4J rfBK4JrtP+2HX+44BDNhLhuG96PGfqzAMpG7hW4LxLLUjrhb1ZE+4ZU5pWDh9TwmRXgP dboPayjnxvdwC2iMIXKrY8upHVUkCZsi/p6f/ycVsPMqI4J64TamzCjb/MfVDpP/aiWZ VF/PS1PfAP6wLpyBK61qCWLIuk1gsgLNNR1uDm3vt4av/JcOvynb7zyJip8oi8UcpRFN gAzLLz5PbJ332w6TcB1QHIonl/YYQSk6lJqVo2uEy4eVtDwC+pO4zCbBvSMGlSN564uZ zJRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OxNu1MMI; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m13si12203732pjr.102.2019.06.02.00.10.54; Sun, 02 Jun 2019 00:11:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OxNu1MMI; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726261AbfFBHIy (ORCPT + 99 others); Sun, 2 Jun 2019 03:08:54 -0400 Received: from mail-yw1-f42.google.com ([209.85.161.42]:37425 "EHLO mail-yw1-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725977AbfFBHIy (ORCPT ); Sun, 2 Jun 2019 03:08:54 -0400 Received: by mail-yw1-f42.google.com with SMTP id 186so6036514ywo.4; Sun, 02 Jun 2019 00:08:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=X84XQkIIhbzI/1DrC38YNb+tCYYcuI5s2GMEjO0K2to=; b=OxNu1MMI2QkEm+n3L6Rbku4wAiO2MmO64eCgYg81FhnHH/YrXNPeP2g/U5UjYP8ffD sxO3+I8wVG1Up1X/yvP0tXl0kK21lQIYxtspWDCVgOlgNd+6i8mft1A3d5CeLOz6ZHH3 TdGWpP+FvpTBtoeFPRYLPk/FUTJ3mFPvMD/E1zRnssiooScmuumrV0nTxyUHi1d0mM4P MjmWvDRfD8Zsnaym5+bzrjN+YP09IPdwGU5Se/IEdoAi0KnRZd0h5CkSz+c2ih9i8FuZ 0Om86L5wMFq+adq6ZO2HwfaPmIHDbV3E040eOSrsPwoxpF4LEh4d8MqKo71vdM0329B7 egCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=X84XQkIIhbzI/1DrC38YNb+tCYYcuI5s2GMEjO0K2to=; b=h3Kr4WoeFD6ycf3PLHYG9T9R6x9WWK2ouxsBelEtMxkYJCHXdR01rbo5tvA5XbgTRx 8jqyMKG6VVpVuic299EwLpcSkbqV9ETWFGeLDtW6BNFLleQjEs4NCBBYcnIaLX33CipM negRY8TSTpKBH1HM+sMuweIxyXXoI6mMEqicVs4/QdqIQRreBWbRfxFcefiEjP7hS6uk kgDwFpzvnWvBLvgfkXaeENxuuUMKmB7ANT54PqICpbCQ1+TwYJ9AaJL2+NoL16TPb9nq 1Fj0GFw+009OjncIEx3IBuo7sxncJLCSiI97jptmZgbj5xOPhM4L0aQGkcHM7gN7+mLk d6Pg== X-Gm-Message-State: APjAAAUVJ14zEXsKtMRohkmJ6d+5WK6jG1A1CNN/MOAra6OPF1zbFAOD Qav+/8VxnGMLTpdgr1mGt0kVceQavOnIlY6wVzk= X-Received: by 2002:a81:3956:: with SMTP id g83mr10411312ywa.183.1559457785607; Sat, 01 Jun 2019 23:43:05 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Amir Goldstein Date: Sun, 2 Jun 2019 09:42:54 +0300 Message-ID: Subject: Re: which lower filesystems are actually supported? To: Marco Nelissen Cc: overlayfs , Ext4 , Theodore Tso , Gabriel Krisman Bertazi , "Darrick J. Wong" Content-Type: text/plain; charset="UTF-8" Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org [+cc ext4] Heads up on bug reports "Overlayfs fails to mount with ext4" On Sat, Jun 1, 2019 at 11:02 PM Marco Nelissen wrote: > > According to the documentation, "The lower filesystem can be any filesystem > supported by Linux", however this appears to not actually be the case, since > using a vfat filesystem results in the mount command printing "mount: > wrong fs type, bad option, bad superblock on overlay, missing codepage or > helper program, or other error", with dmesg saying "overlayfs: filesystem on > '/boot' not supported". > (that's from ovl_mount_dir_noesc(), when ovl_dentry_weird() returns nonzero) Specifically for vfat it is weird because of dentry->d_flags & (DCACHE_OP_HASH | DCACHE_OP_COMPARE) because it is case insensitive. > > Should vfat be supported, or is the documentation wrong? If the documentation Documentation is wrong. > is wrong, what other filesystems are (not) supported? There are some special cases like /proc/sys and auto mount points, but the most common reason for unsupported lower is case insensitive filesystems and filesystems that support unicode character folding. Those filesystems MAY be case insensitive/unicode, depending on mkfs/mount options: adfs affs cifs efivarfs fat hfs hfsplus hpfs isofs isofs jfs xfs(*) ext4(**) (*) xfs case insensitive-ness feature is hidden from dcache (dcache is disabled), so overlayfs mount won't fail, but it may have unexpected behaviors. (**) ext4 supports per directory case insensitive and unicode folding since v5.2-rc1, if the filesystem was configured that way with mkfs/tune2fs. In this case, regardless of whether the lower dir is case insensitive or not, overlayfs mount will fail. I am guessing when people start using case insensitive enabled ext4, this problem is going to surface, because the same ext4 (e.g. root fs) could be used for samba export (case insensitive) and docker storage (overlayfs). I can think of some solutions for the private case of same case insensitive fs used for upper and lower, but let's see that the problem is real before discussing a solution. Ted, Gabriel, I didn't see that xfstests-bld was updated with case folding configs for ext4, nor that xfstests has any new case folding tests (saw some posted), so I guess that is still in the works (?). Did you happen to try out overlayfs/docker over a case insensitive enabled fs? I wonder if you could spare a few extra GCE instances per pre-release tests to run an overlay over ext4 config? I was nagging Darrick about this for a while and now I think the overlay/xfs config is being tested regularly. Beyond the fact that there are vast number of users using docker with overlay over ext4, overlayfs tends to find rare filesystem bugs because of its special use patterns (e.g. acd1d71598f7 "xfs: preserve i_rdev when recycling..."). Thanks, Amir.