linux-2.6-microblaze.git
2 years agojfs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:53:28 +0000 (23:53 -0400)]
jfs: Convert to release_folio

The use of folios should be pushed further down into jfs from here.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agohfsplus: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:53:28 +0000 (23:53 -0400)]
hfsplus: Convert to release_folio

Use a folio throughout hfsplus_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agohfs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:53:28 +0000 (23:53 -0400)]
hfs: Convert to release_folio

Use a folio throughout hfs_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agogfs2: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:49:17 +0000 (23:49 -0400)]
gfs2: Convert to release_folio

Use a folio throughout gfs2_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agof2fs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:41:46 +0000 (23:41 -0400)]
f2fs: Convert to release_folio

While converting f2fs_release_page() to f2fs_release_folio(), cache the
sb_info so we don't need to retrieve it twice, and remove the redundant
call to set_page_private().  The use of folios should be pushed further
into f2fs from here.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agoext4: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:33:38 +0000 (23:33 -0400)]
ext4: Convert to release_folio

The use of folios should be pushed deeper into ext4 from here.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agoerofs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:29:26 +0000 (23:29 -0400)]
erofs: Convert to release_folio

Use a folio in erofs_managed_cache_release_folio(), but use of folios
should be pushed into erofs_try_to_free_cached_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agocifs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:26:14 +0000 (23:26 -0400)]
cifs: Convert to release_folio

Use a folio throughout cifs_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agoceph: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:21:43 +0000 (23:21 -0400)]
ceph: Convert to release_folio

Use a folio throughout ceph_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agobtrfs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:15:16 +0000 (23:15 -0400)]
btrfs: Convert to release_folio

I've only converted the outer layers of the btrfs release_folio paths
to use folios; the use of folios should be pushed further down into
btrfs from here.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agoafs: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:05:09 +0000 (23:05 -0400)]
afs: Convert to release_folio

A straightforward conversion as they already work in terms of folios.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years ago9p: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:05:09 +0000 (23:05 -0400)]
9p: Convert to release_folio

A straightforward conversion as it already works in terms of folios.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agoiomap: Convert to release_folio
Matthew Wilcox (Oracle) [Sun, 1 May 2022 03:01:08 +0000 (23:01 -0400)]
iomap: Convert to release_folio

Change all the filesystems which used iomap_releasepage to use the
new function.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agofs: Add aops->release_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 21:00:05 +0000 (17:00 -0400)]
fs: Add aops->release_folio

This replaces aops->releasepage.  Update the documentation, and call it
if it exists.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2 years agomm/filemap: Hoist filler_t decision to the top of do_read_cache_folio()
Matthew Wilcox (Oracle) [Sun, 8 May 2022 19:07:11 +0000 (15:07 -0400)]
mm/filemap: Hoist filler_t decision to the top of do_read_cache_folio()

Now that filler_t and aops->read_folio() have the same type, we can decide
which one to use at the top of the function, and cache ->read_folio in
the filler parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Change the type of filler_t
Matthew Wilcox (Oracle) [Mon, 2 May 2022 01:39:29 +0000 (21:39 -0400)]
fs: Change the type of filler_t

By making filler_t the same as read_folio, we can use the same function
for both in gfs2.  We can push the use of folios down one more level
in jffs2 and nfs.  We also increase type safety for future users of the
various read_cache_page() family of functions by forcing the parameter
to be a pointer to struct file (or NULL).

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Andreas Gruenbacher <agruenba@redhat.com>
2 years agonfs: Pass the file pointer to nfs_symlink_filler()
Matthew Wilcox (Oracle) [Sun, 1 May 2022 23:39:03 +0000 (19:39 -0400)]
nfs: Pass the file pointer to nfs_symlink_filler()

In preparation for unifying the read_cache_page() and read_folio()
implementations, make nfs_symlink_filler() get the inode
from the page instead of passing it in from read_cache_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agojffs2: Pass the file pointer to jffs2_do_readpage_unlock()
Matthew Wilcox (Oracle) [Sun, 1 May 2022 23:39:03 +0000 (19:39 -0400)]
jffs2: Pass the file pointer to jffs2_do_readpage_unlock()

In preparation for unifying the read_cache_page() and read_folio()
implementations, make jffs2_do_readpage_unlock() get the inode
from the page instead of passing it in from read_cache_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agomm,fs: Remove aops->readpage
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:53:28 +0000 (11:53 -0400)]
mm,fs: Remove aops->readpage

With all implementations of aops->readpage converted to aops->read_folio,
we can stop checking whether it's set and remove the member from aops.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agomm: Convert swap_readpage to call read_folio instead of readpage
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:51:22 +0000 (11:51 -0400)]
mm: Convert swap_readpage to call read_folio instead of readpage

This commit is split out so it can be dropped when resolving
conflicts with Neil Brown's series to stop calling ->readpage in
the swap code.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agovboxsf: Convert vboxsf to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
vboxsf: Convert vboxsf to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoudf: Convert adinicb and symlinks to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
udf: Convert adinicb and symlinks to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoubifs: Convert ubifs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
ubifs: Convert ubifs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agosquashfs: Convert squashfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
squashfs: Convert squashfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoromfs: Convert romfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
romfs: Convert romfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoorangefs: Convert orangefs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
orangefs: Convert orangefs to read_folio

This is a full conversion which should be large folio ready, although
I have not tested it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoocfs2: Convert ocfs2 to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
ocfs2: Convert ocfs2 to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agontfs: Convert ntfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
ntfs: Convert ntfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agonfs: Convert nfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
nfs: Convert nfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agojfs: Convert metadata pages to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
jfs: Convert metadata pages to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agojffs2: Convert jffs2 to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
jffs2: Convert jffs2 to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoisofs: Convert symlinks and zisofs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
isofs: Convert symlinks and zisofs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agohpfs: Convert symlinks to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
hpfs: Convert symlinks to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agohostfs: Convert hostfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
hostfs: Convert hostfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofuse: Convert fuse to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
fuse: Convert fuse to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofreevxfs: Convert vxfs_immed to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
freevxfs: Convert vxfs_immed to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agof2fs: Convert f2fs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
f2fs: Convert f2fs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoext4: Convert ext4 to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
ext4: Convert ext4 to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoerofs: Convert erofs zdata to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
erofs: Convert erofs zdata to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoefs: Convert efs symlinks to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
efs: Convert efs symlinks to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoecryptfs: Convert ecryptfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
ecryptfs: Convert ecryptfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agocramfs: Convert cramfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
cramfs: Convert cramfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agocoda: Convert coda to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
coda: Convert coda to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agocifs: Convert cifs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
cifs: Convert cifs to read_folio

This is a "weak" conversion which converts straight back to using pages.
CIFS should probably be converted to use netfs_read_folio() by someone
familiar with it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agobtrfs: Convert btrfs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
btrfs: Convert btrfs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agobefs: Convert befs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
befs: Convert befs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoafs: Convert afs_symlink_readpage to afs_symlink_read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:17:40 +0000 (11:17 -0400)]
afs: Convert afs_symlink_readpage to afs_symlink_read_folio

This function mostly used folios already, and only a few minor changes
were needed.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoaffs: Convert affs to read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)]
affs: Convert affs to read_folio

This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Convert simple_readpage to simple_read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:49:41 +0000 (11:49 -0400)]
fs: Convert simple_readpage to simple_read_folio

This is a full folio conversion; it is prepared to handle folios of
arbitrary size.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Convert mpage_readpage to mpage_read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 15:47:39 +0000 (11:47 -0400)]
fs: Convert mpage_readpage to mpage_read_folio

mpage_readpage still works in terms of pages, and has not been audited
for correctness with large folios, so include an assertion that the
filesystem is not passing it large folios.  Convert all the filesystems
to call mpage_read_folio() instead of mpage_readpage().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Convert block_read_full_page() to block_read_full_folio()
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 14:40:40 +0000 (10:40 -0400)]
fs: Convert block_read_full_page() to block_read_full_folio()

This function is NOT converted to handle large folios, so include
an assert that the filesystem isn't passing one in.  Otherwise, use
the folio functions instead of the page functions, where they exist.
Convert all filesystems which use block_read_full_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Convert iomap_readpage to iomap_read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 12:54:32 +0000 (08:54 -0400)]
fs: Convert iomap_readpage to iomap_read_folio

A straightforward conversion as iomap_readpage already worked in folios.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Convert netfs_readpage to netfs_read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 12:49:28 +0000 (08:49 -0400)]
fs: Convert netfs_readpage to netfs_read_folio

This is straightforward because netfs already worked in terms of folios.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Add read_folio documentation
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 12:45:43 +0000 (08:45 -0400)]
fs: Add read_folio documentation

Convert all the ->readpage documentation to ->read_folio.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofs: Introduce aops->read_folio
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 12:43:23 +0000 (08:43 -0400)]
fs: Introduce aops->read_folio

Change all the callers of ->readpage to call ->read_folio in preference,
if it exists.  This is a transitional duplication, and will be removed
by the end of the series.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agobuffer: Rewrite nobh_truncate_page() to use folios
Matthew Wilcox (Oracle) [Fri, 29 Apr 2022 03:59:15 +0000 (23:59 -0400)]
buffer: Rewrite nobh_truncate_page() to use folios

 - Calculate iblock directly instead of using a while loop
 - Move has_buffers to the end to remove a backwards jump
 - Use __filemap_get_folio() instead of grab_cache_page(), which
   removes a spurious FGP_ACCESSED flag.
 - Eliminate length and pos variables
 - Use folio APIs where they exist

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agomm/readahead: Convert page_cache_async_readahead to take a folio
Matthew Wilcox (Oracle) [Thu, 18 Mar 2021 02:38:26 +0000 (22:38 -0400)]
mm/readahead: Convert page_cache_async_readahead to take a folio

Removes a couple of calls to compound_head and saves a few bytes.
Also convert verity's read_file_data_page() to be folio-based.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Convert is_dirty_writeback() to take a folio
Matthew Wilcox (Oracle) [Mon, 17 Jan 2022 19:35:22 +0000 (14:35 -0500)]
fs: Convert is_dirty_writeback() to take a folio

Pass a folio instead of a page to aops->is_dirty_writeback().
Convert both implementations and the caller.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agoreadahead: Use a folio in read_pages()
Matthew Wilcox (Oracle) [Thu, 31 Mar 2022 18:15:59 +0000 (14:15 -0400)]
readahead: Use a folio in read_pages()

Handle multi-page folios correctly and removes a few calls to
compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofilemap: Update the folio_mark_dirty documentation
Matthew Wilcox (Oracle) [Thu, 28 Apr 2022 18:21:02 +0000 (14:21 -0400)]
filemap: Update the folio_mark_dirty documentation

The previous comment was not terribly helpful.  Be a bit more explicit
about the necessary locking environment.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofilemap: Update the folio_lock documentation
Matthew Wilcox (Oracle) [Mon, 4 Apr 2022 17:24:36 +0000 (13:24 -0400)]
filemap: Update the folio_lock documentation

Add kernel-doc for several functions relating to take the folio lock.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agofilemap: Remove obsolete comment in lock_page
Miaohe Lin [Mon, 4 Apr 2022 15:38:20 +0000 (11:38 -0400)]
filemap: Remove obsolete comment in lock_page

We no longer need the page's inode pinned.  This comment dates back to
commit db37648cd6ce ("[PATCH] mm: non syncing lock_page()") which added
lock_page_nosync().  That was removed by commit 7eaceaccab5f ("block:
remove per-queue plugging") which also made this comment obsolete.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove pagecache_write_begin() and pagecache_write_end()
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 20:00:20 +0000 (15:00 -0500)]
fs: Remove pagecache_write_begin() and pagecache_write_end()

These wrappers have no more users; remove them.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agoi915: Call aops write_begin() and write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
i915: Call aops write_begin() and write_end() directly

pagecache_write_begin() and pagecache_write_end() are now trivial
wrappers, so call the aops directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agof2fs: Call aops write_begin() and write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
f2fs: Call aops write_begin() and write_end() directly

pagecache_write_begin() and pagecache_write_end() are now trivial
wrappers, so call the aops directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agoext4: Call aops write_begin() and write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
ext4: Call aops write_begin() and write_end() directly

pagecache_write_begin() and pagecache_write_end() are now trivial
wrappers, so call the aops directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agohfsplus: Call hfsplus_write_begin() and generic_write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
hfsplus: Call hfsplus_write_begin() and generic_write_end() directly

There is only one kind of write_begin/write_end aops, so we don't need
to look up which aop it is, just make hfsplus_write_begin() available to
this file and call it directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agohfs: Call hfs_write_begin() and generic_write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
hfs: Call hfs_write_begin() and generic_write_end() directly

There is only one kind of write_begin/write_end aops, so we don't need
to look up which aop it is, just make hfs_write_begin() available to
this file and call it directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agontfs3: Remove fsdata parameter from ntfs_extend_initialized_size()
Matthew Wilcox (Oracle) [Sun, 8 May 2022 18:40:32 +0000 (14:40 -0400)]
ntfs3: Remove fsdata parameter from ntfs_extend_initialized_size()

After the last patch, Smatch reports:

        fs/ntfs3/file.c:168 ntfs_extend_initialized_size()
        error: uninitialized symbol 'fsdata'.

fsdata is indeed unused.  This is not new, but Smatch couldn't see it
before because calls through pagecache_write_begin()/pagecache_write_end()
could theoretically call any implemention of ->write_begin/write_end,
some of which do use fsdata.  Now that the calls are direct, Smatch can
see they're never used.

Fix this by simply passing NULL.  While ntfs3 does pass this parameter
on to generic functions, those generic functions also never dereference
the fsdata parameter, so it's unnecessary to pass the address of a real
pointer.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agontfs3: Call ntfs_write_begin() and ntfs_write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)]
ntfs3: Call ntfs_write_begin() and ntfs_write_end() directly

There is only one kind of write_begin/write_end aops, so we don't need to
look up which aop it is, just make ntfs_write_begin() and ntfs_write_end()
available to this file and call them directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Namjae Jeon <linkinjeon@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agonamei: Call aops write_begin() and write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:35:20 +0000 (13:35 -0500)]
namei: Call aops write_begin() and write_end() directly

pagecache_write_begin() and pagecache_write_end() are now trivial
wrappers, so call the aops directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agobuffer: Call aops write_begin() and write_end() directly
Matthew Wilcox (Oracle) [Thu, 3 Mar 2022 18:35:20 +0000 (13:35 -0500)]
buffer: Call aops write_begin() and write_end() directly

pagecache_write_begin() and pagecache_write_end() are now trivial
wrappers, so call the aops directly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove flags parameter from aops->write_begin
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 19:31:43 +0000 (14:31 -0500)]
fs: Remove flags parameter from aops->write_begin

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove aop flags parameter from nobh_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 16:54:56 +0000 (11:54 -0500)]
fs: Remove aop flags parameter from nobh_write_begin()

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove aop flags parameter from grab_cache_page_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 16:25:12 +0000 (11:25 -0500)]
fs: Remove aop flags parameter from grab_cache_page_write_begin()

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove aop flags parameter from cont_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 16:25:12 +0000 (11:25 -0500)]
fs: Remove aop flags parameter from cont_write_begin()

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove aop flags parameter from block_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 16:25:12 +0000 (11:25 -0500)]
fs: Remove aop flags parameter from block_write_begin()

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove aop_flags parameter from netfs_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:47:09 +0000 (10:47 -0500)]
fs: Remove aop_flags parameter from netfs_write_begin()

There are no more aop flags left, so remove the parameter.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agofs: Remove AOP_FLAG_NOFS
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:40:11 +0000 (10:40 -0500)]
fs: Remove AOP_FLAG_NOFS

With all users of this flag gone, we can stop testing whether it's set.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agoext4: Use scoped memory APIs in ext4_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:36:28 +0000 (10:36 -0500)]
ext4: Use scoped memory APIs in ext4_write_begin()

Instead of setting AOP_FLAG_NOFS, use memalloc_nofs_save() and
memalloc_nofs_restore() to prevent GFP_FS allocations recursing
into the filesystem with a journal already started.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
2 years agoext4: Use scoped memory APIs in ext4_da_write_begin()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:36:28 +0000 (10:36 -0500)]
ext4: Use scoped memory APIs in ext4_da_write_begin()

Instead of setting AOP_FLAG_NOFS, use memalloc_nofs_save() and
memalloc_nofs_restore() to prevent GFP_FS allocations recursing
into the filesystem with a journal already started.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
2 years agoext4: Use scoped memory API in mext_page_double_lock()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:15:07 +0000 (10:15 -0500)]
ext4: Use scoped memory API in mext_page_double_lock()

Replace use of AOP_FLAG_NOFS with calls to memalloc_nofs_save()
and memalloc_nofs_restore().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
2 years agoext4: Allow GFP_FS allocations in ext4_da_convert_inline_data_to_extent()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 15:10:51 +0000 (10:10 -0500)]
ext4: Allow GFP_FS allocations in ext4_da_convert_inline_data_to_extent()

Since commit 8bc1379b82b8, the transaction is stopped before calling
ext4_da_convert_inline_data_to_extent(), which means we can do GFP_FS
allocations and recurse into the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
2 years agof2fs: Convert f2fs_grab_cache_page() to use scoped memory APIs
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 14:45:38 +0000 (09:45 -0500)]
f2fs: Convert f2fs_grab_cache_page() to use scoped memory APIs

Prevent GFP_FS allocations by using memalloc_nofs_save() instead
of AOP_FLAG_NOFS.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agonamei: Convert page_symlink() to use memalloc_nofs_save()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 14:43:12 +0000 (09:43 -0500)]
namei: Convert page_symlink() to use memalloc_nofs_save()

Stop using AOP_FLAG_NOFS in favour of the scoped memory API.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agonamei: Merge page_symlink() and __page_symlink()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 14:40:54 +0000 (09:40 -0500)]
namei: Merge page_symlink() and __page_symlink()

There are no callers of __page_symlink() left, so we can remove that
entry point.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christian Brauner <brauner@kernel.org>
2 years agoext4: Use page_symlink() instead of __page_symlink()
Matthew Wilcox (Oracle) [Tue, 22 Feb 2022 14:27:42 +0000 (09:27 -0500)]
ext4: Use page_symlink() instead of __page_symlink()

By using the memalloc_nofs_save() functionality, we can call
page_symlink(), safe in the knowledge that it won't recurse into the
filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2 years agoscsicam: Fix use of page cache
Matthew Wilcox (Oracle) [Wed, 9 Feb 2022 17:58:22 +0000 (12:58 -0500)]
scsicam: Fix use of page cache

Convert scsicam to use a folio instead of a page.  There is no need to
check the error flag here; read_cache_folio() will return -EIO if the
folio cannot be read correctly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2 years agoMerge tag 'sound-5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Linus Torvalds [Sun, 8 May 2022 17:10:51 +0000 (10:10 -0700)]
Merge tag 'sound-5.18-rc6' of git://git./linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "This became slightly larger as I've been off in the last weeks.

  The majority of changes here is about ASoC, fixes for dmaengine
  and for addressing issues reported by CI, as well as other
  device-specific small fixes.

  Also, fixes for FireWire core stack and the usual HD-audio quirks
  are included"

* tag 'sound-5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
  ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback
  ASoC: ops: Validate input values in snd_soc_put_volsw_range()
  ASoC: dmaengine: Restore NULL prepare_slave_config() callback
  ASoC: atmel: mchp-pdmc: set prepare_slave_config
  ASoC: max98090: Generate notifications on changes for custom control
  ASoC: max98090: Reject invalid values in custom control put()
  ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes
  ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers
  firewire: core: extend card->lock in fw_core_handle_bus_reset
  firewire: remove check of list iterator against head past the loop body
  firewire: fix potential uaf in outbound_phy_packet_callback()
  ASoC: rt9120: Correct the reg 0x09 size to one byte
  ALSA: hda/realtek: Enable mute/micmute LEDs support for HP Laptops
  ALSA: hda/realtek: Fix mute led issue on thinkpad with cs35l41 s-codec
  ASoC: meson: axg-card: Fix nonatomic links
  ASoC: meson: axg-tdm-interface: Fix formatters in trigger"
  ASoC: soc-ops: fix error handling
  ASoC: meson: Fix event generation for G12A tohdmi mux
  ASoC: meson: Fix event generation for AUI CODEC mux
  ASoC: meson: Fix event generation for AUI ACODEC mux
  ...

2 years agoblk-mq: remove the error_count from struct request
Willy Tarreau [Sun, 8 May 2022 09:37:09 +0000 (11:37 +0200)]
blk-mq: remove the error_count from struct request

The last two users were floppy.c and ataflop.c respectively, it was
verified that no other drivers makes use of this, so let's remove it.

Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org>
Cc: Minh Yuan <yuanmingbuaa@gmail.com>
Cc: Denis Efremov <efremov@linux.com>,
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2 years agoataflop: use a statically allocated error counters
Willy Tarreau [Sun, 8 May 2022 09:37:08 +0000 (11:37 +0200)]
ataflop: use a statically allocated error counters

This is the last driver making use of fd_request->error_count, which is
easy to get wrong as was shown in floppy.c.  We don't need to keep it
there, it can be moved to the atari_floppy_struct instead, so let's do
this.

Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org>
Cc: Minh Yuan <yuanmingbuaa@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2 years agofloppy: use a statically allocated error counter
Willy Tarreau [Sun, 8 May 2022 09:37:07 +0000 (11:37 +0200)]
floppy: use a statically allocated error counter

Interrupt handler bad_flp_intr() may cause a UAF on the recently freed
request just to increment the error count.  There's no point keeping
that one in the request anyway, and since the interrupt handler uses a
static pointer to the error which cannot be kept in sync with the
pending request, better make it use a static error counter that's reset
for each new request.  This reset now happens when entering
redo_fd_request() for a new request via set_next_request().

One initial concern about a single error counter was that errors on one
floppy drive could be reported on another one, but this problem is not
real given that the driver uses a single drive at a time, as that
PC-compatible controllers also have this limitation by using shared
signals.  As such the error count is always for the "current" drive.

Reported-by: Minh Yuan <yuanmingbuaa@gmail.com>
Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org>
Tested-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2 years agoMerge tag 'asoc-fix-v5.18-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git...
Takashi Iwai [Sun, 8 May 2022 08:49:25 +0000 (10:49 +0200)]
Merge tag 'asoc-fix-v5.18-rc4' of https://git./linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v5.18

A larger collection of fixes than I'd like, mainly because mixer-test
is making it's way into the CI systems and turning up issues on a wider
range of systems.  The most substantial thing though is a revert and an
alternative fix for a dmaengine issue where the fix caused disruption
for some other configurations, the core fix is backed out an a driver
specific thing done instead.

2 years agoMerge tag 'gpio-fixes-for-v5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 7 May 2022 18:02:02 +0000 (11:02 -0700)]
Merge tag 'gpio-fixes-for-v5.18-rc6' of git://git./linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

 - fix the bounds check for the 'gpio-reserved-ranges' device property
   in gpiolib-of

 - drop the assignment of the pwm base number in gpio-mvebu (this was
   missed by the patch doing it globally for all pwm drivers)

 - fix the fwnode assignment (use own fwnode, not the parent's one) for
   the GPIO irqchip in gpio-visconti

 - update the irq_stat field before checking the trigger field in
   gpio-pca953x

 - update GPIO entry in MAINTAINERS

* tag 'gpio-fixes-for-v5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: pca953x: fix irq_stat not updated when irq is disabled (irq_mask not set)
  gpio: visconti: Fix fwnode of GPIO IRQ
  MAINTAINERS: update the GPIO git tree entry
  gpio: mvebu: drop pwm base assignment
  gpiolib: of: fix bounds check for 'gpio-reserved-ranges'

2 years agoMerge tag 'block-5.18-2022-05-06' of git://git.kernel.dk/linux-block
Linus Torvalds [Sat, 7 May 2022 17:47:51 +0000 (10:47 -0700)]
Merge tag 'block-5.18-2022-05-06' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:
 "A single revert for a change that isn't needed in 5.18, and a small
  series for s390/dasd"

* tag 'block-5.18-2022-05-06' of git://git.kernel.dk/linux-block:
  s390/dasd: Use kzalloc instead of kmalloc/memset
  s390/dasd: Fix read inconsistency for ESE DASD devices
  s390/dasd: Fix read for ESE with blksize < 4k
  s390/dasd: prevent double format of tracks for ESE devices
  s390/dasd: fix data corruption for ESE devices
  Revert "block: release rq qos structures for queue without disk"

2 years agoMerge tag 'io_uring-5.18-2022-05-06' of git://git.kernel.dk/linux-block
Linus Torvalds [Sat, 7 May 2022 17:41:41 +0000 (10:41 -0700)]
Merge tag 'io_uring-5.18-2022-05-06' of git://git.kernel.dk/linux-block

Pull io_uring fix from Jens Axboe:
 "Just a single file assignment fix this week"

* tag 'io_uring-5.18-2022-05-06' of git://git.kernel.dk/linux-block:
  io_uring: assign non-fixed early for async work

2 years agoMerge tag 'for-5.18-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
Linus Torvalds [Fri, 6 May 2022 21:32:16 +0000 (14:32 -0700)]
Merge tag 'for-5.18-rc5-tag' of git://git./linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:
 "Regression fixes in zone activation:

   - move a loop invariant out of the loop to avoid checking space
     status

   - properly handle unlimited activation

  Other fixes:

   - for subpage, force the free space v2 mount to avoid a warning and
     make it easy to switch a filesystem on different page size systems

   - export sysfs status of exclusive operation 'balance paused', so the
     user space tools can recognize it and allow adding a device with
     paused balance

   - fix assertion failure when logging directory key range item"

* tag 'for-5.18-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: sysfs: export the balance paused state of exclusive operation
  btrfs: fix assertion failure when logging directory key range item
  btrfs: zoned: activate block group properly on unlimited active zone device
  btrfs: zoned: move non-changing condition check out of the loop
  btrfs: force v2 space cache usage for subpage mount

2 years agoMerge tag 'nfs-for-5.18-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Linus Torvalds [Fri, 6 May 2022 20:19:11 +0000 (13:19 -0700)]
Merge tag 'nfs-for-5.18-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs

Pull NFS client fixes from Trond Myklebust:
 "Highlights include:

  Stable fixes:

   - Fix a socket leak when setting up an AF_LOCAL RPC client

   - Ensure that knfsd connects to the gss-proxy daemon on setup

  Bugfixes:

   - Fix a refcount leak when migrating a task off an offlined transport

   - Don't gratuitously invalidate inode attributes on delegation return

   - Don't leak sockets in xs_local_connect()

   - Ensure timely close of disconnected AF_LOCAL sockets"

* tag 'nfs-for-5.18-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
  Revert "SUNRPC: attempt AF_LOCAL connect on setup"
  SUNRPC: Ensure gss-proxy connects on setup
  SUNRPC: Ensure timely close of disconnected AF_LOCAL sockets
  SUNRPC: Don't leak sockets in xs_local_connect()
  NFSv4: Don't invalidate inode attributes on delegation return
  SUNRPC release the transport of a relocated task with an assigned transport

2 years agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Fri, 6 May 2022 18:42:58 +0000 (11:42 -0700)]
Merge tag 'for-linus' of git://git./virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
 "x86:

   - Account for family 17h event renumberings in AMD PMU emulation

   - Remove CPUID leaf 0xA on AMD processors

   - Fix lockdep issue with locking all vCPUs

   - Fix loss of A/D bits in SPTEs

   - Fix syzkaller issue with invalid guest state"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: VMX: Exit to userspace if vCPU has injected exception and invalid state
  KVM: SEV: Mark nested locking of vcpu->lock
  kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU
  KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_id
  KVM: x86/mmu: Use atomic XCHG to write TDP MMU SPTEs with volatile bits
  KVM: x86/mmu: Move shadow-present check out of spte_has_volatile_bits()
  KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D)

2 years agoMerge tag 'riscv-for-linus-5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 6 May 2022 18:30:59 +0000 (11:30 -0700)]
Merge tag 'riscv-for-linus-5.18-rc6' of git://git./linux/kernel/git/riscv/linux

Pull RISC-V fix from Palmer Dabbelt:

 - A fix to relocate the DTB early in boot, in cases where the
   bootloader doesn't put the DTB in a region that will end up
   mapped by the kernel.

   This manifests as a crash early in boot on a handful of
   configurations.

* tag 'riscv-for-linus-5.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  RISC-V: relocate DTB if it's outside memory region