Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2160515imu; Wed, 28 Nov 2018 23:55:52 -0800 (PST) X-Google-Smtp-Source: AFSGD/XyvKmh/18oxGlMGzFmSxar/8O6DQ2+0wW05ssSy0dZ78Jbtn4qp+tPIc4+3r/Oy0qHyjl9 X-Received: by 2002:a17:902:5a4d:: with SMTP id f13mr473999plm.49.1543478152450; Wed, 28 Nov 2018 23:55:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543478152; cv=none; d=google.com; s=arc-20160816; b=ICS3+Hr5npzt96q1m8q8LDssKJN3M5aZcK23SdTtAzWk/V+EIKh0Ebo51LD4eBn+hc tdsQWJOsAhKF551dJ0LxxU3C2nSMjEA3ODbxVJQ7KU3G9JJYM8ghUoYDk58QEC+11NBF ugg0q8hRIjP7OUoK26uQAJ/rHX7kf9vQRsRvU5jfKEHdzqkh1B+JDIzA52wEolN5X+sG H2CcmAaq7L+SO3LQIQVONYrcVEpftCiOsf9fZ4mjD4kQWHqyIi3OTDvGbT+27/TNl+l8 1kASG2XZRZbHzNvzFxD5yUteTbT6xF1nCmKT/P50uOJ0PJeLqqhHtbncuoSng1elY6is 3YJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=Ljs2ArZQwqAKJoNCRQ+0Y25noEAYnf20l6xMOChLSvw=; b=Ld/VrMYpYOPAHHW1GQXGb/uKzQhaAGQdjS/sUmzT2dthW39tHDhDQLhmb3R7v5Fl9T vxHgELrCnGz5G6nWPktD5f7wZeL/8fUctoiy7vamDpriC1bA3yz1ca27dwc2g4XG+8MU +FvsOZj8flMdnnVxwi2DBkmsm0WfZTz9Ix8CXxQfGaLYF119c+OalVzY/J9jdykMusjW TyA0GGhhHiCohodY/xS/IcViSSR/J9NaYW4qxxDtbncUN3hbQxmxkJezyBCGRo0DO/OI FI/t+02RUqMYHbLDgeP/A8i7u0W9b1JkT25KwsPi5zpb1wM8DPu90jryckh2B9dwxJ+Y quyw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x32-v6si1416057pld.70.2018.11.28.23.55.37; Wed, 28 Nov 2018 23:55:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727697AbeK2S6N (ORCPT + 99 others); Thu, 29 Nov 2018 13:58:13 -0500 Received: from mx2.suse.de ([195.135.220.15]:55904 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726651AbeK2S6N (ORCPT ); Thu, 29 Nov 2018 13:58:13 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 03A41AEA3; Thu, 29 Nov 2018 07:53:40 +0000 (UTC) From: Nikolay Borisov To: linux-kernel@vger.kernel.org Cc: Nikolay Borisov , David Howells , Chris Mason , Josef Bacik , David Sterba , "Yan, Zheng" , Sage Weil , Ilya Dryomov , Steve French , "Theodore Ts'o" , Andreas Dilger , Mark Fasheh , Joel Becker , Mike Marshall , Martin Brandenburg , Andrew Morton , Mike Rapoport , Matthew Wilcox , Randy Dunlap , YueHaibing , Shakeel Butt , Dan Williams , Michal Hocko , linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-ext4@vger.kernel.org, ocfs2-devel@oss.oracle.com, devel@lists.orangefs.org, linux-mm@kvack.org Subject: [PATCH 2/2] fs: Don't open-code lru_to_page Date: Thu, 29 Nov 2018 09:52:57 +0200 Message-Id: <20181129075301.29087-2-nborisov@suse.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129075301.29087-1-nborisov@suse.com> References: <20181129075301.29087-1-nborisov@suse.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There are a bunch of filesystems which essentially open-code lru_to_page helper. Change them to using the helper. No functional changes. Signed-off-by: Nikolay Borisov --- Since this is a mostly mechanical change I've actually batched all of them in a single patch. fs/afs/file.c | 5 +++-- fs/btrfs/extent_io.c | 2 +- fs/ceph/addr.c | 5 ++--- fs/cifs/file.c | 3 ++- fs/ext4/readpage.c | 2 +- fs/ocfs2/aops.c | 3 ++- fs/orangefs/inode.c | 2 +- mm/swap.c | 2 +- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/fs/afs/file.c b/fs/afs/file.c index d6bc3f5d784b..323ae9912203 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "internal.h" static int afs_file_mmap(struct file *file, struct vm_area_struct *vma); @@ -441,7 +442,7 @@ static int afs_readpages_one(struct file *file, struct address_space *mapping, /* Count the number of contiguous pages at the front of the list. Note * that the list goes prev-wards rather than next-wards. */ - first = list_entry(pages->prev, struct page, lru); + first = lru_to_page(pages); index = first->index + 1; n = 1; for (p = first->lru.prev; p != pages; p = p->prev) { @@ -473,7 +474,7 @@ static int afs_readpages_one(struct file *file, struct address_space *mapping, * page at the end of the file. */ do { - page = list_entry(pages->prev, struct page, lru); + page = lru_to_page(pages); list_del(&page->lru); index = page->index; if (add_to_page_cache_lru(page, mapping, index, diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 19f4b8fd654f..8332c5f4b1c3 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -4104,7 +4104,7 @@ int extent_readpages(struct address_space *mapping, struct list_head *pages, u64 prev_em_start = (u64)-1; for (page_idx = 0; page_idx < nr_pages; page_idx++) { - page = list_entry(pages->prev, struct page, lru); + page = lru_to_page(pages); prefetchw(&page->flags); list_del(&page->lru); diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 8eade7a993c1..5d0c05e288cc 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -306,7 +306,7 @@ static int start_read(struct inode *inode, struct ceph_rw_context *rw_ctx, struct ceph_osd_client *osdc = &ceph_inode_to_client(inode)->client->osdc; struct ceph_inode_info *ci = ceph_inode(inode); - struct page *page = list_entry(page_list->prev, struct page, lru); + struct page *page = lru_to_page(page_list); struct ceph_vino vino; struct ceph_osd_request *req; u64 off; @@ -333,8 +333,7 @@ static int start_read(struct inode *inode, struct ceph_rw_context *rw_ctx, if (got) ceph_put_cap_refs(ci, got); while (!list_empty(page_list)) { - page = list_entry(page_list->prev, - struct page, lru); + page = lru_to_page(page_list); list_del(&page->lru); put_page(page); } diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 74c33d5fafc8..b16a4d887d17 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "cifsfs.h" #include "cifspdu.h" @@ -3975,7 +3976,7 @@ readpages_get_pages(struct address_space *mapping, struct list_head *page_list, INIT_LIST_HEAD(tmplist); - page = list_entry(page_list->prev, struct page, lru); + page = lru_to_page(page_list); /* * Lock the page and put it in the cache. Since no one else diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c index f461d75ac049..6aa282ee455a 100644 --- a/fs/ext4/readpage.c +++ b/fs/ext4/readpage.c @@ -128,7 +128,7 @@ int ext4_mpage_readpages(struct address_space *mapping, prefetchw(&page->flags); if (pages) { - page = list_entry(pages->prev, struct page, lru); + page = lru_to_page(pages); list_del(&page->lru); if (add_to_page_cache_lru(page, mapping, page->index, readahead_gfp_mask(mapping))) diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index eb1ce30412dc..832c1759a09a 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -397,7 +398,7 @@ static int ocfs2_readpages(struct file *filp, struct address_space *mapping, * Check whether a remote node truncated this file - we just * drop out in that case as it's not worth handling here. */ - last = list_entry(pages->prev, struct page, lru); + last = lru_to_page(pages); start = (loff_t)last->index << PAGE_SHIFT; if (start >= i_size_read(inode)) goto out_unlock; diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c index fe53381b26b1..f038235c64bd 100644 --- a/fs/orangefs/inode.c +++ b/fs/orangefs/inode.c @@ -77,7 +77,7 @@ static int orangefs_readpages(struct file *file, for (page_idx = 0; page_idx < nr_pages; page_idx++) { struct page *page; - page = list_entry(pages->prev, struct page, lru); + page = lru_to_page(pages); list_del(&page->lru); if (!add_to_page_cache(page, mapping, diff --git a/mm/swap.c b/mm/swap.c index aa483719922e..20b9e9d99652 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -126,7 +126,7 @@ void put_pages_list(struct list_head *pages) while (!list_empty(pages)) { struct page *victim; - victim = list_entry(pages->prev, struct page, lru); + victim = lru_to_page(pages); list_del(&victim->lru); put_page(victim); } -- 2.17.1