Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp51954rwn; Fri, 16 Sep 2022 15:11:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM61akV2CUgw1OWGywYfmNhX4SaP9btxELprTUKHjp7e+O0PgVMn1fAer7tB5ijxFzNk6CDL X-Received: by 2002:aa7:cd8e:0:b0:452:2682:a955 with SMTP id x14-20020aa7cd8e000000b004522682a955mr5666580edv.379.1663366260141; Fri, 16 Sep 2022 15:11:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663366260; cv=none; d=google.com; s=arc-20160816; b=qpNHfCS6Rqhc1Txczs60m6QD3J2h24rK0fJMXBB6XzYRUUPxY/0SyeC2kPAA8sVjLb 0CSo6VAtBvYIfl19u/AE6Bz4ODsJrA9IvsMteGlokdIX9y2Zq78ANHFR/s/lhVB0ujYz AKAzyajO9zdp6vZyO/c5SbfqdVWX8OZaAfEl38NAMpcBZIUEdA7OzyfIQKSybor2Sg+p vxm0Y5QoxaT1aqG5GN7B52Ln02FitrLVc1OeUmqcnFIzJXCnyog54htRLPRllXsHJ6dQ MHMcM5k8/jlwifsQTsXXzUkr6cCumNkgIXpaiPlh04bYDJq+7nllk5D7SONTWlTrHW9P aImg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=tXp8Qm0HOu9b4+ry3VO9lluub8ul1uWHsnihCuufP3w=; b=vOykpGZg1Y+PvbsLuqBZdfeolQ+rg0ubPaeXq2579Si64DSLjpbEy3lC1O9XF62aUm X3qLOvvhspOulGWnHHFdvXmBBTeeWCs5/BA5AulhxmMr13jOtY3PfkEADlJYFUQsypzK FHDic1gnDY/IUB0za0mXruyh0xbZoIuvFF49//2nlhkA9aF4xq6N/2c9lEkNcnu4NsId LN5dirRrVFPmsfgZOt7C93vteq8J4Kv5I03hVkQ5mol97gTveioquUyQYkmyYnQesLXG IXF3+L2X8uFueAgdAdiA2e+kynj5fEhpdPDChPYI/p3ejAqsDNILqXqoJw2tewKDDQB+ 4jMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Q39zWQsJ; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b11-20020a056402084b00b0045138471d7csi617040edz.375.2022.09.16.15.09.53; Fri, 16 Sep 2022 15:11:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Q39zWQsJ; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229770AbiIPV7j (ORCPT + 99 others); Fri, 16 Sep 2022 17:59:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229733AbiIPV7i (ORCPT ); Fri, 16 Sep 2022 17:59:38 -0400 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFD59A45A for ; Fri, 16 Sep 2022 14:59:35 -0700 (PDT) Received: by mail-ed1-x535.google.com with SMTP id b35so33461763edf.0 for ; Fri, 16 Sep 2022 14:59:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=tXp8Qm0HOu9b4+ry3VO9lluub8ul1uWHsnihCuufP3w=; b=Q39zWQsJZD445lUFViZ2aCm54TZUMrPkeF3F88WLVvuuYcpxoDzhCFhjgK7Miw1X4J vTUBHYPMxnpweHtFOgVUpZ0AFNYZLEHNNMquduvRqskfJOtkTcmwvzwsat05Z1HBH8pL Pa8fsG6pO3KNhCw44XALJuGbnSttZcWxEWr/A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=tXp8Qm0HOu9b4+ry3VO9lluub8ul1uWHsnihCuufP3w=; b=yfRjcv5U7iYNP/RpQrBQMnNfXcVYcdD97Qvrct3+nFueHNrsEYH+gLMTGZ+ZLMtNN7 l1CAnfdKB1IT+6uPsPsefmoNZCNyoWrixCLIu5iBJIDlIjNlCHPGVZcML4Cr81G/BZYa KHS5245N8Q7BDd9LiDV5A0anWOHWKn/iKQZVgK70soShe10RJyUnOdssmQat3Rqahjds SWoIzUBmoF7pNOS77SwBhTLTjSOAfVSBO/TXW3Mie8pOKazYKHxB6RlUyqIybRdGzRBf ijRTyBOXqM/+Q2yYEFAOju+o5eGT88BMexMH7slLokG02OhQpDtTh1G6I11mkxL9xnIo fNDA== X-Gm-Message-State: ACrzQf2IZtPYU2YiikTlY7f23hnIIx36rUz7K+c2EceCmynwneZy4AbE RRoVrUQMIS08EQ7K24yglcu/zqDUVY1Wwbgh16/+fw== X-Received: by 2002:a05:6402:161a:b0:451:ea13:572e with SMTP id f26-20020a056402161a00b00451ea13572emr5613477edv.41.1663365574516; Fri, 16 Sep 2022 14:59:34 -0700 (PDT) MIME-Version: 1.0 References: <20220915164826.1396245-1-sarthakkukreti@google.com> <0be0e378-1601-678c-247a-ba24d111b934@acm.org> In-Reply-To: <0be0e378-1601-678c-247a-ba24d111b934@acm.org> From: Sarthak Kukreti Date: Fri, 16 Sep 2022 14:59:22 -0700 Message-ID: Subject: Re: [PATCH RFC 0/8] Introduce provisioning primitives for thinly provisioned storage To: Bart Van Assche Cc: Stefan Hajnoczi , dm-devel@redhat.com, linux-block@vger.kernel.org, linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Jens Axboe , "Michael S . Tsirkin" , Jason Wang , Paolo Bonzini , Alasdair Kergon , Mike Snitzer , "Theodore Ts'o" , Andreas Dilger , Bart Van Assche , Daniil Lunev , Evan Green , Gwendal Grignou Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Fri, Sep 16, 2022 at 1:01 PM Bart Van Assche wrote: > > On 9/16/22 11:48, Sarthak Kukreti wrote: > > Yes. On ChromiumOS, we regularly deal with storage devices that don't > > support WRITE_ZEROES or that need to have it disabled, via a quirk, > > due to a bug in the vendor's implementation. Using WRITE_ZEROES for > > allocation makes the allocation path quite slow for such devices (not > > to mention the effect on storage lifetime), so having a separate > > provisioning construct is very appealing. Even for devices that do > > support an efficient WRITE_ZEROES implementation but don't support > > logical provisioning per-se, I suppose that the allocation path might > > be a bit faster (the device driver's request queue would report > > 'max_provision_sectors'=0 and the request would be short circuited > > there) although I haven't benchmarked the difference. > > Some background information about why ChromiumOS uses thin provisioning > instead of a single filesystem across the entire storage device would be > welcome. Although UFS devices support thin provisioning I am not aware > of any use cases in Android that would benefit from UFS thin > provisioning support. > Sure (and I'd be happy to put this in the cover letter, if you prefer; I didn't include it initially, since it seemed orthogonal to the discussion of the patchset)! On ChromiumOS, the primary driving force for using thin provisioning is to have flexible, segmented block storage, both per-user and for applications/virtual machines with several useful properties, for example: block-level encrypted user storage, snapshot based A-B updates for verified content, on-demand partitioning for short-lived use cases. Several of the other planned use-cases (like verified content retention over powerwash) require flexible on-demand block storage that is decoupled from the primary filesystem(s) so that we can have cryptographic erase for the user partitions and keep the on-demand, dm-verity backed executables intact. Best Sarthak > Thanks, > > Bart.