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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 B2F12C433E0 for ; Thu, 11 Jun 2020 23:00:56 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7F40E20656; Thu, 11 Jun 2020 23:00:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sourceforge.net header.i=@sourceforge.net header.b="QdtuT7fr"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sf.net header.i=@sf.net header.b="RSreShFd"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="Hl9lJDj5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7F40E20656 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-f2fs-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1jjWBs-00077a-1n; Thu, 11 Jun 2020 23:00:56 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjWBq-00077T-Dv for linux-f2fs-devel@lists.sourceforge.net; Thu, 11 Jun 2020 23:00:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=te3H1eMiqJofDOsQbhZXeS+TsEUg308LSKnpP5L+OSs=; b=QdtuT7fry/2JRT7uOzfHrNZ3VW kXGWxcu8CWoT5seA1CXgRKGQNhoDNSKwQ+qcNe/dbRICK5+fRujKxP2PdUwEsPDYpVBPkTFdVSAUZ YI3iPphzxfpwlMZTEb9jD8AzrbthvJ/e5kruIYsrHIHyZleRuek2gnRkDDfNjsoesSJc=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=te3H1eMiqJofDOsQbhZXeS+TsEUg308LSKnpP5L+OSs=; b=RSreShFdtPS5oMADNTACZM796C mv1RfytbSOn0pqIlCzctGj0+dLiYNbMMY15gVdXEw/TU1iQhHmF94SwMGgJkSO3rClVO9adma/EHC ehR+1n76fMX/QXaCFpPYdmpbbQHCBKky49VtmGt/ctK1LHDTLtxCUABkEocd2A3uALds=; Received: from mail.kernel.org ([198.145.29.99]) by sfi-mx-3.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.2) id 1jjWBp-00H863-61 for linux-f2fs-devel@lists.sourceforge.net; Thu, 11 Jun 2020 23:00:54 +0000 Received: from gmail.com (unknown [104.132.1.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 65F3F20656; Thu, 11 Jun 2020 23:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591916444; bh=fpXBct85M7YMNzdjuE/p3J94/BvpSvWQ9ehY7kS1kPg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Hl9lJDj5hMdqfdtxhXFJMgSjHN+Z/CraRbwwWCcLiVymydsNmB3cZjwGuB4HpozmD Bwdrx6KXC9oXmmBvLpv8srDeA6srkbd+0SKpM5r7oOmSaSupEhK8YLaTS/PTUxucLE /PbDlt1kdiPZHwwHWmdMy+l/uBsPPESB0Wm6GXaU= Date: Thu, 11 Jun 2020 16:00:43 -0700 From: Eric Biggers To: Daeho Jeong Message-ID: <20200611230043.GA18185@gmail.com> References: <20200611031652.200401-1-daeho43@gmail.com> <20200611162721.GB1152@sol.localdomain> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Headers-End: 1jjWBp-00H863-61 Subject: Re: [f2fs-dev] [PATCH v2] f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daeho Jeong , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gRnJpLCBKdW4gMTIsIDIwMjAgYXQgMDc6NDk6MTJBTSArMDkwMCwgRGFlaG8gSmVvbmcgd3Jv dGU6Cj4gMjAyMOuFhCA27JuUIDEy7J28ICjquIgpIOyYpOyghCAxOjI3LCBFcmljIEJpZ2dlcnMg PGViaWdnZXJzQGtlcm5lbC5vcmc+64uY7J20IOyekeyEsToKPiA+Cj4gPiBPbiBUaHUsIEp1biAx MSwgMjAyMCBhdCAxMjoxNjo1MlBNICswOTAwLCBEYWVobyBKZW9uZyB3cm90ZToKPiA+ID4gKyAg ICAgZm9yIChpbmRleCA9IHBnX3N0YXJ0OyBpbmRleCA8IHBnX2VuZDspIHsKPiA+ID4gKyAgICAg ICAgICAgICBzdHJ1Y3QgZG5vZGVfb2ZfZGF0YSBkbjsKPiA+ID4gKyAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgZW5kX29mZnNldDsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgIHNldF9uZXdf ZG5vZGUoJmRuLCBpbm9kZSwgTlVMTCwgTlVMTCwgMCk7Cj4gPiA+ICsgICAgICAgICAgICAgcmV0 ID0gZjJmc19nZXRfZG5vZGVfb2ZfZGF0YSgmZG4sIGluZGV4LCBMT09LVVBfTk9ERSk7Cj4gPiA+ ICsgICAgICAgICAgICAgaWYgKHJldCkKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGdvdG8g b3V0Owo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgZW5kX29mZnNldCA9IEFERFJTX1BFUl9Q QUdFKGRuLm5vZGVfcGFnZSwgaW5vZGUpOwo+ID4gPiArICAgICAgICAgICAgIGlmIChwZ19lbmQg PCBlbmRfb2Zmc2V0ICsgaW5kZXgpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBlbmRfb2Zm c2V0ID0gcGdfZW5kIC0gaW5kZXg7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBmb3IgKDsg ZG4ub2ZzX2luX25vZGUgPCBlbmRfb2Zmc2V0Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkbi5vZnNfaW5fbm9kZSsrLCBpbmRleCsrKSB7Cj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgYmxvY2tfZGV2aWNlICpjdXJfYmRldjsKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgIGJsb2NrX3QgYmxrYWRkciA9IGYyZnNfZGF0YV9ibGthZGRyKCZkbik7Cj4gPiA+ ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlmIChfX2lzX3ZhbGlkX2RhdGFfYmxrYWRk cihibGthZGRyKSkgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWYy ZnNfaXNfdmFsaWRfYmxrYWRkcihGMkZTX0lfU0IoaW5vZGUpLAo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsa2FkZHIsIERBVEFfR0VORVJJQ19FTkhBTkNFKSkg ewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FRlND T1JSVVBURUQ7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290 byBvdXQ7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250aW51ZTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY3VyX2JkZXYg PSBmMmZzX3RhcmdldF9kZXZpY2Uoc2JpLCBibGthZGRyLCBOVUxMKTsKPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgIGlmIChmMmZzX2lzX211bHRpX2RldmljZShzYmkpKSB7Cj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpID0gZjJmc190YXJnZXRfZGV2aWNlX2luZGV4 KHNiaSwgYmxrYWRkcik7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmxrYWRkciAtPSBGREVWKGkpLnN0YXJ0X2JsazsKPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgIH0KPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaWYgKGxlbikgewo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldl9iZGV2ID09IGN1cl9iZGV2 ICYmCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxrYWRkciA9 PSBwcmV2X2Jsb2NrICsgbGVuKSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGVuKys7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz ZSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZjJm c19zZWN1cmVfZXJhc2UocHJldl9iZGV2LAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2X2Jsb2NrLCBsZW4sIGZsYWdzKTsKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KQo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4g PiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSAw Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICB9Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlmICghbGVu KSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZfYmRldiA9IGN1cl9i ZGV2Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2X2Jsb2NrID0gYmxr YWRkcjsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gMTsKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAgICAgICAgICB9Cj4gPiA+ICsKPiA+ ID4gKyAgICAgICAgICAgICBmMmZzX3B1dF9kbm9kZSgmZG4pOwo+ID4gPiArICAgICB9Cj4gPgo+ ID4gVGhpcyBsb29wIHByb2Nlc3NlcyB0aGUgZW50aXJlIGZpbGUsIHdoaWNoIG1heSBiZSB2ZXJ5 IGxhcmdlLiAgU28gaXQgY291bGQgdGFrZQo+ID4gYSB2ZXJ5IGxvbmcgdGltZSB0byBleGVjdXRl Lgo+ID4KPiA+IEl0IHNob3VsZCBhdCBsZWFzdCB1c2UgdGhlIGZvbGxvd2luZyB0byBtYWtlIHRo ZSB0YXNrIGtpbGxhYmxlIGFuZCBwcmVlbXB0aWJsZToKPiA+Cj4gPiAgICAgICAgICAgICAgICAg aWYgKGZhdGFsX3NpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSB7Cj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICBlcnIgPSAtRUlOVFI7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91 dDsKPiA+ICAgICAgICAgICAgICAgICB9Cj4gPiAgICAgICAgICAgICAgICAgY29uZF9yZXNjaGVk KCk7Cj4gPgo+IAo+IEdvb2QgcG9pbnQhCj4gCj4gPiBBbHNvLCBwZXJoYXBzIHRoaXMgaW9jdGwg c2hvdWxkIGJlIG1hZGUgaW5jcmVtZW50YWwsIGkuZS4gdGFrZSBpbiBhbgo+ID4gKG9mZnNldCwg bGVuZ3RoKSBsaWtlIHB3cml0ZSgpPwo+ID4KPiA+IC0gRXJpYwo+IAo+IERpc2NhcmQgYW5kIFpl cm9pbmcgd2lsbCBiZSB0cmVhdGVkIGluIGEgdW5pdCBvZiBibG9jaywgd2hpY2ggaXMgNEtCCj4g aW4gRjJGUyBjYXNlLgo+IERvIHlvdSByZWFsbHkgbmVlZCB0aGUgKG9mZnNldCwgbGVuZ3RoKSBv cHRpb24gaGVyZSBldmVuIGlmIHRoZSB1bml0Cj4gaXMgYSA0S0IgYmxvY2s/IEkgZ3Vlc3MgdGhp cyBvcHRpb24gbWlnaHQgbWFrZSB0aGUgdXNlciBldmVuCj4gaW5jb252ZW5pZW5jZWQgdG8gdXNl IHRoaXMgaW9jdGwsIGJlY2F1c2UgdGhleSBoYXZlIHRvIGJlYXIgNEtCCj4gYWxpZ25tZW50IGlu IG1pbmQuCgpUaGUgaW9jdGwgYXMgY3VycmVudGx5IHByb3Bvc2VkIGFsd2F5cyBlcmFzZXMgdGhl IGVudGlyZSBmaWxlLCB3aGljaCBjb3VsZCBiZQpnaWdhYnl0ZXMuICBUaGF0IGNvdWxkIHRha2Ug YSB2ZXJ5IGxvbmcgdGltZS4KCkknbSBzdWdnZXN0aW5nIGNvbnNpZGVyaW5nIG1ha2luZyBpdCBw b3NzaWJsZSB0byBjYWxsIHRoZSBpb2N0bCBtdWx0aXBsZSB0aW1lcwp0byBwcm9jZXNzIHRoZSBm aWxlIGluY3JlbWVudGFsbHksIGxpa2UgeW91IHdvdWxkIGRvIHdpdGggd3JpdGUoKSBvciBwd3Jp dGUoKS4KClRoYXQgaW1wbGllcyB0aGF0IGZvciBlYWNoIGlvY3RsIGNhbGwsIHRoZSBsZW5ndGgg d291bGQgbmVlZCB0byBiZSBzcGVjaWZpZWQKdW5sZXNzIGl0J3MgaGFyZGNvZGVkIHRvIDRLaUIg d2hpY2ggd291bGQgYmUgdmVyeSBpbmVmZmljaWVudC4gIFVzZXJzIHdvdWxkCnByb2JhYmx5IHdh bnQgdG8gcHJvY2VzcyBhIGxhcmdlciBhbW91bnQgYXQgYSB0aW1lLCBsaWtlIDEgTWlCLCByaWdo dD8KCkxpa2V3aXNlIHRoZSBvZmZzZXQgd291bGQgbmVlZCB0byBiZSBzcGVjaWZpZWQgYXMgd2Vs bCwgdW5sZXNzIGl0IHdlcmUgdG8gYmUKdGFrZW4gaW1wbGljaXRseSBmcm9tIGZfcG9zLgoKLSBF cmljCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlu dXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGlu dXgtZjJmcy1kZXZlbAo= 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 X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 DD7B0C433DF for ; Thu, 11 Jun 2020 23:00:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BC3732074B for ; Thu, 11 Jun 2020 23:00:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591916447; bh=fpXBct85M7YMNzdjuE/p3J94/BvpSvWQ9ehY7kS1kPg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=fNXjZERUlaMBG8Jw/WLlWddZ7i94Kb4wS3qlnqd+DFUYZQZUV/kXisJU4MlK6Wubg DVl7hb8IjmPfuJlFz7v3M2tSLQfdPb9Rodxy+cigmmcHjzMjhiT2Py8tHdRklipmNA zJ8BzE3tepMEOqR85nfk6djq//lzwUbsQF8K42NA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726346AbgFKXAq (ORCPT ); Thu, 11 Jun 2020 19:00:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:39746 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726317AbgFKXAp (ORCPT ); Thu, 11 Jun 2020 19:00:45 -0400 Received: from gmail.com (unknown [104.132.1.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 65F3F20656; Thu, 11 Jun 2020 23:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591916444; bh=fpXBct85M7YMNzdjuE/p3J94/BvpSvWQ9ehY7kS1kPg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Hl9lJDj5hMdqfdtxhXFJMgSjHN+Z/CraRbwwWCcLiVymydsNmB3cZjwGuB4HpozmD Bwdrx6KXC9oXmmBvLpv8srDeA6srkbd+0SKpM5r7oOmSaSupEhK8YLaTS/PTUxucLE /PbDlt1kdiPZHwwHWmdMy+l/uBsPPESB0Wm6GXaU= Date: Thu, 11 Jun 2020 16:00:43 -0700 From: Eric Biggers To: Daeho Jeong Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel-team@android.com, Daeho Jeong Subject: Re: [f2fs-dev] [PATCH v2] f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl Message-ID: <20200611230043.GA18185@gmail.com> References: <20200611031652.200401-1-daeho43@gmail.com> <20200611162721.GB1152@sol.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 12, 2020 at 07:49:12AM +0900, Daeho Jeong wrote: > 2020년 6월 12일 (금) 오전 1:27, Eric Biggers 님이 작성: > > > > On Thu, Jun 11, 2020 at 12:16:52PM +0900, Daeho Jeong wrote: > > > + for (index = pg_start; index < pg_end;) { > > > + struct dnode_of_data dn; > > > + unsigned int end_offset; > > > + > > > + set_new_dnode(&dn, inode, NULL, NULL, 0); > > > + ret = f2fs_get_dnode_of_data(&dn, index, LOOKUP_NODE); > > > + if (ret) > > > + goto out; > > > + > > > + end_offset = ADDRS_PER_PAGE(dn.node_page, inode); > > > + if (pg_end < end_offset + index) > > > + end_offset = pg_end - index; > > > + > > > + for (; dn.ofs_in_node < end_offset; > > > + dn.ofs_in_node++, index++) { > > > + struct block_device *cur_bdev; > > > + block_t blkaddr = f2fs_data_blkaddr(&dn); > > > + > > > + if (__is_valid_data_blkaddr(blkaddr)) { > > > + if (!f2fs_is_valid_blkaddr(F2FS_I_SB(inode), > > > + blkaddr, DATA_GENERIC_ENHANCE)) { > > > + ret = -EFSCORRUPTED; > > > + goto out; > > > + } > > > + } else > > > + continue; > > > + > > > + cur_bdev = f2fs_target_device(sbi, blkaddr, NULL); > > > + if (f2fs_is_multi_device(sbi)) { > > > + int i = f2fs_target_device_index(sbi, blkaddr); > > > + > > > + blkaddr -= FDEV(i).start_blk; > > > + } > > > + > > > + if (len) { > > > + if (prev_bdev == cur_bdev && > > > + blkaddr == prev_block + len) { > > > + len++; > > > + } else { > > > + ret = f2fs_secure_erase(prev_bdev, > > > + prev_block, len, flags); > > > + if (ret) > > > + goto out; > > > + > > > + len = 0; > > > + } > > > + } > > > + > > > + if (!len) { > > > + prev_bdev = cur_bdev; > > > + prev_block = blkaddr; > > > + len = 1; > > > + } > > > + } > > > + > > > + f2fs_put_dnode(&dn); > > > + } > > > > This loop processes the entire file, which may be very large. So it could take > > a very long time to execute. > > > > It should at least use the following to make the task killable and preemptible: > > > > if (fatal_signal_pending(current)) { > > err = -EINTR; > > goto out; > > } > > cond_resched(); > > > > Good point! > > > Also, perhaps this ioctl should be made incremental, i.e. take in an > > (offset, length) like pwrite()? > > > > - Eric > > Discard and Zeroing will be treated in a unit of block, which is 4KB > in F2FS case. > Do you really need the (offset, length) option here even if the unit > is a 4KB block? I guess this option might make the user even > inconvenienced to use this ioctl, because they have to bear 4KB > alignment in mind. The ioctl as currently proposed always erases the entire file, which could be gigabytes. That could take a very long time. I'm suggesting considering making it possible to call the ioctl multiple times to process the file incrementally, like you would do with write() or pwrite(). That implies that for each ioctl call, the length would need to be specified unless it's hardcoded to 4KiB which would be very inefficient. Users would probably want to process a larger amount at a time, like 1 MiB, right? Likewise the offset would need to be specified as well, unless it were to be taken implicitly from f_pos. - Eric