From nobody Mon Dec 15 23:27:41 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 147727082D for ; Mon, 15 Dec 2025 12:28:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765801690; cv=none; b=SvlfL08ruW9lvBVxfyTmaIA+UKs2LIH0OSnZxf8XP2j1vqti//XVosp1DTRpp9n7JjkKE/O4qbxpSzaTgwwluGvqMmDQNRg0+lHY7Mmtp6FUz0BJWrI/geaMaxzH5j81/J9tSvUwYN0kQJjDqAH8en5k0hwkZpkpSoNgxsvVbdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765801690; c=relaxed/simple; bh=xCHv3jDd0xIUUhHnza2mxbQ9yRogBBb/zo+UHWiiASY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NuzOvL4sgGKMAklLkzZmL1vSNkoTK3DJcMv6qBg/rcTHdT7HFPqUaAW7Mn2Q/QtfXWHdIF3I/df/nLO0f0PMl78nCkYtkvvNvonYeMgjYPJBvbdlF2fT1e6I4fzD499YjwdSp6+Fu/T96x7pO1rsfWFis4yJYU3WTzUGlbkwA9g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cvVj3Tk+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cvVj3Tk+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67328C4CEF5; Mon, 15 Dec 2025 12:28:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1765801688; bh=xCHv3jDd0xIUUhHnza2mxbQ9yRogBBb/zo+UHWiiASY=; h=From:To:Cc:Subject:Date:From; b=cvVj3Tk+rA1KnCnd2k/xrA1Ea9QUJRMe1UX202Chc2CmZ/s4prAgk4dp7r9N1dllP xeaGkT9gFosP5XOKS8EC0ToIdgAqkBZ6ASawMpJNyis2B83XtVoNOwJcUHbbL9DepA MP+wZ+FjCTPTEE2eupOeuN6YenfuGi7nbDeyaHuI0kw/cPIwLbFcuEaJ/fHMT4PnjF SREot8u2hVczCoUOyfy4yS6mojRa19mshp4SDeoca/v0x2avgJmVxdUhnkeCUiaO8G EJrCbZ0TKRci4l1Ri1xe8EJZPsYtKGJoPIy90YMpbRxgb/2hPRgERIFXrHElFLhmMZ lOfESAR58roJw== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH] f2fs: make FAULT_DISCARD obsolete Date: Mon, 15 Dec 2025 20:28:03 +0800 Message-ID: <20251215122803.3495320-1-chao@kernel.org> X-Mailer: git-send-email 2.52.0.239.gd5f0c6e74e-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" __blkdev_issue_discard() in __submit_discard_cmd() will never fail, so let's make FAULT_DISCARD fault injection obsolete. Signed-off-by: Chao Yu --- Documentation/ABI/testing/sysfs-fs-f2fs | 2 +- Documentation/filesystems/f2fs.rst | 2 +- fs/f2fs/f2fs.h | 2 +- fs/f2fs/segment.c | 18 +++--------------- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/te= sting/sysfs-fs-f2fs index 770470e0598b..7920c233d8ec 100644 --- a/Documentation/ABI/testing/sysfs-fs-f2fs +++ b/Documentation/ABI/testing/sysfs-fs-f2fs @@ -732,7 +732,7 @@ Description: Support configuring fault injection type, = should be FAULT_TRUNCATE 0x00000400 FAULT_READ_IO 0x00000800 FAULT_CHECKPOINT 0x00001000 - FAULT_DISCARD 0x00002000 + FAULT_DISCARD 0x00002000 (obsolete) FAULT_WRITE_IO 0x00004000 FAULT_SLAB_ALLOC 0x00008000 FAULT_DQUOT_INIT 0x00010000 diff --git a/Documentation/filesystems/f2fs.rst b/Documentation/filesystems= /f2fs.rst index 9b3b835a174e..27aa4032c7cd 100644 --- a/Documentation/filesystems/f2fs.rst +++ b/Documentation/filesystems/f2fs.rst @@ -206,7 +206,7 @@ fault_type=3D%d Support configuring fault injection t= ype, should be FAULT_TRUNCATE 0x00000400 FAULT_READ_IO 0x00000800 FAULT_CHECKPOINT 0x00001000 - FAULT_DISCARD 0x00002000 + FAULT_DISCARD 0x00002000 (obsolete) FAULT_WRITE_IO 0x00004000 FAULT_SLAB_ALLOC 0x00008000 FAULT_DQUOT_INIT 0x00010000 diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index d7600979218e..65ca1a5eaa88 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -54,7 +54,7 @@ enum { FAULT_TRUNCATE, FAULT_READ_IO, FAULT_CHECKPOINT, - FAULT_DISCARD, + FAULT_DISCARD, /* it's obsolete due to __blkdev_issue_discard() will nev= er fail */ FAULT_WRITE_IO, FAULT_SLAB_ALLOC, FAULT_DQUOT_INIT, diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index c26424f47686..5168026b2960 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1286,7 +1286,6 @@ static int __submit_discard_cmd(struct f2fs_sb_info *= sbi, &(dcc->fstrim_list) : &(dcc->wait_list); blk_opf_t flag =3D dpolicy->sync ? REQ_SYNC : 0; block_t lstart, start, len, total_len; - int err =3D 0; =20 if (dc->state !=3D D_PREP) return 0; @@ -1327,7 +1326,7 @@ static int __submit_discard_cmd(struct f2fs_sb_info *= sbi, =20 dc->di.len =3D 0; =20 - while (total_len && *issued < dpolicy->max_requests && !err) { + while (total_len && *issued < dpolicy->max_requests) { struct bio *bio =3D NULL; unsigned long flags; bool last =3D true; @@ -1343,17 +1342,6 @@ static int __submit_discard_cmd(struct f2fs_sb_info = *sbi, =20 dc->di.len +=3D len; =20 - err =3D 0; - if (time_to_inject(sbi, FAULT_DISCARD)) { - err =3D -EIO; - spin_lock_irqsave(&dc->lock, flags); - if (dc->state =3D=3D D_PARTIAL) - dc->state =3D D_SUBMIT; - spin_unlock_irqrestore(&dc->lock, flags); - - break; - } - __blkdev_issue_discard(bdev, SECTOR_FROM_BLOCK(start), SECTOR_FROM_BLOCK(len), GFP_NOFS, &bio); f2fs_bug_on(sbi, !bio); @@ -1392,11 +1380,11 @@ static int __submit_discard_cmd(struct f2fs_sb_info= *sbi, len =3D total_len; } =20 - if (!err && len) { + if (len) { dcc->undiscard_blks -=3D len; __update_discard_tree_range(sbi, bdev, lstart, start, len); } - return err; + return 0; } =20 static void __insert_discard_cmd(struct f2fs_sb_info *sbi, --=20 2.49.0