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.