Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp3564107imm; Fri, 24 Aug 2018 21:05:05 -0700 (PDT) X-Google-Smtp-Source: ANB0VdaWM16tPn2LKt82xYtkllXLH9T49o1HquqTmzkF+NXJMBYdGi0LTndFr9nw7I5Iv7wquocx X-Received: by 2002:a17:902:1a2:: with SMTP id b31-v6mr4063329plb.279.1535169905507; Fri, 24 Aug 2018 21:05:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535169905; cv=none; d=google.com; s=arc-20160816; b=wn/bvytmUuqYw9+gP9nWV6+U3TY4yCoblsOP2HDIDPt+VGWgYUpJZdgUMks4ezDUlk DgOZ2c/LpHyagPOMhNi0dD8FuCTvEBHMCWrDwIuLoGXuHWAQpnW8lixfm8DWOlpmvO0z IJoliB0axSanIm5llWUSUU52gfgzfmjYgONxwgHiqrsH+SrCxmmX7lKhFkDRLZoXIZkf fkjgU7U/Qrym2Ax2tc2SzRY2huUi88n+q6qMEQrwGcU2pXgU9boG5qj7JK+PuWq9zfKc XL8ptQPefZs203vQAmeIkOwGpZXHHyGdjv19rzyujPAU0VjXeGL5rWxSHoz6Oq1CSs4u rPZQ== 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:to:subject :arc-authentication-results; bh=eoc95wAX0JJe6DoJMBERAw6ICPKSFXnJgOEdmm89wn0=; b=tivOgW8sKPT1/jEHHYOhci0lgyLcFsOgbT8JEGEGoFErZ8telPW61y7GIQJdE5Vhug sZ8tMfoKXGwOFFBwH638urxpe87Gw8qQ0LQFyCgzyk6m/jxqUB4GD97q42yT3YlLFHKi 89373ZynH/RkiDwca1PtdGiEd5PnEcsE5h5pvcHLhgVMMJ3yqVlVOsS7GryaK5YIv+8i 0SrjOWMw+3aq5CBHqSsxXQJLLW4Num7cMx7Bra1z2VyD9ozRp3Xd25R/2q6OlxSGV/e7 IDo/4PJWpZGdtjzDmYNZSWbY9qQP21b1D6f0KaEXs9JDviEDueoBwCTPogYJ5gTp49jg aTWw== 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 i8-v6si8939029pfo.128.2018.08.24.21.04.36; Fri, 24 Aug 2018 21:05:05 -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 S1726918AbeHYHjY (ORCPT + 99 others); Sat, 25 Aug 2018 03:39:24 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:11605 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726110AbeHYHjY (ORCPT ); Sat, 25 Aug 2018 03:39:24 -0400 Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 160A4DA30EA79; Sat, 25 Aug 2018 12:01:51 +0800 (CST) Received: from [10.151.23.176] (10.151.23.176) by smtp.huawei.com (10.3.19.201) with Microsoft SMTP Server (TLS) id 14.3.399.0; Sat, 25 Aug 2018 12:01:51 +0800 Subject: Re: [f2fs-dev] [RFC PATCH 02/10] fs-verity: add data verification hooks for ->readpages() To: "Theodore Y. Ts'o" , Eric Biggers , , , , Dmitry Kasatkin , Michael Halcrow , , , , Mimi Zohar , Victor Hsieh References: <20180824161642.1144-1-ebiggers@kernel.org> <20180824161642.1144-3-ebiggers@kernel.org> <2f2382c3-e5e9-f0da-dc89-42dfc7b2b636@huawei.com> <20180825034544.GA5281@thunk.org> From: Gao Xiang Message-ID: Date: Sat, 25 Aug 2018 12:00:04 +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: <20180825034544.GA5281@thunk.org> 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 Ted, On 2018/8/25 11:45, Theodore Y. Ts'o wrote: > On Sat, Aug 25, 2018 at 10:29:26AM +0800, Gao Xiang wrote: >> My first question is that 'Is there any way to skip to verify pages in a bio?' >> I am thinking about >> If metadata and data page are mixed in a filesystem of such kind, they could submit together in a bio, but metadata could be unsuitable for such kind of verification. >> >> The second question is related to the first question --- 'Is there any way to verify a partial page?' >> Take scalability into consideration, some files could be totally inlined or partially inlined in metadata. >> Is there any way to deal with them in per-file approach? at least --- support for the interface? > A requirement of both fscrypt and fsverity is that is that block size > == page size, and that all data is stored in blocks. Inline data is > not supported. > > The files that are intended for use with fsverity are large files > (such as APK files), so optimizing for files smaller than a block was > not a design goal. Thanks for your quickly reply. :) I had seen the background of why Google/Android introduces fs-verity before. > But I have some consideration than the current implementation.... (if it is suitable to discuss, thanks...) 1) Since it is the libfs-like library, I think bio-strict is too strict for its future fs users. bios could be already organized in filesystem-specific way, which could include some other pages that is unnecessary to be verified. I could give some example, if some filesystem organizes its bios for decompression, and some data exist in metadata. It could be hard to use this libfs-like fsverity interface. 2) My last question "At last, I hope filesystems could select the on-disk position of hash tree and 'struct fsverity_descriptor' rather than fixed in the end of verity files...I think if fs-verity preparing such support and interfaces could be better....." is also for some files partially or totally encoded (eg. compressed, or whatever ...) I think the hash tree is unnecessary to be compressed...so I think it could be better that it can be selected by users (filesystems of course). Thanks, Gao Xiang. > - Ted