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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 85300C77B73 for ; Mon, 22 May 2023 02:22:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 270E8900003; Sun, 21 May 2023 22:22:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 220EA6B0080; Sun, 21 May 2023 22:22:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E819900003; Sun, 21 May 2023 22:22:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id F405D6B007E for ; Sun, 21 May 2023 22:22:56 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CB677C0364 for ; Mon, 22 May 2023 02:22:56 +0000 (UTC) X-FDA: 80816293152.19.739124C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf12.hostedemail.com (Postfix) with ESMTP id A5C1640008 for ; Mon, 22 May 2023 02:22:54 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=RobspGm3; spf=pass (imf12.hostedemail.com: domain of xiubli@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=xiubli@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684722174; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6gCnSvHg5O9ml4/OuYzbyOxwskor4dFbbIHvczRVaEk=; b=y7sC/iYcou/BUmDwbbbnloOW8XPEAEzw4DukP2JPG7Qvxv3+cwOb6yLaYs1eHbmWqLSjnn CREuuyAm2ZKi84pdLevr/OylAViqsBi4LftTVre26Lx0mR77oAMrcd7G6/Cnf2hFOhxGxY W1taLdsQ9tSw1AvxE2HiosS3473HqS0= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=RobspGm3; spf=pass (imf12.hostedemail.com: domain of xiubli@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=xiubli@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684722174; a=rsa-sha256; cv=none; b=SiLpCc0RhAIllqocv4GSdoJ3w4uLNbwEz07NSuMErIHsiNnkpUFo8Gy9rMKudwfg873Ufa 7t02ftSKORQUM9Dh5jN9vNVCQMEzXMfuCo3YSxAuLxAky1glmnG+bePxKIocbW4mTHTTMC mFn9PcmzFAFal+kPK4MEFdvdcSvzpI4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684722174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6gCnSvHg5O9ml4/OuYzbyOxwskor4dFbbIHvczRVaEk=; b=RobspGm3+bSGNagOU7fC7pFLucpKSzZAnFz7yRVjVRFbdYz+fu/xH6EnpDkcv5TiOtF7KC 7lOHk0a4i21LnzBFfuVoH8pSvG3MihCn0DE478+I+GNGDVIOCFhleUU6JEwLKj49IVcpYP 05cX7dEXR0sRnndr/aaQQLcMDjw8kQQ= Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-7-BRA7cNA_Mw2kREdGqqXPlw-1; Sun, 21 May 2023 22:22:52 -0400 X-MC-Unique: BRA7cNA_Mw2kREdGqqXPlw-1 Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-534107e73cfso2941807a12.1 for ; Sun, 21 May 2023 19:22:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684722171; x=1687314171; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6gCnSvHg5O9ml4/OuYzbyOxwskor4dFbbIHvczRVaEk=; b=FQTyimmI5T113/2OJzI9JG/Sm5MfH+2va/az6MCSXYx1zPxa3ezN1oF+vEpxFjjngB Ssl/3sr850Q5lr9ct28enU0wX4JjvKZOR7Hxz8VsOfxMIZzzh+5oIW/qKXQsVFi/c7qj cjKlpJCcZXpXVLeLEChpo9PppjZlhSDm3Dg7NMKDU61bEbakFH8zLQg3X9mnK3nXPMOf jZhzzXl1VmRrvbBe6K7bTCRwt8FTsvQwT2TN/efyPBN7FbUEB4TMf8M2l4OpZYnybyLf 7WBvXJwqo5hEE3WEgB0sMAhyVzV0xu5WBcJfdCk7boXr9+IAQmIvMU5yrlFq8CmTwdB/ eKCg== X-Gm-Message-State: AC+VfDxfSlZVGxtw6OYrYiqwWqrgOscA0p/EKwq412HG2SlzHkuyaWRB CSFN6zMUJqei6PP1hkQTSaZouXyMaPV0JKwIZutOCGqfnSCDA02GS8YrIHhxLHbQP+/zYfgq9Ig t30as0vQCdyI= X-Received: by 2002:a05:6a20:428a:b0:10b:e54f:1c00 with SMTP id o10-20020a056a20428a00b0010be54f1c00mr597189pzj.57.1684722171610; Sun, 21 May 2023 19:22:51 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6YIe9VLQS6yzKMQ0WkmEEqdfd17sZ9Y4FgV9G2cXXtS6sfNqDs6Fii9g74G57D4O2vtAJBpQ== X-Received: by 2002:a05:6a20:428a:b0:10b:e54f:1c00 with SMTP id o10-20020a056a20428a00b0010be54f1c00mr597169pzj.57.1684722171305; Sun, 21 May 2023 19:22:51 -0700 (PDT) Received: from [10.72.12.68] ([43.228.180.230]) by smtp.gmail.com with ESMTPSA id d22-20020a631d16000000b0050be8e0b94csm3281962pgd.90.2023.05.21.19.22.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 21 May 2023 19:22:50 -0700 (PDT) Message-ID: <25ae2aff-daab-eaa3-19dd-aa5e56c9b6f1@redhat.com> Date: Mon, 22 May 2023 10:22:39 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH 03/13] filemap: assign current->backing_dev_info in generic_perform_write To: Christoph Hellwig , Matthew Wilcox Cc: Jens Axboe , Ilya Dryomov , Alexander Viro , Christian Brauner , Theodore Ts'o , Jaegeuk Kim , Chao Yu , Miklos Szeredi , Andreas Gruenbacher , "Darrick J. Wong" , Trond Myklebust , Anna Schumaker , Damien Le Moal , Andrew Morton , linux-block@vger.kernel.org, ceph-devel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, "open list:F2FS FILE SYSTEM" , cluster-devel@redhat.com, linux-xfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mm@kvack.org References: <20230519093521.133226-1-hch@lst.de> <20230519093521.133226-4-hch@lst.de> From: Xiubo Li In-Reply-To: <20230519093521.133226-4-hch@lst.de> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A5C1640008 X-Rspam-User: X-Stat-Signature: aeyyyb9yc79unrwyb7389rzyfj6zwuwc X-Rspamd-Server: rspam01 X-HE-Tag: 1684722174-203322 X-HE-Meta: U2FsdGVkX1+zHw+Sz/Q0A0rrYc/8aLVa6XXhAu5MSRaNYKgwzfwusQThPRzm4WF5brxFpa7XJto9ZQyLrHGvR7/JDQI/kxLPPlybgQKmBUTXvZHtGPVrqP2S2T0A5rByrJGjLo9AyyKKTqgnPDkmkEnMW0wroKUxC05kWOTI5t/8Hn1X8msecJgoQyc65wFpE5cBdiMCTD9+1BYcIQENWo6P/ZE5Sl81DkEct9ssEbljV1DYPjguUvBBbYqe8uCg2Po+W3y40Rkt1Uurf3JXxJ8claS1lFLsiCbt2BMqRqTTxC7GVpT2sU1lzNzfJachUDsCJ0owg7TS3aT6u8Nu1SZWmtPY90KlQm8Q0puChst4o5PVG6nAg/s1nGRJ9cSo1Wii68lCsHkGJYnMZtvlwqKM3WwQNzrYMbTOMxIhORaM4tYEVPXUJ9f833JhexQJgwjhsP25sMeIZjfXHjwv+xfKiNNi2zhBQwlwt4S/buE93u54z0nIGtELVXRraP+Xo+IK5Se2P799qrfITlNCMxWf8X50lGlG76BBl9eRKqsTkjLUEfEvFt3DCz6TFYF5Kxc/zry2wq4OdYbmGSbw3lxziA2A9Aqm6DlFqosdoTtVRjq4LZQTg8B6/5T0GGHe89rSr9zfJ5+HOlQpi7UlWZBtfdML2zlxXvJBfPWHtGXt631gfkXz0kD1Qwytvwr8pWzD4hiTt7m5GntL7wdlo1Iyqjfn9mnQLdmt0XGTjOjq4XFezA6/v6IMEKNY+8PQZMDqvo74v5QlETBw/Vt75ZKbdlvJapHcG+/b9W8Tj+Jo2RGs8zLxrakwxzv3RWOt1sfWqltPeMb8wucv6kX1EYueISXKnqQ8w2NZSNVt5o3fQ0zM+ZfFdY/xiU/AvLxEWwqjacfg8zup4/Gl3/VRkmgX+ZKImEDxDHmRkdw1j6EYW4pGogqPv9T2MvPv9DVJoF55MZNTHupxyQ5NSLT eWRnpjAs 1M9BvXlMvbphniO+Owffai9iiy6XppbQi65dO4MYhTIys5RWtpHluQ7Rkh2KGM3sH7c82EMF6BasYcnvoRELr8NBBr0VU8DSRma5g0cBzBNfRJxCXp2y+5alYqT7m+YXigbdjuXYROm2fAZoWq8+e7rGJhtFb5RefpDUFGssX49N/ZQTgwDNswGpjxO2LhK/bPEb61NUKYwNAIhMG/7Tdnq90yOAVNpiJ8OjAyIe3oU6E5J5OsZq1UA8K0Rgwox8QqmKLSNK3NAsUhbVp5MX1K9XghPpD1MBRHWd9dLi25sewNGGKK23mE4/iL5YrEmffGhLK04JURJVhj85PuRx91wb5gblDrV9Y5G3FvjiCJny3PhQNajoDzKQ9Zi1JBkvDiIGlfDSQTfU8C92QbKIlaU0HHiCPftw/GowIQwaJkgE544ldmkAwZSoDPFgGWHT93l1xAn5L/pCtk1i1+yn+v4Bc5qOnJ3VYgfnd 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: On 5/19/23 17:35, Christoph Hellwig wrote: > Move the assignment to current->backing_dev_info from the callers into > generic_perform_write to reduce boiler plate code and reduce the scope > to just around the page dirtying loop. > > Signed-off-by: Christoph Hellwig > --- > fs/ceph/file.c | 4 ---- > fs/ext4/file.c | 3 --- > fs/f2fs/file.c | 2 -- > fs/nfs/file.c | 5 +---- > mm/filemap.c | 2 ++ > 5 files changed, 3 insertions(+), 13 deletions(-) > > diff --git a/fs/ceph/file.c b/fs/ceph/file.c > index feeb9882ef635a..767f4dfe7def64 100644 > --- a/fs/ceph/file.c > +++ b/fs/ceph/file.c > @@ -1791,9 +1791,6 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) > else > ceph_start_io_write(inode); > > - /* We can write back this queue in page reclaim */ > - current->backing_dev_info = inode_to_bdi(inode); > - > if (iocb->ki_flags & IOCB_APPEND) { > err = ceph_do_getattr(inode, CEPH_STAT_CAP_SIZE, false); > if (err < 0) > @@ -1938,7 +1935,6 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) > ceph_end_io_write(inode); > out_unlocked: > ceph_free_cap_flush(prealloc_cf); > - current->backing_dev_info = NULL; > return written ? written : err; > } > > diff --git a/fs/ext4/file.c b/fs/ext4/file.c > index 50824831d31def..3cb83a3e2e4a2a 100644 > --- a/fs/ext4/file.c > +++ b/fs/ext4/file.c > @@ -29,7 +29,6 @@ > #include > #include > #include > -#include > #include "ext4.h" > #include "ext4_jbd2.h" > #include "xattr.h" > @@ -285,9 +284,7 @@ static ssize_t ext4_buffered_write_iter(struct kiocb *iocb, > if (ret <= 0) > goto out; > > - current->backing_dev_info = inode_to_bdi(inode); > ret = generic_perform_write(iocb, from); > - current->backing_dev_info = NULL; > > out: > inode_unlock(inode); > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index 9e3855e43a7a63..7134fe8bd008cb 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -4517,9 +4517,7 @@ static ssize_t f2fs_buffered_write_iter(struct kiocb *iocb, > if (iocb->ki_flags & IOCB_NOWAIT) > return -EOPNOTSUPP; > > - current->backing_dev_info = inode_to_bdi(inode); > ret = generic_perform_write(iocb, from); > - current->backing_dev_info = NULL; > > if (ret > 0) { > f2fs_update_iostat(F2FS_I_SB(inode), inode, > diff --git a/fs/nfs/file.c b/fs/nfs/file.c > index 3cc87ae8473356..e8bb4c48a3210a 100644 > --- a/fs/nfs/file.c > +++ b/fs/nfs/file.c > @@ -648,11 +648,8 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) > since = filemap_sample_wb_err(file->f_mapping); > nfs_start_io_write(inode); > result = generic_write_checks(iocb, from); > - if (result > 0) { > - current->backing_dev_info = inode_to_bdi(inode); > + if (result > 0) > result = generic_perform_write(iocb, from); > - current->backing_dev_info = NULL; > - } > nfs_end_io_write(inode); > if (result <= 0) > goto out; > diff --git a/mm/filemap.c b/mm/filemap.c > index 4d0ec2fa1c7070..bf693ad1da1ece 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -3892,6 +3892,7 @@ ssize_t generic_perform_write(struct kiocb *iocb, struct iov_iter *i) > long status = 0; > ssize_t written = 0; > > + current->backing_dev_info = inode_to_bdi(mapping->host); > do { > struct page *page; > unsigned long offset; /* Offset into pagecache page */ > @@ -3956,6 +3957,7 @@ ssize_t generic_perform_write(struct kiocb *iocb, struct iov_iter *i) > > balance_dirty_pages_ratelimited(mapping); > } while (iov_iter_count(i)); > + current->backing_dev_info = NULL; > > if (!written) > return status; LGTM. Reviewed-by: Xiubo Li Thanks - Xiubo