From patchwork Tue Feb 18 12:02:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingbo Xu X-Patchwork-Id: 13979735 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58FF1C021AA for ; Tue, 18 Feb 2025 12:02:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AEEB72800D6; Tue, 18 Feb 2025 07:02:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9FD982800F9; Tue, 18 Feb 2025 07:02:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 859A22800DF; Tue, 18 Feb 2025 07:02:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 52EE82800DF for ; Tue, 18 Feb 2025 07:02:22 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1C97A1C8F53 for ; Tue, 18 Feb 2025 12:02:20 +0000 (UTC) X-FDA: 83132927640.27.78C7C86 Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) by imf27.hostedemail.com (Postfix) with ESMTP id BBFFD4000A for ; Tue, 18 Feb 2025 12:02:16 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=aQRw741K; spf=pass (imf27.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.112 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739880138; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ELWahEziw1ddKeNrxVKn7NIq0FKyA7vh3KDs9oWRZaM=; b=JTcSxbCCPrBDHFqVK2r2Ir4OAchDFkPXfQuK7SqNJmmmkJid6HLG92f7K7hvP8prZXKeeO HwjOThSqorH+DeU+DBpqEsSD7QehsrH/z6pn3Gl9ZmWcJScaT5OmCEg8ut2XWHgmtNsSL0 UmgXQTc5lRWJzf2bEBTLP0SKZyV5os8= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=aQRw741K; spf=pass (imf27.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.112 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739880138; a=rsa-sha256; cv=none; b=KPLz6J/IHkUsI66UA28Q3WKTd5QDfvxu7P0+CQWuwa8+zepaTLl+pGPeJTRkDt8zLjoH+A vUqpcxvXhdEUD1JjI2tlIo3cVbIfblqBw5ENmVDQhoYHY13oGXTegBCSTRGNd8e4f79Q/Z +HriYNFHQGwgC3pSdA6Zr/rlmTqf0MY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1739880131; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=ELWahEziw1ddKeNrxVKn7NIq0FKyA7vh3KDs9oWRZaM=; b=aQRw741K2yfuoBWZ+U4TakRkc/wD5Go4eUXa3hzXJ01UGtLCaRb6zj6KeD1aDvSEiuveKqNDGJtmQBYechs/8rowQaSZYfllYZQ8OLx5CKmdoBMYHdbXQH3zWbd2zrq6MiNKU+FSHwijkaS4NETKNusn807gn8dnd73PvcnTNpE= Received: from localhost(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0WPlpQxT_1739880130 cluster:ay36) by smtp.aliyun-inc.com; Tue, 18 Feb 2025 20:02:10 +0800 From: Jingbo Xu To: axboe@kernel.dk, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Cc: brauner@kernel.org, linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk Subject: [PATCH 1/2] mm/filemap: fix miscalculated file range for filemap_fdatawrite_range_kick() Date: Tue, 18 Feb 2025 20:02:08 +0800 Message-Id: <20250218120209.88093-2-jefflexu@linux.alibaba.com> X-Mailer: git-send-email 2.19.1.6.gb485710b In-Reply-To: <20250218120209.88093-1-jefflexu@linux.alibaba.com> References: <20250218120209.88093-1-jefflexu@linux.alibaba.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: BBFFD4000A X-Stat-Signature: 45e3fensjhby3azo8ccye3kgwqidasoi X-Rspam-User: X-HE-Tag: 1739880136-361485 X-HE-Meta: U2FsdGVkX1/VTwSgQNli1e6KYbjcp0Q99iBsD4Z+zgJNjmzjc0TRgbjdlqLMJt37BmzfyQ2CwGMjF7xK7ApYXyDQ83i1G/R+xtFUEbLCevAQmGHXCUOMCWSMj0dE7Vi6AMWO+MOxAGOzp83zSu79brvbnSPxH26Hu0UkIaR9gdzb4cyZ5oXeVc4zytwlVTo5kEvKLNodLXSzjkdoqexTBR5/g8SSOlJyFSOXBC5UKISVBkjwIupTerV52P8MVtfdNwdz07mPqaoYlR1hAPAlLcne4D3+iMsrFJFBh81XnPtejya55LH0Lv1bO+sSUDMdL78fSm5sW1QjjYCMmEuDP0gg8N7XkoOQXU0qaupMw/+sqbt7lZp0M2lQgJnrm4pW4b0KSUJhlQ1NgtrJcpAEJfrrbOqgFl4uCVnL2fXgCblrLA+hFPV/q77Dq0yUknPTlpatbR2B6Qp311NznyysyJwZqlJ579WEgX8QgMU1cqvPa/KINKRnw4FyuUeJULFOxCaEaSJj+xCeDbVj2ogcx2gWzlW03hdkffPywxXcAvKL2n7CiuuO80uz1ywsXynlnPG6do5mZLqNIN9sYN1wAoX2ylGo4soXcAk165OfMA2JoAcbb+/SNeu1EhVcejdEko7wf0ZYRZ+pTkBCDFL6Ix1Yt/qoS+H7zYieGQXbpuawD6NXzoFVQTJ1ig7boArK8WcmC30+J9ycJOrYTDJ3MfNwFtxzFybTn5Ktt8WkhfX05aj03FNV8zp8c0r5BMHFSxdulllXd1NxfWtFdWoO0duj+F9k1gekHGcw+N7R0OLAzCA/BYvRK3tfoLZ4QMYbENlj7Xjez7h1yTeeBrM716+n/g5C4ghX0a3tYiKFJLW0xZ24B4GrUDYlunanaRGq8xzJHWTIaxafpqh4lyY1joeQIu1mA9waUsVaMmBYml7R3dT2JwFgDkIR9FYuLKazUiChs/qE2h6LvjLMSo4 57UXiNg5 Fb9wvQio9HIeNEeYN6qJrhpqgCPc913r6iTkO5jPE9TONE6V5mkga6oa8ifj9TKWAAXoPdrpYo3jb26wWmYMW2ITv2+B6OeFsfkUme7BgNhFCHZAXzMJSnNlUew3817g1Kh09W19/iEL3gapbpKwS84JaiprRuWaDPEoxHYUbfA+DEDy3tW0hWxPbl07rF+KFH40X4LK6xOkMT5rjsv7Pa/IgDozJ/WyfiS6azULWZggU82JNKh0DYRL8/FJ4uquS9Hm1DMY2r/DAoJHBtziEjDV3TQhzAgfaUmSvV0cnmk2wCM1PHKVWWkF4shhrAAlUmXSqOPqvqH6n/kM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: iocb->ki_pos has been updated with the number of written bytes since generic_perform_write(). Besides __filemap_fdatawrite_range() accepts the inclusive end of the data range. Fixes: 1d4457576570 ("mm: call filemap_fdatawrite_range_kick() after IOCB_DONTCACHE issue") Signed-off-by: Jingbo Xu Reviewed-by: Jens Axboe --- include/linux/fs.h | 4 ++-- mm/filemap.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 2c3b2f8a621f..f12774291423 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2975,8 +2975,8 @@ static inline ssize_t generic_write_sync(struct kiocb *iocb, ssize_t count) } else if (iocb->ki_flags & IOCB_DONTCACHE) { struct address_space *mapping = iocb->ki_filp->f_mapping; - filemap_fdatawrite_range_kick(mapping, iocb->ki_pos, - iocb->ki_pos + count); + filemap_fdatawrite_range_kick(mapping, iocb->ki_pos - count, + iocb->ki_pos - 1); } return count; diff --git a/mm/filemap.c b/mm/filemap.c index 804d7365680c..d4564a79eb35 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -445,7 +445,7 @@ EXPORT_SYMBOL(filemap_fdatawrite_range); * filemap_fdatawrite_range_kick - start writeback on a range * @mapping: target address_space * @start: index to start writeback on - * @end: last (non-inclusive) index for writeback + * @end: last (inclusive) index for writeback * * This is a non-integrity writeback helper, to start writing back folios * for the indicated range. From patchwork Tue Feb 18 12:02:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingbo Xu X-Patchwork-Id: 13979733 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27595C021AA for ; Tue, 18 Feb 2025 12:02:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E16B280121; Tue, 18 Feb 2025 07:02:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 990EE28011A; Tue, 18 Feb 2025 07:02:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 87F82280121; Tue, 18 Feb 2025 07:02:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6AE0428011A for ; Tue, 18 Feb 2025 07:02:20 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E61D81610AC for ; Tue, 18 Feb 2025 12:02:19 +0000 (UTC) X-FDA: 83132927598.29.ED77AE6 Received: from out30-119.freemail.mail.aliyun.com (out30-119.freemail.mail.aliyun.com [115.124.30.119]) by imf16.hostedemail.com (Postfix) with ESMTP id 70EB8180015 for ; Tue, 18 Feb 2025 12:02:16 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=qb8Jbre8; spf=pass (imf16.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.119 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739880138; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=y2bMkeNnyOpZdT1loclRjOTBfK3X6l+kij6eDknKmKE=; b=OaE8ltCE3bzar1oQ8QMkQcDJAm8Hi/yTw9m+gxw4DNA6x/Fq2cypwMhxi7BkqlbiTecRul FiDosAsr9EEl9y5/JTctyrbqvyBd0u12oGl/Cxg5Y+mn8RqXmdDmZeiDDGkEU8sCIrlYg8 bP3CfAfx8AiB/DWCdEoxf1DnhoNuD2g= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=qb8Jbre8; spf=pass (imf16.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.119 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739880138; a=rsa-sha256; cv=none; b=23KhNX8nLOc7F9nzAJFGDt0Xk9TZgAFS82KP4g+61p49iaXPJMNNfRDggJf6x60M4ojNSl /3KKD1VPjZhNxZK6SoQ8tMhGJ5AhNjr1wRk/EIHyaqXWieKZcEmgd+aXOxzc3rOfxiO3e5 ZeWqqTUkVNXskrjf0c0TUiZgWdqqYd8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1739880131; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=y2bMkeNnyOpZdT1loclRjOTBfK3X6l+kij6eDknKmKE=; b=qb8Jbre8jrN8stePbbKnmrf/8cPIWR3UXfLBVrll6c9af9zGhKOl6dFk8WkheM3QJhfB3tLPNHWErNpozEIuY25z9QjmpZVzkLQcXot9zJamORJMhy2pd3LkhRTWPaT5qwYaGrID0TGSyNvbw0uExfHscUFAbXABwz91q6mttlw= Received: from localhost(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0WPlpQxk_1739880130 cluster:ay36) by smtp.aliyun-inc.com; Tue, 18 Feb 2025 20:02:11 +0800 From: Jingbo Xu To: axboe@kernel.dk, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Cc: brauner@kernel.org, linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk Subject: [PATCH 2/2] mm/truncate: don't skip dirty page in folio_unmap_invalidate() Date: Tue, 18 Feb 2025 20:02:09 +0800 Message-Id: <20250218120209.88093-3-jefflexu@linux.alibaba.com> X-Mailer: git-send-email 2.19.1.6.gb485710b In-Reply-To: <20250218120209.88093-1-jefflexu@linux.alibaba.com> References: <20250218120209.88093-1-jefflexu@linux.alibaba.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 70EB8180015 X-Stat-Signature: h4xiznouh8asuuoo4yp6iaqgrpwqtqez X-HE-Tag: 1739880136-200516 X-HE-Meta: U2FsdGVkX18aveGFl+10FG6HBChLUUrwZuee7Dx4UzqnlqBMRYh/rZqA3zYQ8CGEPmpDhU7600V3sDtceyXR2NhkW0H8QoFuumuNZR4BiK05jU9rE1bn7dIYrve5Gt8ehVVTeqQlXk3UPnZb5Q82nPnL8CrFxTVn6FVJmTDMNHor/0gmsFge2xPAGFyowCtcd5E34pxwWWozWzRQkCAcp+rGtAHntuUOOIJeZ02yalQxeNJmulE3Vm+4PNqDs+VG4jdzGkXG1fEuuMNgsbVCcxUGOoAJww9k7zQU4Abh4n4vcv7ZtYBginzI72yIFWe7QXl6SC8xWmjl4SIyRiw8cO2AgE1qEiV0keKg0EZSgg00hG832yP0zSwCBvn1UpxflWXaD7pB1tg98v0u+IFxdpJ9WBnO3gXFatRn3qhaMa3dtBxXYS6ypt0WcUdM0Vgul4ZG7dzMQ/pvcGlppNCncr3waHePnuOVjIMmliKAsFLInS3x5t+/+jrmxafLzwtJPFxA6Eq/RYuFsAe90+9xgqlY/5+CXzxQGd2NirGLXa9v+/ST56i0FWKLCVlRyB5HekeSMnhKSflWbUTCZvp2LxZzDziVzOp0nhju8ReYuPpqNYKpQAz5CtEwf0Z9qYwl54iZI5QwXBqc2B8tPGJNzmHVKMHQbrq6vB8FjZFaNwmUDGn+abtAyLrh0oq0fu9GKIbm9LjzYJOR87t8l8MJqS3NL97HE1IJPumttvDRKsRTT28OlZH9eWHHz8rugU1kP0IluPxgjNRgGhZkZmiKjzDT4BohYLSXhDbvI6YQPpf6SNR6UnQ+bO37VzFZOKpDQ4418lhqG7ONyJNcCrJQf+7s0euAJ+1cQhuhAWgLRWWi92ktVi6Wuj4dGCr9u8exBGC5GQiQOV8GVTm2gjZT/s5D5Pf1IV35eyIuc9zmoJMKfrWTFMA5epFbikpLS6IHcSBcEzXN+Ki+iby6fpf D24LdypG CzZJnT4ndFIAclxS2RzfDqMz9pzAu2wPOztzIFplNas392Z+JlKiQYv2sxoCMyBYc0JXnwLwGuZg4JXxYOG0Eo4kEPH5rhQakLTi3/gJfNggyUnM0ed7SLC+u8r3hhSvL6HGAQyqThF6IpZLZvHHrGLiyfFfhat+Vel1XUuaA7CpzK/57IfamaF5B0rxKAJ78bWU+3XS6N9QERtlvmFxX4WLOaFLF/jjhlp5JUHoDO8P6arTgCuEEgVQH3vEfnouJ7keaI7Zx8zpeoyc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.002252, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: ... otherwise this is a behavior change for the previous callers of invalidate_complete_folio2(), e.g. the page invalidation routine. Fixes: 4a9e23159fd3 ("mm/truncate: add folio_unmap_invalidate() helper") Signed-off-by: Jingbo Xu --- mm/truncate.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mm/truncate.c b/mm/truncate.c index e2e115adfbc5..76d8fcd89bd0 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -548,8 +548,6 @@ int folio_unmap_invalidate(struct address_space *mapping, struct folio *folio, VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); - if (folio_test_dirty(folio)) - return 0; if (folio_mapped(folio)) unmap_mapping_folio(folio); BUG_ON(folio_mapped(folio));