Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp266678imm; Thu, 26 Jul 2018 18:41:19 -0700 (PDT) X-Google-Smtp-Source: AAOMgpc43oapw8VMpqT8fuqRVKgFKB/5+Hx7Endb2eE/y62lJCy1bpLGoP5wcJoO7OL49cF3Gn78 X-Received: by 2002:a63:3e0a:: with SMTP id l10-v6mr4122841pga.355.1532655678979; Thu, 26 Jul 2018 18:41:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532655678; cv=none; d=google.com; s=arc-20160816; b=uaHCujmh0aL6EtVLnau++sjp80LvM7mfrmbdwI6GoMZO3uU/IenLtcfY2GzAsJx2yi EgbV43iG2hSpOG6LZecP9cHMUpOXJ/wKDmMi2NyGOwhIuNzVT9HCe0eUMbnmvf2b8WgC 1+3RefmrqGyW0AodIQgEvtHmHSzowdTJOhmXVwBQ07Ypz00Litx+kwiXKrrjH5qZMySS gs8UH6hpiy+5uOV1Dpvn1iyzJJz5uaOqMG+nUFMpjbQokzdfd6nrp8bFShVVHkcPVBQ4 kaECzlIUT5LWUU59kRH7+xtTewbX5RBq3M2hW1JFKWKlVuaMi0yUF5CuqOvh4ikB+dP+ 2rxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:arc-authentication-results; bh=PwhFI3aYUxHxvxP822F8/IkEQ4Pl3NlBkfMe5XImnoM=; b=Kvldw2GrXJ5O5NJng7ac7s2XFFC7xYewfYOcxhR36m/oZglRpcczpmEZDXebAd+s/T JkEeT4ETCP0N1xWdWv6edIBvVyYnQ04C5PjbJZhich1Xh3yTJqxZfd7Kq7b3lRNkwvsP +4mdxjpQtg2TcJUW6X4FZWSAdkLESgJgBs9iPzrgVnftu4pqH1jy3W6KVGxjswJkATlI 48K3de2+ZODIk9EY/w5XDSkT2i9hf1OAOv3wsr2moUW2DQHuFgSDXP30/HuxaMX4+Hpr AtAiPO8GwLwqTHSxaCRsChVNsVFD+V8FUD1ZH4JoSOtS6V/IVtwvxRf9ehFreIynmFzP /WCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f3-v6si2474808pld.366.2018.07.26.18.41.04; Thu, 26 Jul 2018 18:41:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732058AbeG0C7e (ORCPT + 99 others); Thu, 26 Jul 2018 22:59:34 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:9729 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731937AbeG0C7e (ORCPT ); Thu, 26 Jul 2018 22:59:34 -0400 Received: from DGGEMS403-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 4EFC925E444A4; Fri, 27 Jul 2018 09:40:05 +0800 (CST) Received: from [10.151.23.176] (10.151.23.176) by smtp.huawei.com (10.3.19.203) with Microsoft SMTP Server (TLS) id 14.3.382.0; Fri, 27 Jul 2018 09:40:02 +0800 Subject: Re: [PATCH 00/25] staging: erofs: introduce erofs file system To: Christian Kujau CC: , References: <1527764767-22190-1-git-send-email-gaoxiang25@huawei.com> <1532607728-103372-1-git-send-email-gaoxiang25@huawei.com> From: Gao Xiang Message-ID: Date: Fri, 27 Jul 2018 09:39:54 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.151.23.176] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Christian, On 2018/7/27 8:25, Christian Kujau wrote: > On Thu, 26 Jul 2018, Gao Xiang wrote: >> EROFS file system is a read-only file system with compression >> support designed for certain devices (especially embeded >> devices) with very limited physical memory and lots of memory > Out of curiousity, and as Richard already asked[0] - what about existing > file system, why can't they be used or extended instead of introducing yet > another file system into the kernel? JFFS2? UBIFS? CramFs? SquashFS? > ROMFS? F2FS? YAFFS? > > Christian. > Every file system has its typical usage case. I don't think there exists a silver bullet solving all usage cases optimally. JFFS2, YAFFS and UBIFS are designed for raw flash, we use UFS or eMMC solution rather than raw nand flash. Cramfs and ROMFS are too simple for us, and it is actually useless because no similar & duplicate code with EROFS. We can save about 200MB+ metadata space than EXT4 by just using EROFS _without_ compression support in our products, which could be more compared with F2FS(F2FS has more useless metadata for read-only use such as SIT, and SSA). Since we are a read-only file system, we could use aggressive inline(compact) and data deduplication approach. It is not a small number storage space because we leave some compression ratio for better performance in low memory scenario. and I don't think SquashFS is optimal for us, 1) it doesn't have the inline consideration by design (inline could save storage space also reduce extra data IOs), 2) it is designed for saving more storage space rather than keeping high performance for limited physical memory scenario; 3) it has many compatible code for its historial design, actually its on-disk layout design is hard to be extended considering its historial images 4) It is not designed for VLE, we need to rewrite more than half of its current code 5) EROFS has no similar code with the current SquashFS. In the end, I don't think F2FS could be an expansion of NILFS2, BTRFS is an b-tree expansion of some read-write file system. You could call EROFS as ROMFS2 or Squashfs+ but EROFS is a completely different solution. We need to evaluate the optimal file system for each specific usage case (actually we think erofs almost reaches our requirements for our Android products rather than SquashFS) and KISS for each solution. Thanks for your reply :) Thanks, Gao Xiang > [0] https://marc.info/?l=linux-kernel&m=152783930418348&w=2