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=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham 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 644C3C4338F for ; Fri, 20 Aug 2021 10:53:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 45DA66103B for ; Fri, 20 Aug 2021 10:53:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237584AbhHTKyM (ORCPT ); Fri, 20 Aug 2021 06:54:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:36096 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232069AbhHTKyL (ORCPT ); Fri, 20 Aug 2021 06:54:11 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A39F260C3E; Fri, 20 Aug 2021 10:53:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1629456813; bh=VlCFJfF9lFTl1dJuE2e2uzICbbzwsCfyLaRHpi2W6t8=; h=From:To:Cc:Subject:Date:From; b=gvp5NIvIFYC2SgsUYcZNqtZTxTaEyKvRmu0ajo8wMC0m8WN9i5Tb6uj1/56KHNqqE ijWpxW2ag+TjgaB7odO+jfkzh/qGdrQicsf/Mdsw1i2TGToRA7iw+z0KXnwr1sxgkL 05nJvsqnPJheC7AT2FzJX9lkwJgeRvULo3tjlLIJtFndvpKBhExtaks2rRFpb4dtjv 76VCvqvCgx+EAN8ZUV0DtTRqvN0sSGArbVnhBHBtJAQtNqgVcnQBGRCIs139eoeGhH JtYbgBrXFk6uiPDzNAtHXM7HmmbsDaWLRd/XcfNM1Lej0xRkCG6Wbx6sURiWQgutAM r7IrDPP5OT+QA== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu , Chao Yu Subject: [PATCH] f2fs: enable realtime discard iff device supports discard Date: Fri, 20 Aug 2021 18:53:26 +0800 Message-Id: <20210820105326.26922-1-chao@kernel.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Let's only enable realtime discard if and only if device supports discard functionality. Signed-off-by: Chao Yu --- fs/f2fs/super.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index f92c582f8008..597e5dbc2f6d 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -660,10 +660,14 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) return -EINVAL; break; case Opt_discard: + if (!f2fs_hw_support_discard(sbi)) { + f2fs_warn(sbi, "device does not support discard"); + return -EINVAL; + } set_opt(sbi, DISCARD); break; case Opt_nodiscard: - if (f2fs_sb_has_blkzoned(sbi)) { + if (f2fs_hw_should_discard(sbi)) { f2fs_warn(sbi, "discard is required for zoned block devices"); return -EINVAL; } @@ -1999,7 +2003,8 @@ static void default_options(struct f2fs_sb_info *sbi) F2FS_OPTION(sbi).unusable_cap = 0; sbi->sb->s_flags |= SB_LAZYTIME; set_opt(sbi, FLUSH_MERGE); - set_opt(sbi, DISCARD); + if (f2fs_hw_support_discard(sbi) || f2fs_hw_should_discard(sbi)) + set_opt(sbi, DISCARD); if (f2fs_sb_has_blkzoned(sbi)) { F2FS_OPTION(sbi).fs_mode = FS_MODE_LFS; F2FS_OPTION(sbi).discard_unit = DISCARD_UNIT_SECTION; -- 2.32.0