Theodore Ts'o
919adbfec2
ext4: fix kernel doc warnings
...
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:45:36 -04:00
Ritesh Harjani
5641ace544
ext4: add commit tid info in ext4_fc_commit_start/stop trace events
...
This adds commit_tid info in ext4_fc_commit_start/stop which is helpful
in debugging fast_commit issues.
For e.g. issues where due to jbd2 journal full commit, FC miss to commit
updates to a file.
Also improves TP_prink format string i.e. all ext4 and jbd2 trace events
starts with "dev MAjOR,MINOR". Let's follow the same convention while we
are still at it.
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com >
Reviewed-by: Jan Kara <jack@suse.cz >
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com >
Link: https://lore.kernel.org/r/ebcd6b9ab5b718db30f90854497886801ce38c63.1647057583.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:45:36 -04:00
Ritesh Harjani
d9bf099cb9
ext4: add commit_tid info in jbd debug log
...
This adds commit_tid argument in ext4_fc_update_stats()
so that we can add this information too in jbd_debug logs.
This is also required in a later patch to pass the commit_tid info in
ext4_fc_commit_start/stop() trace events.
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com >
Reviewed-by: Jan Kara <jack@suse.cz >
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com >
Link: https://lore.kernel.org/r/dabda3f2919a60e01887e798bf5915216b451733.1647057583.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:45:36 -04:00
Ritesh Harjani
1d2e2440c5
ext4: add transaction tid info in fc_track events
...
This patch adds the transaction & inode tid info in trace events for
callers of ext4_fc_track_template(). This is helpful in debugging race
conditions where an inode could belong to two different transaction tids.
It also fixes the checkpatch warnings which says use tabs instead of
spaces.
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com >
Link: https://lore.kernel.org/r/c203c09dc11bb372803c430f621f25a4b8c2c8b4.1647057583.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:45:36 -04:00
Ritesh Harjani
08f4c42aba
ext4: add new trace event in ext4_fc_cleanup
...
This adds a new trace event in ext4_fc_cleanup() which is helpful in debugging
some fast_commit issues.
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com >
Link: https://lore.kernel.org/r/794cdb1d5d3622f3f80d30c222ff6652ea68c375.1647057583.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:45:36 -04:00
Ritesh Harjani
78be0471da
ext4: return early for non-eligible fast_commit track events
...
Currently ext4_fc_track_template() checks, whether the trace event
path belongs to replay or does sb has ineligible set, if yes it simply
returns. This patch pulls those checks before calling
ext4_fc_track_template() in the callers of ext4_fc_track_template().
[ Add checks to ext4_rename() which calls the __ext4_fc_track_*()
functions directly. -- TYT ]
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com >
Link: https://lore.kernel.org/r/3cd025d9c490218a92e6d8fb30b6123e693373e3.1647057583.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
2022-03-15 17:44:46 -04:00
Jann Horn
8126b1c731
pstore: Don't use semaphores in always-atomic-context code
...
pstore_dump() is *always* invoked in atomic context (nowadays in an RCU
read-side critical section, before that under a spinlock).
It doesn't make sense to try to use semaphores here.
This is mostly a revert of commit ea84b580b9 ("pstore: Convert buf_lock
to semaphore"), except that two parts aren't restored back exactly as they
were:
- keep the lock initialization in pstore_register
- in efi_pstore_write(), always set the "block" flag to false
- omit "is_locked", that was unnecessary since
commit 959217c84c ("pstore: Actually give up during locking failure")
- fix the bailout message
The actual problem that the buggy commit was trying to address may have
been that the use of preemptible() in efi_pstore_write() was wrong - it
only looks at preempt_count() and the state of IRQs, but __rcu_read_lock()
doesn't touch either of those under CONFIG_PREEMPT_RCU.
(Sidenote: CONFIG_PREEMPT_RCU means that the scheduler can preempt tasks in
RCU read-side critical sections, but you're not allowed to actively
block/reschedule.)
Lockdep probably never caught the problem because it's very rare that you
actually hit the contended case, so lockdep always just sees the
down_trylock(), not the down_interruptible(), and so it can't tell that
there's a problem.
Fixes: ea84b580b9 ("pstore: Convert buf_lock to semaphore")
Cc: stable@vger.kernel.org
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Signed-off-by: Jann Horn <jannh@google.com >
Signed-off-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20220314185953.2068993-1-jannh@google.com
2022-03-15 11:08:23 -07:00
Jens Axboe
4d9237e32c
io_uring: recycle apoll_poll entries
...
Particularly for networked workloads, io_uring intensively uses its
poll based backend to get a notification when data/space is available.
Profiling workloads, we see 3-4% of alloc+free that is directly attributed
to just the apoll allocation and free (and the rest being skb alloc+free).
For the fast path, we have ctx->uring_lock held already for both issue
and the inline completions, and we can utilize that to avoid any extra
locking needed to have a basic recycling cache for the apoll entries on
both the alloc and free side.
Double poll still requires an allocation. But those are rare and not
a fast path item.
With the simple cache in place, we see a 3-4% reduction in overhead for
the workload.
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2022-03-15 10:54:08 -06:00
Dan Carpenter
184416d4b9
NFSD: prevent underflow in nfssvc_decode_writeargs()
...
Smatch complains:
fs/nfsd/nfsxdr.c:341 nfssvc_decode_writeargs()
warn: no lower bound on 'args->len'
Change the type to unsigned to prevent this issue.
Cc: stable@vger.kernel.org
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Chuck Lever <chuck.lever@oracle.com >
2022-03-15 09:35:56 -04:00
Matthew Wilcox (Oracle)
1f1d14dbc3
ubifs: Convert ubifs_set_page_dirty to ubifs_dirty_folio
...
Removes a call to __set_page_dirty_nobuffers().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
cbc975b182
f2fs: Convert f2fs_set_node_page_dirty to f2fs_dirty_node_folio
...
Removes a call to __set_page_dirty_nobuffers().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
4f5e34f713
f2fs: Convert f2fs_set_data_page_dirty to f2fs_dirty_data_folio
...
Removes several calls to __set_page_dirty_nobuffers(). Also turn the
PageSwapCache() case into a BUG() as there's no way for a swapcache page
to make it to a filesystem that doesn't use SWP_FS_OPS.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
1d9ac659ff
f2fs: Convert f2fs_set_meta_page_dirty to f2fs_dirty_meta_folio
...
Removes a call to __set_page_dirty_nobuffers().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
d7c994b34c
afs: Convert afs_dir_set_page_dirty() to afs_dir_dirty_folio()
...
This is a trivial change.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
ebf55c886e
btrfs: Convert extent_range_redirty_for_io() to use folios
...
This removes a call to __set_page_dirty_nobuffers().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
187c82cb03
fs: Convert trivial uses of __set_page_dirty_nobuffers to filemap_dirty_folio
...
These filesystems use __set_page_dirty_nobuffers() either directly or
with a very thin wrapper; convert them en masse.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
0079c3b176
btrfs: Convert from set_page_dirty to dirty_folio
...
Optimise the non-DEBUG case to just call filemap_dirty_folio
directly. The DEBUG case doesn't actually compile, but convert
it to dirty_folio anyway.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:38 -04:00
Matthew Wilcox (Oracle)
8fb72b4a76
fscache: Convert fscache_set_page_dirty() to fscache_dirty_folio()
...
Convert all users of fscache_set_page_dirty to use fscache_dirty_folio.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:34:36 -04:00
Matthew Wilcox (Oracle)
eabf038f4e
orangefs: Convert launder_page to launder_folio
...
OrangeFS launders its pages from a number of locations, so add a
small amount of folio usage to its callers where it makes sense.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
15a30ab2b3
nfs: Convert from launder_page to launder_folio
...
We don't need to use page_file_mapping() here because launder_folio
is never called for swap cache pages. We also don't need to
cast an loff_t in order to print it.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
2bf06b8e64
fuse: Convert from launder_page to launder_folio
...
Straightforward conversion although the helper functions still assume
a single page.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
ff2b48b965
cifs: Convert from launder_page to launder_folio
...
Straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
a42442dd73
afs: Convert from launder_page to launder_folio
...
Straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
76dba92720
9p: Convert from launder_page to launder_folio
...
Trivial conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
58a2fdb61b
ubifs: Convert from invalidatepage to invalidate_folio
...
This is a straightfoward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
d97dfc9484
reiserfs: Convert from invalidatepage to invalidate_folio
...
This is a straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
2a40be8125
orangefs: Convert from invalidatepage to invalidate_folio
...
This is a straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
6d740c76ea
nfs: Convert from invalidatepage to invalidate_folio
...
Print the folio index instead of the pointer, since this is more
useful. We also don't need to use page_file_mapping() as we do not
invalidate swapcache pages. Since this is the only caller of
nfs_wb_page_cancel(), convert it to nfs_wb_folio_cancel().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
c5b56b50d7
jfs: Convert from invalidatepage to invalidate_folio
...
This is a straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
5f4b297684
gfs2: Convert invalidatepage to invalidate_folio
...
This is a straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Reviewed-by: Bob Peterson <rpeterso@redhat.com >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
9150399673
f2fs: Convert invalidatepage to invalidate_folio
...
This is a minimal change which just accepts the new arguments and passes
the single struct page to the functions which do the work. There is
very little progress here toards making f2fs support large folios.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
ccd16945db
ext4: Convert invalidatepage to invalidate_folio
...
Extensive changes, but fairly mechanical.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:30 -04:00
Matthew Wilcox (Oracle)
39653e6909
erofs: Convert from invalidatepage to invalidate_folio
...
A straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
0eaf605247
cifs: Convert from invalidatepage to invalidate_folio
...
A straightforward conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
9872f4de14
ceph: Convert from invalidatepage to invalidate_folio
...
Mostly a straightforward conversion. Delete the pointer from the
debugging output as this has no value.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
895586eb68
btrfs: Convert from invalidatepage to invalidate_folio
...
A lot of the underlying infrastructure in btrfs needs to be switched
over to folios, but this at least documents that invalidatepage can't
be passed a tail page.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
fcf227daed
afs: Convert invalidatepage to invalidate_folio
...
We know the page is in the page cache, not the swap cache. If we ever
support folios larger than 2GB, afs_invalidate_dirty() will need to be
fixed, but that's a larger project.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
f6bc6fb88c
afs: Convert directory aops to invalidate_folio
...
Use folio->index instead of folio_index() because there's no way we're
writing a page from the swapcache to a directory.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
040cdd4bf9
9p: Convert to invalidate_folio
...
This is a trivial conversion.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
5660a8630d
fs: Remove noop_invalidatepage()
...
We used to have to use noop_invalidatepage() to prevent
block_invalidatepage() from being called, but that behaviour is now gone.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
7ba13abbd3
fs: Turn block_invalidatepage into block_invalidate_folio
...
Remove special-casing of a NULL invalidatepage, since there is no
more block_invalidatepage.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
d82354f6b0
iomap: Remove iomap_invalidatepage()
...
Use iomap_invalidate_folio() in all the iomap-based filesystems
and rename the iomap_invalidatepage tracepoint.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
020df9baea
ext4: Use folio_invalidate()
...
Instead of calling ->invalidatepage directly, use folio_invalidate().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
a628304ebe
ceph: Use folio_invalidate()
...
Instead of calling ->invalidatepage directly, use folio_invalidate().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Matthew Wilcox (Oracle)
8e1dec8eb8
btrfs: Use folio_invalidate()
...
Instead of calling ->invalidatepage directly, use folio_invalidate().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-15 08:23:29 -04:00
Masahiro Yamada
83a44a4f47
x86: Remove toolchain check for X32 ABI capability
...
Commit 0bf6276392 ("x32: Warn and disable rather than error if
binutils too old") added a small test in arch/x86/Makefile because
binutils 2.22 or newer is needed to properly support elf32-x86-64. This
check is no longer necessary, as the minimum supported version of
binutils is 2.23, which is enforced at configuration time with
scripts/min-tool-version.sh.
Remove this check and replace all uses of CONFIG_X86_X32 with
CONFIG_X86_X32_ABI, as two symbols are no longer necessary.
[nathan: Rebase, fix up a few places where CONFIG_X86_X32 was still
used, and simplify commit message to satisfy -tip requirements]
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org >
Signed-off-by: Nathan Chancellor <nathan@kernel.org >
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Link: https://lore.kernel.org/r/20220314194842.3452-2-nathan@kernel.org
2022-03-15 10:32:48 +01:00
Matthew Wilcox (Oracle)
2e7e80f7e7
fs: Convert is_partially_uptodate to folios
...
Since the uptodate property is maintained on a per-folio basis, the
is_partially_uptodate method should also take a folio. Fix the types
at the same time so it's clear that it returns true/false and takes
the count in bytes, not blocks.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-14 15:43:17 -04:00
Matthew Wilcox (Oracle)
4495a96c4c
fs/remap_range: Pass the file pointer to read_mapping_folio()
...
We have the struct file in generic_remap_file_range_prep() already;
we just need to pass it around instead of the inode.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-14 15:43:16 -04:00
Matthew Wilcox (Oracle)
1241ebeca3
iomap: Fix iomap_invalidatepage tracepoint
...
This tracepoint is defined to take an offset in the file, not an
offset in the folio.
Fixes: 1ac994525b ("iomap: Remove pgoff from tracepoints")
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org >
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Tested-by: Mike Marshall <hubcap@omnibond.com > # orangefs
Tested-by: David Howells <dhowells@redhat.com > # afs
2022-03-14 15:43:16 -04:00
Darrick J. Wong
744e6c8ada
xfs: constify xfs_name_dotdot
...
The symbol xfs_name_dotdot is a global variable that the xfs codebase
uses here and there to look up directory dotdot entries. Currently it's
a non-const variable, which means that it's a mutable global variable.
So far nobody's abused this to cause problems, but let's use the
compiler to enforce that.
Signed-off-by: Darrick J. Wong <djwong@kernel.org >
Reviewed-by: Dave Chinner <dchinner@redhat.com >
2022-03-14 10:23:17 -07:00