From patchwork Wed May 24 06:38:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 13253304 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 1BA1EC77B7C for ; Wed, 24 May 2023 06:38:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD2CB900003; Wed, 24 May 2023 02:38:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8299280001; Wed, 24 May 2023 02:38:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 924EE900004; Wed, 24 May 2023 02:38:37 -0400 (EDT) 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 832E6900003 for ; Wed, 24 May 2023 02:38:37 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5774A1208BD for ; Wed, 24 May 2023 06:38:37 +0000 (UTC) X-FDA: 80824195074.25.75458F5 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf01.hostedemail.com (Postfix) with ESMTP id 9330F40010 for ; Wed, 24 May 2023 06:38:35 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=tY0urzL7; dmarc=none; spf=none (imf01.hostedemail.com: domain of BATV+8349dc162fb675e8d54f+7213+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8349dc162fb675e8d54f+7213+infradead.org+hch@bombadil.srs.infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684910315; 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=3ZBFgl7r+XFxtKE+zV/zBQvmUj5fJULrZ1iHCvCgOQw=; b=e7iwwXHw+B9CSouJlSgFWjezdNyYMTuojjy5GaJMxkcEV3a9W6SFgr9CwxNdidN382P1Dn Elhs5VHwclTXJgk2gGwlILAaK+OAZfoE/kRi7F+iO7j96xlZJr42XrctSoAjqOhNmqR78R 0cIuU0D4a87VnyxRepcYMtjS0PjU4HI= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=tY0urzL7; dmarc=none; spf=none (imf01.hostedemail.com: domain of BATV+8349dc162fb675e8d54f+7213+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8349dc162fb675e8d54f+7213+infradead.org+hch@bombadil.srs.infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684910315; a=rsa-sha256; cv=none; b=U/smUxFcmYAMXVTKTyrrxhcCWQRtuOHul9rUkJI9bXx/j6nRgMX2A34BHrHm9tY+mj5UtP Jv2SlpSLpjX1bclV9Wg3KHcIRzJFbsCdGtfw2pX1JEGowEzTJz6KQCPWybfTrDw5ULV84O kcD9n4Ij0K+kb0g5ZT4PnzgqPxYS4wc= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=3ZBFgl7r+XFxtKE+zV/zBQvmUj5fJULrZ1iHCvCgOQw=; b=tY0urzL7m/HaNOr8G/zUxyGp6S FoIjFAcvbfI8RdwE9ZHdSIYwIRQyGst2BgdCR0tD2X6tKPmuCSp0vBcKBcdPFZuE4GHVVoD9zLDr0 b+Yh7HhLY2ZVQm7bq03t8ljOce4Vrq0LuSG5ojDtyi+R37g358hJD9UQGsuI81vZLgpsyzd+szQHt pdXXj3y5w+W5irwoxqxjY/b0xjxll0KN9YQ9zY6ubXAMLGTfDy5pieRjAIOb2YGFpXe86r0Tgm2FI Cq+X1Exb264UkIRUBUZY5Z8AANOVfor9+6VCoY5hlbVi75rryBPnYgBjKHjo2s6K7l09DQi8/Kj4B W+d85bUg==; Received: from [2001:4bb8:188:23b2:cbb8:fcea:a637:5089] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q1i8W-00CVeW-2b; Wed, 24 May 2023 06:38:17 +0000 From: Christoph Hellwig To: Matthew Wilcox Cc: Jens Axboe , Xiubo Li , 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, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-xfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 01/11] backing_dev: remove current->backing_dev_info Date: Wed, 24 May 2023 08:38:00 +0200 Message-Id: <20230524063810.1595778-2-hch@lst.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230524063810.1595778-1-hch@lst.de> References: <20230524063810.1595778-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 9330F40010 X-Stat-Signature: cjazo6muzm1ok99hbpz489zh8nn9zfqm X-HE-Tag: 1684910315-639572 X-HE-Meta: U2FsdGVkX1/PeY/sw2H0XfGQXF4HMy/MHK9MdH1UVG/yPvmFlyoBjYmIb4q5OK2yqTcxzBOMFyCPY6rlCoTrv22f16S9EeaWdZ8UY8Yr0YBTJnhbUTISpLt2d5oKitPAUrGfY8mz2g6INO8rN27dZUYewkFmqJVgBEee0GOoBCX4957+z+PJ7p43617VRNFv1p2dc1jSzeP7bYVHpkO9sEpQjOMelsmLC6DFF7KyeNpOVd3wE1jRBqPacrK1W/PtiYsr1hWy9yrQnBm1yqG6OzhA4el4Mza1F4PGOjSXPHZ55Gcs0cMDfAFEpk5YTGWIV3bV3QuQieSdsC0zrT7rjDl5k4pIpybV9n2Ve8+wl213+igT13C0rxHIeXQ+fzRTAdNytBVYiI6hT79cdfqg1nr0ZOrT865uGfF70XUs+WvzERcT1HSHYSVgkBX+ZQjtPqyHu4ROhG8viVSwVIi6DVyPu96/nmmQbTsCNq7NaWNAkIlA9sbhBOvcqPCvf6J25eIE3PmCQdOO95pfscyoadYyGOmqABliTMuGlabRIlP6s3jJmFQKf5/1Nqgt4xDl5sWybYMkIoKLtCL4K/iyKRrbjhP8GrRpJtLgjvUYxLP+BkuNEsItNlgqewUWtPhNbnsGiR5hcmyxAt3VysPx+Tg0ARcVKT8AYYJrdhTJfzQYqOmzWdeXl1qx4oQcSvf52Fa0i3dchBV3CR78hiM38rXlnkLEGYQ8KnQlX1bvLG4YwE8uOx3TtnuO0eo8YPWIMHC1mOAk1c0hj+Yukvv9KOxILosKpbO2RH/N3YLfWIMmrrsrsJdzSv+F9+4JOpKVIX6ESMRmvbBcliQ8tVX7m1gPRyHrYMpoZ6FLRxpZDgS3s4y9nKfgb0vLZfW/OaaBN+/tL7HTmqtYvVoCuRuqmgudkEmpZecelk9HHnRtz2wRVqKSs1f58fQZxeAG2WHJG9wvThmtIDcc2TUX6n0 Z7utQgaa QoPTXEwFBSDov4VoMVOebzvBFfYcarcmXNh6CzZt4DNmw+O9GiGxScCiYEBUxDga/nIMocbfDCPDaCaaJzr/QFFzfVMyqUbHSTPjm0neLicRO9JGUQlmtszOVqcjY01IUj1WIzXFLMLAmQKQUFG4Ud12AQSKkooQwgDnY8RKCa+pc8ZktJSMwP/M7meu5varFCllFJ10dyCJSJM3wTDQvPA4vg1tN/h638yLraQ/hPz3Y4WgS40FlUV0k4l0U64c11ONJKo9ifuShRKzGEEd9+yHNeSncfJlMbnxKtsE/inVCLGVFbe0wq4NfIl65VDuASORpCSbVfhJUoTyHjUIw8XC7uIe3OZAhwFVE71ghZpjjtpjUClj/43yioOTUbkpEg2ibZWPJGrbH12FxMp6wUjKI01A0iQmyxJggoVrZg8o6SYPcmqfTbnQ0KJQJBZ70aJqoaJOeov+WD2I/cmai6e5Pvg== 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: The last user of current->backing_dev_info disappeared in commit b9b1335e6403 ("remove bdi_congested() and wb_congested() and related functions"). Remove the field and all assignments to it. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Reviewed-by: Hannes Reinecke --- fs/btrfs/file.c | 6 +----- fs/ceph/file.c | 4 ---- fs/ext4/file.c | 2 -- fs/f2fs/file.c | 2 -- fs/fuse/file.c | 4 ---- fs/gfs2/file.c | 2 -- fs/nfs/file.c | 5 +---- fs/ntfs/file.c | 2 -- fs/ntfs3/file.c | 3 --- fs/xfs/xfs_file.c | 4 ---- include/linux/sched.h | 3 --- mm/filemap.c | 3 --- 12 files changed, 2 insertions(+), 38 deletions(-) diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index f649647392e0e4..ecd43ab66fa6c7 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1145,7 +1145,6 @@ static int btrfs_write_check(struct kiocb *iocb, struct iov_iter *from, !(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | BTRFS_INODE_PREALLOC))) return -EAGAIN; - current->backing_dev_info = inode_to_bdi(inode); ret = file_remove_privs(file); if (ret) return ret; @@ -1165,10 +1164,8 @@ static int btrfs_write_check(struct kiocb *iocb, struct iov_iter *from, loff_t end_pos = round_up(pos + count, fs_info->sectorsize); ret = btrfs_cont_expand(BTRFS_I(inode), oldsize, end_pos); - if (ret) { - current->backing_dev_info = NULL; + if (ret) return ret; - } } return 0; @@ -1689,7 +1686,6 @@ ssize_t btrfs_do_write_iter(struct kiocb *iocb, struct iov_iter *from, if (sync) atomic_dec(&inode->sync_writers); - current->backing_dev_info = NULL; return num_written; } diff --git a/fs/ceph/file.c b/fs/ceph/file.c index f4d8bf7dec88a8..c8ef72f723badd 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) @@ -1940,7 +1937,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 d101b3b0c7dad8..bc430270c23c19 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -285,9 +285,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 5ac53d2627d20d..4f423d367a44b9 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) { iocb->ki_pos += ret; diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 89d97f6188e05e..97d435874b14aa 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -1362,9 +1362,6 @@ static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from) writethrough: inode_lock(inode); - /* We can write back this queue in page reclaim */ - current->backing_dev_info = inode_to_bdi(inode); - err = generic_write_checks(iocb, from); if (err <= 0) goto out; @@ -1409,7 +1406,6 @@ static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from) iocb->ki_pos += written; } out: - current->backing_dev_info = NULL; inode_unlock(inode); if (written > 0) written = generic_write_sync(iocb, written); diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 300844f50dcd28..904a0d6ac1a1a9 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -1041,11 +1041,9 @@ static ssize_t gfs2_file_buffered_write(struct kiocb *iocb, goto out_unlock; } - current->backing_dev_info = inode_to_bdi(inode); pagefault_disable(); ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops); pagefault_enable(); - current->backing_dev_info = NULL; if (ret > 0) { iocb->ki_pos += ret; written += ret; diff --git a/fs/nfs/file.c b/fs/nfs/file.c index f0edf5a36237d1..665ce3fc62eaf4 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/fs/ntfs/file.c b/fs/ntfs/file.c index c481b14e4fd989..e296f804a9c442 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c @@ -1911,11 +1911,9 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) inode_lock(vi); /* We can write back this queue in page reclaim. */ - current->backing_dev_info = inode_to_bdi(vi); err = ntfs_prepare_file_for_write(iocb, from); if (iov_iter_count(from) && !err) written = ntfs_perform_write(file, from, iocb->ki_pos); - current->backing_dev_info = NULL; inode_unlock(vi); iocb->ki_pos += written; if (likely(written > 0)) diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c index 9a3d55c367d920..86d16a2c8339ca 100644 --- a/fs/ntfs3/file.c +++ b/fs/ntfs3/file.c @@ -820,7 +820,6 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from) if (!pages) return -ENOMEM; - current->backing_dev_info = inode_to_bdi(inode); err = file_remove_privs(file); if (err) goto out; @@ -993,8 +992,6 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from) out: kfree(pages); - current->backing_dev_info = NULL; - if (err < 0) return err; diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index aede746541f8ae..431c3fd0e2b598 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -717,9 +717,6 @@ xfs_file_buffered_write( if (ret) goto out; - /* We can write back this queue in page reclaim */ - current->backing_dev_info = inode_to_bdi(inode); - trace_xfs_file_buffered_write(iocb, from); ret = iomap_file_buffered_write(iocb, from, &xfs_buffered_write_iomap_ops); @@ -753,7 +750,6 @@ xfs_file_buffered_write( goto write_retry; } - current->backing_dev_info = NULL; out: if (iolock) xfs_iunlock(ip, iolock); diff --git a/include/linux/sched.h b/include/linux/sched.h index eed5d65b8d1f4d..54780571fe9a07 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -41,7 +41,6 @@ /* task_struct member predeclarations (sorted alphabetically): */ struct audit_context; -struct backing_dev_info; struct bio_list; struct blk_plug; struct bpf_local_storage; @@ -1186,8 +1185,6 @@ struct task_struct { /* VM state: */ struct reclaim_state *reclaim_state; - struct backing_dev_info *backing_dev_info; - struct io_context *io_context; #ifdef CONFIG_COMPACTION diff --git a/mm/filemap.c b/mm/filemap.c index b4c9bd368b7e58..33b54660ad2b39 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3991,8 +3991,6 @@ ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) ssize_t err; ssize_t status; - /* We can write back this queue in page reclaim */ - current->backing_dev_info = inode_to_bdi(inode); err = file_remove_privs(file); if (err) goto out; @@ -4053,7 +4051,6 @@ ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) iocb->ki_pos += written; } out: - current->backing_dev_info = NULL; return written ? written : err; } EXPORT_SYMBOL(__generic_file_write_iter);