From patchwork Thu Jan 12 13:34:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 13097986 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 5585BC54EBC for ; Thu, 12 Jan 2023 13:35:24 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1pFxjm-000315-D6; Thu, 12 Jan 2023 13:35:21 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pFxje-00030s-Jn for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:35:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=MIME-Version:Content-Type:Content-Transfer-Encoding :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=3N4McwBBwJ0Ldq/+E3XFv5A9Voxj2W4Wxj5SJvVUCxw=; b=i0rkHEZ5+jWfoYQrP9EfYSU0jU B2IxF58pZbbndVevAYYMPcTAOYOpJzKp4ge+5s3J2lxu9h7kbTO/OcQaxgh5o4KNYQ5l4gJ3Bu3Mr 9+YnS1ihO0T+DOJ/lRGlDRvufK+xcsIKQYidXAASI4aTvCNdIo2hK15KZ6BGMS5tdSMY=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=3N4McwBBwJ0Ldq/+E3XFv5A9Voxj2W4Wxj5SJvVUCxw=; b=c puRdesDTvHIrHEwoLX9cOl8FFuQXZ+Rls6OcqJdhJeOKtI7VQzio04ld3vZWyIpplPxvInnFxBVjk jPU/Z7fBw3SLug+xFTbGM8zpsaMbXnDNkcz6sSDn0/rSPfyk6LjkieHMse1bVbJI+dDOahPp8wBub K5SHysxy5i6QhWTY=; Received: from mail-tyzapc01on2106.outbound.protection.outlook.com ([40.107.117.106] helo=APC01-TYZ-obe.outbound.protection.outlook.com) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1pFxja-0007IG-EW for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:35:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KvN1nBL+dp4hTSC5Vnvv/ZRDGBs6TtWZYS5jWo2P2Qod4IqXXmgxNeYY7UAhA7ZA02Sp1tcECglEVyivFDIxzRJv8ACSrAdUYlrbToEOjr/JPV1lDrj3ewWn6o66hZtb1/d5195i0C6nK/FqfTaqsL0KVOPemWgfMrNQVoDdnwum5K1p1VAPczyZw/VQz68RmAlDmTbruu2iiIgAnH7MLzys9nX9Bhq4N6bqRHWG8Nfpgfl04Zmc0tiV3ftNG88OhfAMYOST472HDfClUobO82tUdO2eivpundgMfY6ZtZzvHA6AP8JY2l82Ks0wQoF6BMnr5y+kzeGsv2Wt6rFdUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3N4McwBBwJ0Ldq/+E3XFv5A9Voxj2W4Wxj5SJvVUCxw=; b=ZULkDeR5qOJHTlC6d9hdW/zs1lABqVZ3yLillmerl/zr0lRmeUfcRLQ/CR0ERTv7kt3h3DcJmrxNuQ8Iz2AIOXPkqz5FRngVbS+hUGrBdeoFTs6eqmSkPEjEfduE4b4rf+Q5+W4sYg32zU+s5NrYLXoHKm2pnumHKYjiIIe5PR/kmlBlM55Vx8mY1Y7hbiPeBzbF3PrDn7Ys1qcvYAhc3ZxVpo9H76L9peiPB0fpsun/c1KJqxRfwv0evZHeR4gOm7XzvCBFCZYLFS5VDlxhu7huBfgHegCl07t6zBmkOeWHAXk1qSQT52N8zyv6eiHAPmqcSSqOelwzw4+1Jc8L0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3N4McwBBwJ0Ldq/+E3XFv5A9Voxj2W4Wxj5SJvVUCxw=; b=lYycNaoo460Z1eixrgdlHrlkyZqMsuTyNngOkc7q00ilAUrRgryERMJpz0qTMYRuH4bN3Hxh0SlMraDRu5DV4ElTsvbSF9mX2tJxIvKAbCiKTYIPeyw9w00ScR3XfZqL3oSo0blWDJEJm57bpOBL4giuyBrP/vka7cIdt3GCl49ooEGYBxmDi9Vn+O/rdEAqbS6Psz3NebSXrI8Samx9PL6g1fbJ0EtKjEvKGFKQ/byxCuZJJQ14Q717BTRYui7AReJ128aSSzkXNngGn73aBuVwSJsh3iAbXsbsCKnpSsqmZ4iV+Oji6OwYzcH94wqZeJpOIFgbMFmVmFSGSp4POg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by SEZPR06MB5072.apcprd06.prod.outlook.com (2603:1096:101:38::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 12 Jan 2023 13:34:57 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572%5]) with mapi id 15.20.6002.012; Thu, 12 Jan 2023 13:34:57 +0000 To: jaegeuk@kernel.org, chao@kernel.org Date: Thu, 12 Jan 2023 21:34:43 +0800 Message-Id: <20230112133443.16713-1-frank.li@vivo.com> X-Mailer: git-send-email 2.35.1 X-ClientProxiedBy: SI1PR02CA0027.apcprd02.prod.outlook.com (2603:1096:4:1f4::18) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|SEZPR06MB5072:EE_ X-MS-Office365-Filtering-Correlation-Id: 6bb7626b-d84e-4f6c-50e1-08daf4a1cbba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ck69Y/AaFtOjv3GRmblzQpZZmQpKlmn1ofr947F+WDyfnQYUmQ0DOeavRZAc2AOMtVin5BZmLsGKvYQhV1JRJHoRQNBLHKFs9hyBvdNw5YOhGXYFnj0SkF1rvxR1aeoo+X9V3eeDrQgYkhX6Djm4PZw2kzmghECDrND6z8K7gm2g9lGL4dHTgpsx6JJayF827Ei0YqivXxOnrK+Xm7kSlEzdqf0pAvTJuuPjUd4FtqSg50pxj7/apZOZQJNxOzg/YFnmV2D6DCbtKjB78x1rhevumAviuJhEqPx2qGuJakbNIF2In7NMuwNr5iYX8K+1izjodNZE2yW5Vy7kUHtewkAikLmEt1v6hbvHxzufAzDrDf/3CF0B0vFZzL7gKPo08IJQpYAO8JTfEALa4GuXFuymONFp04aIZ9fHmgp8gxsExq/OGXIg9RV3pN6UQz7To4jvnTBDNrq5KrZxdZG8FO5qhHC6gl+WfeHgUFfwwlDl/htVh6ejmYq271QYKYBAbinZdBDbQ6greNlQZ9kWPHzPBWBHCrrk56SBga9PtuiKTUksZlKHudMIh1MEv6Bi+ZKCqGc/nTRqFdEFzInw1WNKpHpCn+j7yd+p0K4hrVhwQytPnDIdEes/qp01U3dZo833izAj3ySABXujNaNj3PendxV9VUCU8TnApXlz/v6VPLSXXNZlxWFL0W27cH3p+nV7jannCagdshpn+J00CA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR06MB5269.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199015)(107886003)(6666004)(478600001)(6506007)(6486002)(86362001)(2616005)(38100700002)(6512007)(186003)(52116002)(38350700002)(36756003)(83380400001)(26005)(1076003)(66946007)(8676002)(8936002)(66476007)(4326008)(66556008)(5660300002)(316002)(41300700001)(4744005)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4gS8VeUaxomS43b7xGK7DKBgm1WYmumFXdaZQ/ynaZ7KpON8ZiVGDMywo53bE45Cg1aJXrq7vyNWz2yNhI+PyB/8MpfSo3fY1rmJSphdt2cTXqWCme24hQTtFNzElBnK03svavEw5j5E9onqt9XYYsomOvSyGNcvFZ16UhjPLxFcngtNqVeZ3og5otQgKiOnPWvetiHRHguZRaSGbU4eEpEZR8HuBM6+KBE1NZE+CNZrTrhNRgePBcE98GPkpgb2199lNBJ78k7B8PeKBs0JEXBAwrOQMY5BEKDhRQnFbfDP0Q0IxFUBa5iEYmFwXykS0voBzjA1ygKMzgd6u3I/0NmFK1fNsqstpkJSIffmBVnJJU/fVr4IKh1NdJvy/Urolw9HQ0smuJNHyGlDagxlGC70+AKjBPmjbvFuQAuUwUAinmFiDyIMSV3WyrTqmwXdigB7EASNwTrAmhqsfSKG3z+1gBErjxH+x24aYgd/lqYkop06sJUzyOV4waaAOh6nkJSvQdYPC0cGm0leIA7Xzz321gDVyFRKjkdeAKKvXUNTWi23X2zmvf91NDnQn2aFqcVmkwEjaDCSDCKaCQvdVi1Jotco3h2R/qmkRUZ/AoXQNuN7pvdRvomLLklc4n0k5GBHBuuxuLQiBRezepRWmy1hRnHJdGX+ovhIwAoDUISYKaCWedMlCQS6Vddn8VAbu78H503zK+2/F+WdyAyj7EcfsRMiz9Om45vFuDLBirf7InQ+puMU4FZI3/G9ZoOVZtb+Ik9oC1C0oobkiYWOwCbIahPy9P6I0+g9jinujMAy0ZIiTZ1HmPWuGQ4zAKDctMMtrVx19Ib7kRVfPNhpAaMU/ZO8alN6C9NavPUF1BUYGBlb1YWMYSN20x/ga/sEfu/MJNQE3bGz11HDjS7KMpxJyR/gCZQAe0OmWD6gmCbjA71jfmNg4uTyIDILI3L8zHQQZ/dxuX0N50qALCq7R/PsoVRjwM+bQTQxCFm8hXN/LsAwM7b2h4Lma8OjKXLQPUzppeJ02XFkEceuyuWPUQ05cewogVM60Xqx/JNB1/AgR4YG8RjNlbTRMGJdE4oPC642/ZhJBw4DjHHpDaGwRcDvoEpx1xEmeQQ7pGjiwXJUS1vhnV+Xo2COEsxgEJJLK71c+mAZ68PPvlU1c+m13RyY27PMGR4Z0NmQkw/VgROCFmbxaQ+nJDuYF8Ew2lql51VpuSiP9MjLDQn+x3pLeNQJhZzWuvSc0bRT1mSFJOo4Hlk8MdRjIz5dX16/foTIP8lD8qQcifWaT8f//YbWw5MlKOtMP64Lg6JPgqTTFrExFcDghAyRMfuzXsoE5KTPZpchzH8jAPfujgXXJGoN/RnPUNzk5ZlK3l5E8X7vXD7XhyKjYOE6qFHAGE+a1rJbsT9u63wBbzkAsGt64oN3HENR8/Rc8ItDeGLmMufuwM/YH8Gj7yx+FFRFuMdFNgHSEiWOTsGQEha5yK+gINRBmLiQo+ZFI1sTqQ4m1wGN4V1tGi9F7GIxnCWIc7atbd96uGqdjVW0wPilvPaUwJ2Axh9GjjWxCq4C+N9rF7W9If35MXIX3Ldl6B1W4oIcHurN X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6bb7626b-d84e-4f6c-50e1-08daf4a1cbba X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2023 13:34:57.3587 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zPsJbmsM8YOnS46uJ8CYs58XJnectd30NnljRCUWcuSodbgI5nmmxZAD/slvVec6lFzUOe/lap98/go96r/x5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR06MB5072 X-Headers-End: 1pFxja-0007IG-EW Subject: [f2fs-dev] [PATCH 1/3] f2fs: clarify compress level bit offset 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: , X-Patchwork-Original-From: Yangtao Li via Linux-f2fs-devel From: =?utf-8?b?5p2O5oms6Z+s?= Reply-To: Yangtao Li Cc: Yangtao Li , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net commit 3fde13f817e2 ("f2fs: compress: support compress level") introduce compress level, which macro(COMPRESS_LEVEL_OFFSET) is 8, But use wrong comment about compress level. Let's fix it. Signed-off-by: Yangtao Li Reviewed-by: Chao Yu --- include/linux/f2fs_fs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h index ee0d75d9a302..1701f25117ea 100644 --- a/include/linux/f2fs_fs.h +++ b/include/linux/f2fs_fs.h @@ -315,7 +315,7 @@ struct f2fs_inode { __u8 i_log_cluster_size; /* log of cluster size */ __le16 i_compress_flag; /* compress flag */ /* 0 bit: chksum flag - * [10,15] bits: compress level + * [8,15] bits: compress level */ __le32 i_extra_end[0]; /* for attribute size calculation */ } __packed; From patchwork Thu Jan 12 13:35:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 13097987 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7BF3BC61DB3 for ; Thu, 12 Jan 2023 13:35:31 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1pFxjv-0005kw-Qz; Thu, 12 Jan 2023 13:35:31 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pFxju-0005kp-SF for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:35:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=MIME-Version:Content-Type:Content-Transfer-Encoding :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=jBoxDRRiNObZbWquwZAPXj1shSi9v5yIgx0Kejvjy5o=; b=NFl1snL0Mj6TREaZ7JeYmJO6O3 HsYEE7nzddkkkDoj8qS0YngCHlkBw+zhWLVoW0014XpzjKbTAtd6utxnN6+lg9GT00Z7j5rrt/28u 3T7ZuWMLHqiSihwIiU0N+kYpCrfawhmIinmE5qB7LTJJ+wwNxFVNAj4GQ2sTTIMVyL+8=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=jBoxDRRiNObZbWquwZAPXj1shSi9v5yIgx0Kejvjy5o=; b=C 1K1tqirrBOQceFxV/n9JirkFVQ5131LCP2klYPDhL/eFK3nrW4Qngq9/nwYx77njoZx+37qXJxdau Ji36KH1Jg3exDnRItPd5Pht8xb3Ttg5Evn7Qxws9w10mNmO3LGBk7wrpWEbM/PbAReMVK3r0MReJW 9VheimJRn7fV6n3Y=; Received: from mail-tyzapc01on2097.outbound.protection.outlook.com ([40.107.117.97] helo=APC01-TYZ-obe.outbound.protection.outlook.com) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1pFxjo-001579-Mf for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:35:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E3Iq50GI18yGgwoz6GfM87dLA9qaV63zc/BGCFQtgEatK7OP/zUzNYKjxRzU9nCTyx13tx3LBEyDr8pzyDgAYZ543LZtFdIVFB87ZiK/NgnaAYd3DJGrZDcyO9ZInddJaEWVZi2wNNbR7J7+BIG8Zv492PDoe8YDZK7nyHjtDaIkaB/HHSD+KfoTuErVsSO0E1yZDpnzCtyb24euWORRiCk4o5EhAm2DUbV1mRB4vNG89QouDQKXySX4bhzahNimrbWXjx7iVIU1bk9OPhrd0SsGYjkNrXx5KY2/ijhNd8TQI9U1q4K+GATX1rZywY+539NrlacWXeIz6QD2/dKKhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jBoxDRRiNObZbWquwZAPXj1shSi9v5yIgx0Kejvjy5o=; b=KIArNDbQbtm7bV6dCMnVCK4wpgvsQl22Moij9BfSIIU2yaOTNVs01Vgp2gEIzwA/akBD3IcTjv9SUl1waepz7YygvgqLGuXDLPt164VhHIw8Y2qIxiekUwiCHkx8Cx1isXVChC9HtB+eYGGkvB5US2USiDjGNtvyRq+Pwj9MP8KyBcI2AbZ2IGvRYe/OJ/p+DH6yQRplEZJMW1XN6CISq91oewQTkB03XabClHOzbgm0Qx4WIGwG2cewM0jhAMFtEuflmTzmoCRg/+rrNbHzeOVhmbgkyd3kUURWycl0x+4X5KyCG7qcCqtGvgoMO6eP5pB+bcphSErJD+Q6xx3YnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jBoxDRRiNObZbWquwZAPXj1shSi9v5yIgx0Kejvjy5o=; b=QfNubbFm7B7WmH3LlF+SVHPIDJ4oocLQvy4Jfmm3KVPJcv4C6o97eLMA9Ouw+I8+POcOn9M98w1sD4V4pNqE7Jt5FGlQtZ4aLBuN92ErLk1p0HBL8ZV5cDnVd+6H9foZ/sP2lp94jLWEklAlPYFxTYZTLlSkh3V3ybbsrN3ssfmdz6puVs6SEGS2KRIll9aVgy7W3hwJijZro6WxuRnzDbnLQi7b6WgrrTNgSmi3F68v9JgUevAiwl8370uMflNSvPBZQkLF7PJxwOLZAoP3iVV0MVDrPz+pchOyT7qKK6yifQUJ8B1AeAkpz0fV6P8rGLxG8Im8S597N5bTskPIQQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by SEZPR06MB5072.apcprd06.prod.outlook.com (2603:1096:101:38::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 12 Jan 2023 13:35:14 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572%5]) with mapi id 15.20.6002.012; Thu, 12 Jan 2023 13:35:14 +0000 To: jaegeuk@kernel.org, chao@kernel.org Date: Thu, 12 Jan 2023 21:35:03 +0800 Message-Id: <20230112133503.16802-1-frank.li@vivo.com> X-Mailer: git-send-email 2.35.1 X-ClientProxiedBy: SI1PR02CA0058.apcprd02.prod.outlook.com (2603:1096:4:1f5::9) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|SEZPR06MB5072:EE_ X-MS-Office365-Filtering-Correlation-Id: e8d41b34-1742-4662-3eac-08daf4a1d5cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2k5miotvS21Xl5q9r4k+qbmfJpqefDDYs0CFnUk6W2rDJL0EZesZUxh4QIgmcoCfeZxZmkoPY6RZNb6wS8QRiLXnmzVAiKnRRD2F1garY4Zoa4Dp8qnhJqO8kZ6xiPqRp1G1X60KkfzvkMMPg2VTW/TekoBsjh0S8EgS/Ah6nct68gACs2Cw5JOQXPgpLlXu9Eugl/vMyOCrtMOY6NDTXPdaOd9/2mQhGpE+DtEpsvF3E/jYHtgz9fbUlx8VFVmZN4MezZuphPB37LKlgpfpEI9JHygq3gVSyQ9hW2az8QezEqCtdJUGQE7T16WxUNYrqZKID/P8t1aDcsZcqb9bDEW4pNwVRIKxpFct4MaZgCa9wZ7/u8DcgXIgG/s5Qawik+2rpIazKmSlQf5uwof3mp9LvTijU+NFByaFvcKkRQhw0McGpOYbFvZb3HMFJPgZby1bxvZIOKD+RU8MOMu2zfSmSivCIvzXhOt4da3qWQvDDmMGv/p7TX0ANWrclEIz9IJLIdVy5vdZpUjxH7bztR43j0CA6yiFMPNndAB9YdgEhYMFQ4hXX40tOrVJn8Y/Q30Y6HAJtK3KgDWUNMGyZN/FuglnTNV3ZzR1geuS0m70JPrHkJFZBfcOvfwJhzDtrpA5FA4P+2HN8PwCDuv10DCgpNuXUavjs4OqpFtXP724jw5WmtrH/xDb9871UdYxX3MM/yLkc0mk8KSeQIFqxw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR06MB5269.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199015)(107886003)(6666004)(478600001)(6506007)(6486002)(86362001)(2616005)(38100700002)(6512007)(186003)(52116002)(38350700002)(36756003)(83380400001)(26005)(1076003)(66946007)(8676002)(8936002)(66476007)(4326008)(66556008)(5660300002)(316002)(41300700001)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: M1CCMffZIu7xzE7e+NmZk246+cez6X+JwPCbSPo8174KC0tguti6FX3YX/7WkVFbDXweeodwDobrJIjyGty+zvepq3rywpIBfWRCg52OgyZgjQenrOQibOLQeHdSc5pWaxj7tkrQRhLo+VDpKCrOG5Zp3LcN+vySy92C2UG06AphO1BsChNDmSF9o2iqtUGNoSKegTMcBjK5Iw7Wxlmamf2DZoEfeqNm3tKDbyey1PZQL8hl78fIypOQSibQX3e+ddtH58CNmg6CtybepjofPdShN+HAx1Mwc3z2azmJMvPGkDmlxOHnS2zYDoakJ/Evs9SqdAx2CWtcUWHoLMMhBRjwJEaOfZLjY6aXX+SegOqekUU7+2sHdjRfC7YcDoQY5jPjNRmDYajM7Q+n7hXWqZUNbZiP+YSiIpqPKxbo246FI0LqVS/x1JvPf7SiN8P9NSLz5QFZ4SNE8mmNFuac0CAl0s5pkAkvPJP58ey0rwFfX5ZVnbXVO9czPP9FxGOhuLpDlqYNdbXr4Omso6O2V4LBharEMhq+JuTVyFFWd2I2Cns9S+GS8oINAgsapDq91aKdzBG1K/RROksj7Gu9hEukTtRjfcBtLmT8mzxDMT/PSDcZeBvWEMoJ9Y5ZGdAvoiJC9appK5UboOVsHcozW7/90St1WgfS3pjTkwmGBTDARXFUEe+C7RXx0AslsSVUNu69AqIYFRkr1nl3l99/3ZaS2gmL4EskBxRvg3HNllWGCxR0LhzgWiZxsdTwo+zPszUn6ZUjpCRxS588nc6M3anGdDUpGrswR2GYkec6rHLVtcXeg1D1vBqoLDFLKrGQkDutNlrnzhNCNDKNj3jaEDsdto/racLC06d6kzMnBVZ8xBoGFP0mmYmT2Hbly5/gOr5e4PrCuE0QesQV8RSmC5sLmRYUgA6F/Drr5nqjEItUQV3sTMG0CJKn63lkYjvejEwz7L6QPMn075XN4rD2wtZcgQ6wPQoTaWRW6JjjWZOA9m8ZZe9RDPrSeM6JdyDcab+ys7v9Nx1oSZNSynmI3Jj1Gs+O8akqppcMvfRC20ePZDHwbrQF02YNMdBniqVqG/lccOdDr83C3DGIFWjYnVsgvaIPnKMG9Wgii1W4lEMO72mdjw+8FFbC3ntJaA1CQaVk1T2z2B/TraIw0DuRbIZPGYA2W4pnPTB5U+r1vmGoNPTwyPPQFmQPlrY3kpnVv9CstErPTZo1pMEBmTGdVFIOtcB30fV+8KbZGBVzPuhzCWeWsAHx0bAfgc9gvceprqrsCabuJ7ZQaL9Em9DXFmVDmd2YvJTcLSjHE2Z+RYrG1ttzQOyycUC3WX5UxgWKxZcFhU1jX3c8Zt0bEXvnDGdlaVgviUuKhpzKQA8ogw9rXiE6Ib4FMTlnTCdpItqisJyrdXUIelEVLdTFguwz1p73MrkBA9P0vnEalmS9jCTnwBtUlBT7oJVNrvOV6zu2bFBh37jIDHNj+GCYgDywf+0NOOB7VCyFfq1JYjY6BNG8anLSQCkf32ABytFPxJHyPFW80cciQRdi8oSl1V8BuT9Bw9TNgQ8Ns9fPVVZ+GurlpnEQCGc0W5mcveTWrZyj X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8d41b34-1742-4662-3eac-08daf4a1d5cd X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2023 13:35:14.1506 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 67czQ1ZJxQ0zSlTLiI9e8XT7ukO1dDL+OeJ9Bi8W41KCXnUvThnx676ggvMP7QG9ukEIk704o7/fH5pP2D6xUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR06MB5072 X-Headers-End: 1pFxjo-001579-Mf Subject: [f2fs-dev] [PATCH 2/3] f2fs: add F2FS_IOC_SET_COMPRESS_OPTION_V2 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: , X-Patchwork-Original-From: Yangtao Li via Linux-f2fs-devel From: =?utf-8?b?5p2O5oms6Z+s?= Reply-To: Yangtao Li Cc: Yangtao Li , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net Added a new F2FS_IOC_SET_COMPRESS_OPTION_V2 ioctl to change file compression option of a file. struct f2fs_comp_option_v2 { union { struct { __u8 algorithm; __u8 log_cluster_size; __u16 compress_flag; }; struct f2fs_comp_option option; }; }; struct f2fs_comp_option_v2 option; option.algorithm = 2; option.log_cluster_size = 2; option.compress_flag = (5 << COMPRESS_LEVEL_OFFSET) | BIT(COMPRESS_CHKSUM); ioctl(fd, F2FS_IOC_SET_COMPRESS_OPTION_V2, &option); Signed-off-by: Yangtao Li --- fs/f2fs/f2fs.h | 8 +------- fs/f2fs/file.c | 41 ++++++++++++++++++++++++++++++++------- include/uapi/linux/f2fs.h | 21 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index f3c5f7740c1a..c2267f44bcf8 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -1501,11 +1502,6 @@ enum compress_algorithm_type { COMPRESS_MAX, }; -enum compress_flag { - COMPRESS_CHKSUM, - COMPRESS_MAX_FLAG, -}; - #define COMPRESS_WATERMARK 20 #define COMPRESS_PERCENT 20 @@ -1521,8 +1517,6 @@ struct compress_data { #define F2FS_COMPRESSED_PAGE_MAGIC 0xF5F2C000 -#define COMPRESS_LEVEL_OFFSET 8 - /* compress context */ struct compress_ctx { struct inode *inode; /* inode the context belong to */ diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index f5c1b7814954..719706ef0d46 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include "f2fs.h" #include "node.h" @@ -3910,12 +3912,13 @@ static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg) return 0; } -static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg) +static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg, + unsigned int cmd) { struct inode *inode = file_inode(filp); struct f2fs_sb_info *sbi = F2FS_I_SB(inode); - struct f2fs_comp_option option; - int ret = 0; + struct f2fs_comp_option_v2 option; + int ret = 0, len; if (!f2fs_sb_has_compression(sbi)) return -EOPNOTSUPP; @@ -3923,8 +3926,12 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg) if (!(filp->f_mode & FMODE_WRITE)) return -EBADF; - if (copy_from_user(&option, (struct f2fs_comp_option __user *)arg, - sizeof(option))) + if (cmd == F2FS_IOC_SET_COMPRESS_OPTION_V2) + len = sizeof(struct f2fs_comp_option_v2); + else + len = sizeof(struct f2fs_comp_option); + + if (copy_from_user(&option, (void __user *)arg, len)) return -EFAULT; if (!f2fs_compressed_file(inode) || @@ -3933,6 +3940,21 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg) option.algorithm >= COMPRESS_MAX) return -EINVAL; + if (cmd == F2FS_IOC_SET_COMPRESS_OPTION_V2) { + unsigned int level = GET_COMPRESS_LEVEL(option.compress_flag); + + switch (option.algorithm) { + case COMPRESS_LZ4: + if (level < LZ4HC_MIN_CLEVEL || level > LZ4HC_MAX_CLEVEL) + return -EINVAL; + break; + case COMPRESS_ZSTD: + if (!level || level > zstd_max_clevel()) + return -EINVAL; + break; + } + } + file_start_write(filp); inode_lock(inode); @@ -3948,7 +3970,10 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg) F2FS_I(inode)->i_compress_algorithm = option.algorithm; F2FS_I(inode)->i_log_cluster_size = option.log_cluster_size; - F2FS_I(inode)->i_cluster_size = 1 << option.log_cluster_size; + F2FS_I(inode)->i_cluster_size = BIT(option.log_cluster_size); + + if (cmd == F2FS_IOC_SET_COMPRESS_OPTION_V2) + F2FS_I(inode)->i_compress_flag = option.compress_flag & COMPRESS_OPTION_MASK; f2fs_mark_inode_dirty_sync(inode, true); if (!f2fs_is_compress_backend_ready(inode)) @@ -4221,7 +4246,9 @@ static long __f2fs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) case F2FS_IOC_GET_COMPRESS_OPTION: return f2fs_ioc_get_compress_option(filp, arg); case F2FS_IOC_SET_COMPRESS_OPTION: - return f2fs_ioc_set_compress_option(filp, arg); + return f2fs_ioc_set_compress_option(filp, arg, F2FS_IOC_SET_COMPRESS_OPTION); + case F2FS_IOC_SET_COMPRESS_OPTION_V2: + return f2fs_ioc_set_compress_option(filp, arg, F2FS_IOC_SET_COMPRESS_OPTION_V2); case F2FS_IOC_DECOMPRESS_FILE: return f2fs_ioc_decompress_file(filp, arg); case F2FS_IOC_COMPRESS_FILE: diff --git a/include/uapi/linux/f2fs.h b/include/uapi/linux/f2fs.h index 955d440be104..aaf7f55273fb 100644 --- a/include/uapi/linux/f2fs.h +++ b/include/uapi/linux/f2fs.h @@ -43,6 +43,8 @@ #define F2FS_IOC_DECOMPRESS_FILE _IO(F2FS_IOCTL_MAGIC, 23) #define F2FS_IOC_COMPRESS_FILE _IO(F2FS_IOCTL_MAGIC, 24) #define F2FS_IOC_START_ATOMIC_REPLACE _IO(F2FS_IOCTL_MAGIC, 25) +#define F2FS_IOC_SET_COMPRESS_OPTION_V2 _IOW(F2FS_IOCTL_MAGIC, 26, \ + struct f2fs_comp_option_v2) /* * should be same as XFS_IOC_GOINGDOWN. @@ -62,6 +64,15 @@ #define F2FS_TRIM_FILE_ZEROOUT 0x2 /* zero out */ #define F2FS_TRIM_FILE_MASK 0x3 +/* + * Flags used by F2FS_IOC_SET_COMPRESS_OPTION_V2 + */ +#define COMPRESS_CHKSUM 0x0 /* enable chksum for compress file */ +#define COMPRESS_LEVEL_OFFSET 8 +#define COMPRESS_LEVEL_MASK GENMASK(15, COMPRESS_LEVEL_OFFSET) +#define COMPRESS_OPTION_MASK (COMPRESS_LEVEL_MASK | BIT(COMPRESS_CHKSUM)) +#define GET_COMPRESS_LEVEL(x) (((x) & COMPRESS_LEVEL_MASK) >> COMPRESS_LEVEL_OFFSET) + struct f2fs_gc_range { __u32 sync; __u64 start; @@ -96,4 +107,14 @@ struct f2fs_comp_option { __u8 log_cluster_size; }; +struct f2fs_comp_option_v2 { + union { + struct { + __u8 algorithm; + __u8 log_cluster_size; + __u16 compress_flag; + }; + struct f2fs_comp_option option; + }; +}; #endif /* _UAPI_LINUX_F2FS_H */ From patchwork Thu Jan 12 13:36:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 13097998 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 23B8CC54EBC for ; Thu, 12 Jan 2023 13:36:29 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1pFxkp-00033K-CP; Thu, 12 Jan 2023 13:36:26 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pFxkm-00033B-98 for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:36:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=MIME-Version:Content-Type:Content-Transfer-Encoding :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=duWOs/Ix8uyKICEfM8mPMrrqsEq4KNTHqbffA8TiPWs=; b=ky5aYzdgJoC4zrliNiPYzPuSAN 97qKOGL4/y+asygsPEX91HQ9YgNHrJVQ+nWmLE+ko1DaT2Bv8f/YqudyCFPmlJC06XhK2TpejnF1l XIjUNBmU6PMX7r/+X2DPwshk5uYbjbxa3+oZnQ8o/r+azC/M02V0F/OL+7bVUiu6ZD5k=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=duWOs/Ix8uyKICEfM8mPMrrqsEq4KNTHqbffA8TiPWs=; b=T qTqpzXgLIqKcN41LuTR1yS3y88Dgu4ZjSAOYl+LSl6iCOCZ+Y5tgHOnUizZ9pe9Hcaex/XcMF0pFy ltzbLFbt37awBauk6exc5kxYhsodKJbU0iIWjmzJEB0AFjT0mqjzBs/CaA3VaPoeI0qwPBZ0+Sk/S f2hrXOLr6NGlsGSg=; Received: from mail-tyzapc01on2109.outbound.protection.outlook.com ([40.107.117.109] helo=APC01-TYZ-obe.outbound.protection.outlook.com) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1pFxkj-0007NQ-UH for linux-f2fs-devel@lists.sourceforge.net; Thu, 12 Jan 2023 13:36:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D0McbLsk0V25JRAbNBRRoWEI+7HoK0HVi/rcrweNfWQQ96CuS6+qx5uoCqvbH7dHzdxV1tAHkDUyvp8a/jUsyOC/BjqvUePuUUxsxAol2CppMBL9L0poIU9jUxqgDBmxfvxyahDqUTCyd+E1p7BKUuIf1CnL/oUWxFwDJ3QklED0IcAaftERBxQUtDOLkWt1rsttteW5QOCvEeRdFFnOsIT5tTe9OPeotIrawWtpo6sTKTxS71J8wJmo9aJDCvZfD37/dM3MSaZgbCgItanQA/sN/CVQih/GtalVrD5hddCFgAaQepBILiDe0CqRbpKclPFNIDgCKjKoQgBqr3e4Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=duWOs/Ix8uyKICEfM8mPMrrqsEq4KNTHqbffA8TiPWs=; b=j6eQqI4G8nCC3aKr6yC4JfMzIh2o4wEklo1+Cod64jVk3vdV6RBa6bq95ZoznRXA0KDsWn9SFA4UgkGc7RaqAq/uOUivQq5qr/3mO8NZ8GSwkGyGtcwAEtygmjqlaWLWtVOdIVazJDbuClB049vnWNLWYxA0c38gSJaYsVPPsIpXBuN0FZVfjrjW/TJ0a+4o0RBFBGRAFOPrfOp6OGZ/fRF6ICunuzaQKK2DbFntyu0Q3vbG0Te8SZrZPDslxii4L8uKh+ddDprwuFiSgHASJmwvM91Wm7+EizLE2NDacQ35SVTj2QbCKBFAqdFQ+b7UqGjpOx5f9PS6d5OkPVMcbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=duWOs/Ix8uyKICEfM8mPMrrqsEq4KNTHqbffA8TiPWs=; b=S0YwLyDRmeAy6DG/RJnPbp2vsaMt/Pz15HF9zifFm4Lnp5b6u9AugCWcG/GURxN5tYPpZVG0zQ6qi+ZGSC5rehpmFDiEQkOG2Xuv5gKLqW8z/hMDZHuguPhAOVV3R+HNrcIVnFtmSttD8FxQFWN19HvDmZ9pu1rer3esyHJ8bkyUtFmQ5YymKiaLxCq0fmgFW0YWbD7I76sGnTkjpfRvF0fnVUxhq1cO3O8WfrNPrbRKkrRWXC0efKfvshxcXStveZwuKIF77HfeIqEkX4reWoVWCdjs8gUMx4pljzG2G6nKsqk397QrZvJzAcFVzOZSwp3+pfDsI975qi9z2y4x0A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by SEZPR06MB5072.apcprd06.prod.outlook.com (2603:1096:101:38::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 12 Jan 2023 13:36:14 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::3e52:d08c:ecf4:d572%5]) with mapi id 15.20.6002.012; Thu, 12 Jan 2023 13:36:14 +0000 To: jaegeuk@kernel.org, chao@kernel.org Date: Thu, 12 Jan 2023 21:36:05 +0800 Message-Id: <20230112133605.16957-1-frank.li@vivo.com> X-Mailer: git-send-email 2.35.1 X-ClientProxiedBy: SG3P274CA0010.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::22) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|SEZPR06MB5072:EE_ X-MS-Office365-Filtering-Correlation-Id: 070f66d2-1999-47ad-0611-08daf4a1f9bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WtDrrmbeiBq+B1MUGmC453aWbyEvC2WSH9p2205Y8/QFPNgS94IS03IRav448bkDgxk4KTNCvSczVxCmyh54PYiwuzLNPis0Us73RbQonEChr66btgVvi0VhnW0SX5bbgQqmAF7y3qGLQ/1ks858FjejaZNZLqaBkZ3e2w738/AZKp2h3FbDonMUKzchBq0z9N9yzUsPJvLRMvyb/BsPSY/6WVcon6/ZW3hiCSerWKS450NW9iUXwDcFwgk2QTH4iyFSsTMLSgVXenLvrD83tfnPhYiTNeza8szx4ho0Alq6yxRDGD5KulWh135djGxdySYHxSjmb4swsGX0jlolA5HCtkxoml6JzkNPiD5iVba94a0udPrn0m3VpSiRtc0OrQN24OZPA1on7TNYW/LahTwgf5REj1s4CPInJKdWnSr2Kbg0iikwnN+mQObQX5B7KeCLqb/UnqD9Sx6ZjfWb3aa3aaiUE+DLNuyHWJkGy8LtvMNVtETYVeqhBqpQG1Heq26SfGMxSaWnIkgsSXk11CFHc7D9eN0TAfCjbCs4Y2m9jBXHdJFOWoHxav2BSE3uHwOKeW4gqBxbIntIhm9SJYL4eQh0DeHEpncVTiHiBByOP3P7tmpbLqYuQCgm1ewvj7GjYTTgzWBkjRuvwmI/kW380ofyIEhqUXtfE4zm4aJW5OqzzSKDwhvyn9mkCLmUQ4yoQhlMv1X0F7JheIfojA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR06MB5269.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199015)(107886003)(6666004)(478600001)(6506007)(6486002)(86362001)(2616005)(38100700002)(6512007)(186003)(52116002)(38350700002)(36756003)(83380400001)(26005)(1076003)(66946007)(8676002)(8936002)(66476007)(4326008)(66556008)(5660300002)(316002)(41300700001)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dszGwjnXolIu0pMWhQj6Byf5Gs2ieG1lq0bHTGovf0/5S2RkwKYhrO4B9LiCcMRUlsF1NY5zolNLwlb9i3TCDp8dgi2lxsKCk89khVR799/iybiVj3f4jrt5PbZ/JpMKf0aWyQ+V6D7NXebtVnldFNREMxMOmoo1e3zyY4hdn3ztTXSQ8XcoFPwc6EI4nNvZ7uWpO1zItxQkpaGSKo2Mi1hXSeHsYX9GyzGBV4X36gmJAc4ugfW9B+vIaQiTOKYRYGzCpFwhhiz6xMyFmcYtPiIkXJEV4MC84QVUIJnDAL7O6k8beueCMzIlXFVeMSoKVeMovFwWEKEZnIF5kmqf5OW9huUGIekCCB9YwI6N3gXrqaGrRlCcDCmksdH59vK/wD9i4tAeZEZIp33Fnzped8e8/Ag2Ng+6vr6OZkY6Dvxsln12eD++adJR1mAgBXC93d50eJdfU3ycBoa+rIU3N/lVkOtRqIU2HCZu+/ruopxMUSf9PIeiY2nAabio/qZuwYAUaS15KCNjQX8HjVlijX6iL6nqvx1fDkFfXyUXk0R1ta3ysEz/fx4CcRSklGW65I7I8ck4veiULfOmfFlyJ2k9iI+0EwW2NkMhqL7f6C8lJOzeXNGydq0ccYQPxXqIpQctdIfjItImIJynsXWV3/J5dufsbgmbRUMCH6PZSnVjBHguY/KKyiBwscGcoeeoRM8y1v+4B9Fgg/wag9leZk1cBfatYMuICKO22P4/lvykPRsPCHC8gd5tUh+sOQwVhsdq17v64FF8cLwZf0NGqXEna6fno6830IjBBtA3t7l855kurCCXH2NoOQqkissqn6s5DhRK4AAQ3EPxVPKy7qr4FjGOCkupfW2xDTOhzez4dqUBvcBxNjziRslPL2fl9VnrY5Pkw4jjNxi2DIXm1TpdXMsDz8/h2dbzjE/RkWWj1OqxSN1jLMOf4QPTHUF8f5V6ttd9ASHnrPRwVn2E8Kxo4O5gG0hPgz0Ey3gY1KCYhi6a/oDoQgVE84mUbGGDJSDR2Y11js16AGK72GRsxI32pXFTg2PCtRjRYAgogsh3sF0VOFqO/qOiKx9SUYqHFaEE2CraWqEabicLd4nh5kIILS53RK2RqgE2BQ1VMSyyLcZqEg5H1EcgGOIX+esUHnZIJd5H6N0POa/X8s5QfbX5o1cVU2PQccJ/G8iBucywJOS/RdMPfkB25LSRREBaHi9XHGqay3CwGXPm2pVa8jjY1Etdj+YMTv1WbML0fG5BaYthkUlsPGydrPi3quIV8hxSwbsJIPLaD+fonVYyHlhWRe7Xsq9imPAX0zBqVuMPdByFWWVmyGuiLyW0bRUnBDgZCe7/FkgzSrwBXdK76Iey6UR5u2d56To9lnnH1v9yV0yM8s+pO7FUOsbuPBF03OBWZcxD9T+pIMdai7rW2zRm/KzX0i6SCWsJCaoWkDeXnahPHYzzgWMh/JSxF3p2h5P4CKzj2pO79JezECSq5Wikyi4oyka62Y8E5XIj5WrKMAYGTcwTaNi9lRZTS6v+XMHYFhQpPj7AoeHs1WEEQU+ibbybkhvSSut29HcfDDuv0Wf/7wv7hzTKzg1418a/ X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 070f66d2-1999-47ad-0611-08daf4a1f9bc X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2023 13:36:14.4369 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 298oVOnn+GbBYEzm0vxpM1WIGjL1O4hhQMB6cMqN9tni2LrnmnuFn0fVbs3bFZ05U9mtTB4ZOZRnIseGPDZKaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR06MB5072 X-Headers-End: 1pFxkj-0007NQ-UH Subject: [f2fs-dev] [PATCH 3/3] f2fs: add F2FS_IOC_GET_COMPRESS_OPTION_V2 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: , X-Patchwork-Original-From: Yangtao Li via Linux-f2fs-devel From: =?utf-8?b?5p2O5oms6Z+s?= Reply-To: Yangtao Li Cc: Yangtao Li , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net Added a new F2FS_IOC_GET_COMPRESS_OPTION_V2 ioctl to get file compression option of a file. struct f2fs_comp_option_v2 { union { struct { __u8 algorithm; __u8 log_cluster_size; __u16 compress_flag; }; struct f2fs_comp_option option; }; }; struct f2fs_comp_option_v2 option; ioctl(fd, F2FS_IOC_GET_COMPRESS_OPTION_V2, &option); printf("compression algorithm:%u\n", option.algorithm); printf("compression cluster log size:%u\n", option.log_cluster_size); printf("compress level:%u\n", GET_COMPRESS_LEVEL(option.compress_flag)); printf("compress chksum:%s\n", (BIT(COMPRESS_CHKSUM) & option.compress_flag) ? "true" : "false"); Signed-off-by: Yangtao Li --- fs/f2fs/file.c | 20 +++++++++++++++----- include/uapi/linux/f2fs.h | 4 +++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 719706ef0d46..e011fb50ccc3 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -3885,10 +3885,12 @@ static int f2fs_sec_trim_file(struct file *filp, unsigned long arg) return ret; } -static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg) +static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg, + unsigned int cmd) { struct inode *inode = file_inode(filp); - struct f2fs_comp_option option; + struct f2fs_comp_option_v2 option; + int len; if (!f2fs_sb_has_compression(F2FS_I_SB(inode))) return -EOPNOTSUPP; @@ -3902,11 +3904,17 @@ static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg) option.algorithm = F2FS_I(inode)->i_compress_algorithm; option.log_cluster_size = F2FS_I(inode)->i_log_cluster_size; + if (cmd == F2FS_IOC_GET_COMPRESS_OPTION_V2) + option.compress_flag = F2FS_I(inode)->i_compress_flag; inode_unlock_shared(inode); - if (copy_to_user((struct f2fs_comp_option __user *)arg, &option, - sizeof(option))) + if (cmd == F2FS_IOC_GET_COMPRESS_OPTION_V2) + len = sizeof(struct f2fs_comp_option_v2); + else + len = sizeof(struct f2fs_comp_option); + + if (copy_to_user((void __user *)arg, &option, len)) return -EFAULT; return 0; @@ -4244,7 +4252,9 @@ static long __f2fs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) case F2FS_IOC_SEC_TRIM_FILE: return f2fs_sec_trim_file(filp, arg); case F2FS_IOC_GET_COMPRESS_OPTION: - return f2fs_ioc_get_compress_option(filp, arg); + return f2fs_ioc_get_compress_option(filp, arg, F2FS_IOC_GET_COMPRESS_OPTION); + case F2FS_IOC_GET_COMPRESS_OPTION_V2: + return f2fs_ioc_get_compress_option(filp, arg, F2FS_IOC_GET_COMPRESS_OPTION_V2); case F2FS_IOC_SET_COMPRESS_OPTION: return f2fs_ioc_set_compress_option(filp, arg, F2FS_IOC_SET_COMPRESS_OPTION); case F2FS_IOC_SET_COMPRESS_OPTION_V2: diff --git a/include/uapi/linux/f2fs.h b/include/uapi/linux/f2fs.h index aaf7f55273fb..b42f6b322b8b 100644 --- a/include/uapi/linux/f2fs.h +++ b/include/uapi/linux/f2fs.h @@ -45,6 +45,8 @@ #define F2FS_IOC_START_ATOMIC_REPLACE _IO(F2FS_IOCTL_MAGIC, 25) #define F2FS_IOC_SET_COMPRESS_OPTION_V2 _IOW(F2FS_IOCTL_MAGIC, 26, \ struct f2fs_comp_option_v2) +#define F2FS_IOC_GET_COMPRESS_OPTION_V2 _IOW(F2FS_IOCTL_MAGIC, 27, \ + struct f2fs_comp_option_v2) /* * should be same as XFS_IOC_GOINGDOWN. @@ -65,7 +67,7 @@ #define F2FS_TRIM_FILE_MASK 0x3 /* - * Flags used by F2FS_IOC_SET_COMPRESS_OPTION_V2 + * Flags used by F2FS_IOC_SET_COMPRESS_OPTION_V2 and F2FS_IOC_GET_COMPRESS_OPTION */ #define COMPRESS_CHKSUM 0x0 /* enable chksum for compress file */ #define COMPRESS_LEVEL_OFFSET 8