From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33324C3DA6E for ; Sat, 23 Dec 2023 03:55:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 789496B0072; Fri, 22 Dec 2023 22:55:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 73A066B007B; Fri, 22 Dec 2023 22:55:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 629836B007E; Fri, 22 Dec 2023 22:55:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 540426B0072 for ; Fri, 22 Dec 2023 22:55:13 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 32579A1835 for ; Sat, 23 Dec 2023 03:55:13 +0000 (UTC) X-FDA: 81596717706.17.55B6276 Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100]) by imf07.hostedemail.com (Postfix) with ESMTP id B1EB340005 for ; Sat, 23 Dec 2023 03:55:09 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf07.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703303711; a=rsa-sha256; cv=none; b=vN7iqOyiadcv1tgcrgGqrANLa5FMk+CqGLwnrv9uYtxjAg5XTw5RGKbcCPLdF7Wc+lFNaK /Pr2vBKIQD9S4OdoZODkE7n+cagfaIpwehEzMTCjx5RS9XMO9ThbDXvo95z0S7/6AsKyEu 2D2nkc5LJxVX1MgJ7YFjLIVrh+if3SE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf07.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703303711; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NEf9HXwZygPHUviPlg0/8AyPny5bHkZ3873Q9WPx/gY=; b=XoIN0+1wN9EVuF1Nc8fsrW0JVjfS+4BEb6R/sDy6ZPDvuupPm2YN6VeOhpFb0/BuPo3EuP ENnljDAafzdOimAf30OEAKsDRVm3H5zn4GQLuDv4375RsI0wjcqbWsUVZ8jF+yfXzqucgY jeeX62TpaG2CVTskBse9k1TPi8lWLWM= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046049;MF=jefflexu@linux.alibaba.com;NM=1;PH=DS;RN=26;SR=0;TI=SMTPD_---0Vz0J.hE_1703303701; Received: from 30.212.153.241(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0Vz0J.hE_1703303701) by smtp.aliyun-inc.com; Sat, 23 Dec 2023 11:55:04 +0800 Message-ID: Date: Sat, 23 Dec 2023 11:55:00 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Fix EROFS Kconfig Content-Language: en-US To: David Howells , Gao Xiang Cc: Chao Yu , Yue Hu , Steve French , Matthew Wilcox , Marc Dionne , Paulo Alcantara , Shyam Prasad N , Tom Talpey , Dominique Martinet , Eric Van Hensbergen , Ilya Dryomov , Christian Brauner , linux-cachefs@redhat.com, linux-afs@lists.infradead.org, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-erofs@lists.ozlabs.org, Jeff Layton References: <20231221132400.1601991-5-dhowells@redhat.com> <20231221132400.1601991-1-dhowells@redhat.com> <2265065.1703250126@warthog.procyon.org.uk> From: Jingbo Xu In-Reply-To: <2265065.1703250126@warthog.procyon.org.uk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B1EB340005 X-Stat-Signature: oh7qof9eot841cj1n8j8neu6tzsbktsf X-Rspam-User: X-HE-Tag: 1703303709-404372 X-HE-Meta: U2FsdGVkX18IGKXmWDwtMmB44mbqhPOZmAqkzjn4HOQiY0HmQuDpbXd/3ehdak++awPBL4ifAXTbYX9wERee72mV3/wCfNEojW+DI0dwSqqLCKptn2xBVu5YypxT+KvzMfKwlhG//d/VFBf19XQsWyDoZ26j7RBZbcTA3HK2s2tUzj3rFlzZ9sTgJRSvMZ7yByZDPVbDvSZKBQ3RdZisYuh48CJ2UUIY/amX4LM1sg6qQMUEGFoOWBHDdEfCHPE/sH98GmzIKC2NETB0gEHLBlkMDDHT7nCUePOXZiiUtC23+FJlbhR7u1b/InkVi9dwEJgz1EQOWoYlgvYEWwjzHVsrvZgLjORzt44Xf1vgS0KJN1uC/LgCpfD8lowJxAKTamsX+UxdDFV4ljlhQSiBrjMJWZ1BpvH0FSDosUQr7V2ihjEzErYUiNfIX7pqYKdncMpkfV5SV0wT2KgsJr/yPt8Nai84v+syBKV+Opcf4/ygAxIAqfY9stPyOk+k2JMoL/kbLZ8EIPA/xXYNuYgLNBBTHPWIUt7k74OojVm6FsgH6jaOYHyBK78BeWCsMjkdgLWz7i56W2YiP7k8fHGYEcJws8Lwy6tT+dycX1oFiPMYKepCCkxlnyAPoZ8FtK9fsqQXutqsmii+DpBf2n3RcRvcAF8GbW7A2/m08YxTkNmKnIQ8Z5T4msm0cM+4SKu84fB6y3YnonN11GM0Ac1QC6Y5+rE/0tYls9f8Qt+jkBHZwYH7v6v5Rt706xLSkoOUhtLyl0o/gG6WgqDL7SOBYHc3mvdSscH7NG6KtTsi5TaWU2Xe+5qc1EqTYQozINIzIBWzIUeJr72noWoIgBoAkEKTR2QpHoqxlcgxzfeBsPajy1QvKL4DETIr0doaL7mgw4XiQFOJFi2EPCCyPP1c+9cQgp4afVf4qWpktas0NB02UeBjAY0ra+kON9kBzbPuIiTjPafheFU2aLho2a3 XswThJWd j1rpHRnrCzHkpnCbvUhdUwpnOBvrkBUKuTbi3jbv/iRnyr7Vrtkeprbzkg1tpoxlg4TXW62Bi+UWAUHxLCDufO5kb2b4kdNvtwJR3vqoPIgA1PYUdCO8r6/5h/GObND3AIOO8atJr0zSEREiQH/CHcGLU2YXVuuvg8n61NqvUomX2ynaiBElDyDEuk0wRV5wq9BXVKoOgil6VNQ6WEMUUtUNSeHQQleH24MrH7x0ewups134B0b3qzMDxvQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi, On 12/22/23 9:02 PM, David Howells wrote: > This needs an additional change (see attached). > > diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig > index 1d318f85232d..1949763e66aa 100644 > --- a/fs/erofs/Kconfig > +++ b/fs/erofs/Kconfig > @@ -114,7 +114,8 @@ config EROFS_FS_ZIP_DEFLATE > > config EROFS_FS_ONDEMAND > bool "EROFS fscache-based on-demand read support" > - depends on CACHEFILES_ONDEMAND && (EROFS_FS=m && FSCACHE || EROFS_FS=y && FSCACHE=y) > + depends on CACHEFILES_ONDEMAND && FSCACHE && \ > + (EROFS_FS=m && NETFS_SUPPORT || EROFS_FS=y && NETFS_SUPPORT=y) > default n > help > This permits EROFS to use fscache-backed data blobs with on-demand > Thanks for the special reminder. I noticed that it has been included in this commit[*] in the dev tree. [*] https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?h=netfs-lib&id=7472173cc3baf4a0bd8c803e56c37efdb8388f1c Besides I noticed an issue when trying to configure EROFS_FS_ONDEMAND. The above kconfig indicates that EROFS_FS_ONDEMAND depends on NETFS_SUPPORT, while NETFS_SUPPORT has no prompt in menuconfig and can only be selected by, e.g. fs/ceph/Kconfig: config CEPH_FS select NETFS_SUPPORT IOW EROFS_FS_ONDEMAND will not be prompted and has no way being configured if NETFS_SUPPORT itself is not selected by any other filesystem. I tried to fix this in following way: diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig index 1949763e66aa..5b7b71e537f1 100644 --- a/fs/erofs/Kconfig +++ b/fs/erofs/Kconfig @@ -5,6 +5,7 @@ config EROFS_FS depends on BLOCK select FS_IOMAP select LIBCRC32C + select NETFS_SUPPORT if EROFS_FS_ONDEMAND help EROFS (Enhanced Read-Only File System) is a lightweight read-only file system with modern designs (e.g. no buffer heads, inline @@ -114,8 +115,10 @@ config EROFS_FS_ZIP_DEFLATE config EROFS_FS_ONDEMAND bool "EROFS fscache-based on-demand read support" - depends on CACHEFILES_ONDEMAND && FSCACHE && \ - (EROFS_FS=m && NETFS_SUPPORT || EROFS_FS=y && NETFS_SUPPORT=y) + depends on EROFS_FS + select FSCACHE default n help This permits EROFS to use fscache-backed data blobs with on-demand But still the dependency for CACHEFILES_ONDEMAND and CACHEFILES can not be resolved. Though CACHEFILES is not a must during the linking stage as EROFS only calls fscache APIs directly, CACHEFILES is indeed needed to ensure that the EROFS on-demand functionality works at runtime. If we let EROFS_FS_ONDEMAND select CACHEFILES_ONDEMAND, then only CACHEFILES_ONDEMAND will be selected while CACHEFILES can be still N. Maybe EROFS_FS_ONDEMAND needs to selct both CACHEFILES_ONDEMAND and CACHEFILES? Besides if we make EROFS_FS_ONDEMAND depends on CACHEFILES_ONDEMAND, then there will be a recursive dependency loop, as fs/netfs/Kconfig:3:error: recursive dependency detected! fs/netfs/Kconfig:3: symbol NETFS_SUPPORT is selected by EROFS_FS_ONDEMAND fs/erofs/Kconfig:116: symbol EROFS_FS_ONDEMAND depends on CACHEFILES_ONDEMAND fs/cachefiles/Kconfig:30: symbol CACHEFILES_ONDEMAND depends on CACHEFILES fs/cachefiles/Kconfig:3: symbol CACHEFILES depends on NETFS_SUPPORT Hi Xiang, any better idea? -- Thanks, Jingbo