From: Matthew Wilcox <willy@infradead.org>
To: Kairui Song <kasong@tencent.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
"Huang, Ying" <ying.huang@intel.com>,
Chris Li <chrisl@kernel.org>, Barry Song <v-songbaohua@oppo.com>,
Ryan Roberts <ryan.roberts@arm.com>, Neil Brown <neilb@suse.de>,
Minchan Kim <minchan@kernel.org>, Hugh Dickins <hughd@google.com>,
David Hildenbrand <david@redhat.com>,
Yosry Ahmed <yosryahmed@google.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 08/12] nfs: drop usage of folio_file_pos
Date: Mon, 29 Apr 2024 20:21:17 +0100 [thread overview]
Message-ID: <Zi_zLQqpJ6PRX7HD@casper.infradead.org> (raw)
In-Reply-To: <20240429191138.34123-1-ryncsn@gmail.com>
On Tue, Apr 30, 2024 at 03:11:34AM +0800, Kairui Song wrote:
> +++ b/fs/nfs/file.c
> @@ -588,7 +588,7 @@ static vm_fault_t nfs_vm_page_mkwrite(struct vm_fault *vmf)
>
> dfprintk(PAGECACHE, "NFS: vm_page_mkwrite(%pD2(%lu), offset %lld)\n",
> filp, filp->f_mapping->host->i_ino,
> - (long long)folio_file_pos(folio));
> + (long long)folio_pos(folio));
Yes, we can't call page_mkwrite() on a swapcache page.
> +++ b/fs/nfs/nfstrace.h
> @@ -960,7 +960,7 @@ DECLARE_EVENT_CLASS(nfs_folio_event,
> __entry->fileid = nfsi->fileid;
> __entry->fhandle = nfs_fhandle_hash(&nfsi->fh);
> __entry->version = inode_peek_iversion_raw(inode);
> - __entry->offset = folio_file_pos(folio);
> + __entry->offset = folio_pos(folio);
> __entry->count = nfs_folio_length(folio);
> ),
>
> @@ -1008,7 +1008,7 @@ DECLARE_EVENT_CLASS(nfs_folio_event_done,
> __entry->fileid = nfsi->fileid;
> __entry->fhandle = nfs_fhandle_hash(&nfsi->fh);
> __entry->version = inode_peek_iversion_raw(inode);
> - __entry->offset = folio_file_pos(folio);
> + __entry->offset = folio_pos(folio);
These two I don't know about.
> +++ b/fs/nfs/write.c
> @@ -281,7 +281,7 @@ static void nfs_grow_file(struct folio *folio, unsigned int offset,
> end_index = ((i_size - 1) >> folio_shift(folio)) << folio_order(folio);
> if (i_size > 0 && folio_index(folio) < end_index)
> goto out;
> - end = folio_file_pos(folio) + (loff_t)offset + (loff_t)count;
> + end = folio_pos(folio) + (loff_t)offset + (loff_t)count;
This one concerns me. Are we sure we can't call nfs_grow_file()
for a swapfile?
> @@ -2073,7 +2073,7 @@ int nfs_wb_folio_cancel(struct inode *inode, struct folio *folio)
> */
> int nfs_wb_folio(struct inode *inode, struct folio *folio)
> {
> - loff_t range_start = folio_file_pos(folio);
> + loff_t range_start = folio_pos(folio);
> loff_t range_end = range_start + (loff_t)folio_size(folio) - 1;
Likewise here. Are we absolutely certain that swap I/O can't call this
function?
next prev parent reply other threads:[~2024-04-29 19:21 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-29 19:04 [PATCH v3 00/12] mm/swap: clean up and optimize swap cache index Kairui Song
2024-04-29 19:04 ` [f2fs-dev] [PATCH v3 01/12] f2fs: drop usage of page_index Kairui Song
2024-04-29 19:04 ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 02/12] nilfs2: " Kairui Song
2024-04-29 19:14 ` Matthew Wilcox
2024-04-29 19:22 ` Kairui Song
2024-04-29 19:28 ` Ryusuke Konishi
2024-04-29 19:38 ` Matthew Wilcox
2024-04-29 20:01 ` Ryusuke Konishi
2024-04-30 15:27 ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 03/12] ceph: " Kairui Song
2024-04-29 19:04 ` [PATCH v3 04/12] NFS: remove nfs_page_lengthg and " Kairui Song
2024-04-29 19:04 ` [PATCH v3 05/12] cifs: drop usage of page_file_offset Kairui Song
2024-04-29 20:19 ` [EXTERNAL] " Steven French
2024-04-29 20:26 ` Matthew Wilcox
2024-04-30 2:23 ` Steven French
2024-04-30 15:40 ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 06/12] afs: drop usage of folio_file_pos Kairui Song
2024-04-29 19:04 ` [PATCH v3 07/12] netfs: " Kairui Song
2024-04-29 19:11 ` [PATCH v3 08/12] nfs: " Kairui Song
2024-04-29 19:21 ` Matthew Wilcox [this message]
2024-04-29 19:42 ` Kairui Song
2024-04-29 19:11 ` [PATCH v3 09/12] mm/swap: get the swap file offset directly Kairui Song
2024-04-29 19:11 ` [PATCH v3 10/12] mm: remove page_file_offset and folio_file_pos Kairui Song
2024-04-29 19:11 ` [PATCH v3 11/12] mm: drop page_index and convert folio_index to use folio Kairui Song
2024-04-29 19:11 ` [PATCH v3 12/12] mm/swap: reduce swap cache search space Kairui Song
2024-04-30 2:45 ` [PATCH v3 00/12] mm/swap: clean up and optimize swap cache index Huang, Ying
2024-04-30 15:27 ` Kairui Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zi_zLQqpJ6PRX7HD@casper.infradead.org \
--to=willy@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=chrisl@kernel.org \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=kasong@tencent.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=neilb@suse.de \
--cc=ryan.roberts@arm.com \
--cc=v-songbaohua@oppo.com \
--cc=ying.huang@intel.com \
--cc=yosryahmed@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.