From patchwork Fri Jul 30 19:46:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gao Xiang X-Patchwork-Id: 12411799 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E7F5C4338F for ; Fri, 30 Jul 2021 19:46:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 66AF560F26 for ; Fri, 30 Jul 2021 19:46:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231210AbhG3Tqp (ORCPT ); Fri, 30 Jul 2021 15:46:45 -0400 Received: from out30-42.freemail.mail.aliyun.com ([115.124.30.42]:45489 "EHLO out30-42.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230402AbhG3Tqp (ORCPT ); Fri, 30 Jul 2021 15:46:45 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R151e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04394;MF=hsiangkao@linux.alibaba.com;NM=1;PH=DS;RN=12;SR=0;TI=SMTPD_---0UhT8q23_1627674386; Received: from e18g09479.et15sqa.tbsite.net(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0UhT8q23_1627674386) by smtp.aliyun-inc.com(127.0.0.1); Sat, 31 Jul 2021 03:46:38 +0800 From: Gao Xiang To: linux-erofs@lists.ozlabs.org Cc: linux-fsdevel@vger.kernel.org, nvdimm@lists.linux.dev, LKML , "Darrick J. Wong" , Chao Yu , Liu Bo , Joseph Qi , Liu Jiang , Huang Jianan , Tao Ma , Gao Xiang Subject: [PATCH v2 0/3] erofs: iomap support for uncompressed cases Date: Sat, 31 Jul 2021 03:46:22 +0800 Message-Id: <20210730194625.93856-1-hsiangkao@linux.alibaba.com> X-Mailer: git-send-email 2.24.4 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org Hi folks, This patchset mainly adds EROFS iomap support for uncompressed cases I've planed for the next merge window. The first 2 patches mainly deal with 2 new cases: 1) Direct I/O is useful in certain scenarios for uncompressed files. For example, double pagecache can be avoid by direct I/O when loop device is used for uncompressed files containing upper layer compressed filesystem. 2) DAX is quite useful for some container use cases in order to save guest memory extremely by using the minimal lightweight EROFS image. BTW, a bit more off this iomap topic, chunk-deduplicated regfile support is almost available (blob data support) for multi-layer container image use cases (aka. called RAFS v6, nydus [1] will support RAFS v6 (EROFS-compatible format) in the future and form a unified high-performance container image solution, which will be announced formally independently), which is also a small independent update. The last patch relies on the previous iomap core update in order to convert tail-packing inline files into iomap, thus all uncompressed cases are handled with iomap properly. Comments are welcome. Thanks for your time on reading this! Thanks, Gao Xiang [1] https://github.com/dragonflyoss/image-service changes since v1: - mainly resend with commit message & comments update. Gao Xiang (2): erofs: dax support for non-tailpacking regular file erofs: convert all uncompressed cases to iomap Huang Jianan (1): erofs: iomap support for non-tailpacking DIO fs/erofs/Kconfig | 1 + fs/erofs/data.c | 342 +++++++++++++++++++------------------------- fs/erofs/inode.c | 9 +- fs/erofs/internal.h | 4 + fs/erofs/super.c | 60 +++++++- 5 files changed, 217 insertions(+), 199 deletions(-)