<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/gfs2/bmap.c, branch linux-6.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-06-06T16:35:06Z</updated>
<entry>
<title>gfs2: fix minor comment typos</title>
<updated>2023-06-06T16:35:06Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2023-04-26T14:46:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4f82bf21f2586aa823fd40de72023236062a4aa'/>
<id>urn:sha1:e4f82bf21f2586aa823fd40de72023236062a4aa</id>
<content type='text'>
Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: Eliminate gfs2_trim_blocks</title>
<updated>2023-04-18T12:40:12Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2023-04-07T18:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d1b37787fe3997b9612a8ba6766580f44e23796'/>
<id>urn:sha1:7d1b37787fe3997b9612a8ba6766580f44e23796</id>
<content type='text'>
Function gfs2_trim_blocks is not referenced. Eliminate it.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: Convert gfs2_page_add_databufs to folios</title>
<updated>2023-02-22T11:06:20Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-02-01T14:50:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1b0c3cfcbad25d2c412863c27638c933f1d911b'/>
<id>urn:sha1:c1b0c3cfcbad25d2c412863c27638c933f1d911b</id>
<content type='text'>
Convert gfs2_page_add_databufs() to folios and rename it to
gfs2_trans_add_databufs().

Cc: Matthew Wilcox &lt;willy@infradead.org&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>iomap: Rename page_ops to folio_ops</title>
<updated>2023-01-18T18:44:05Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-01-15T16:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=471859f57d42537626a56312cfb50cd6acee09ae'/>
<id>urn:sha1:471859f57d42537626a56312cfb50cd6acee09ae</id>
<content type='text'>
The operations in struct page_ops all operate on folios, so rename
struct page_ops to struct folio_ops.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
[djwong: port around not removing iomap_valid]
Signed-off-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
</content>
</entry>
<entry>
<title>iomap: Rename page_prepare handler to get_folio</title>
<updated>2023-01-18T18:44:05Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-01-15T16:50:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c82abc2394642490da736b1ba78671bbcef81150'/>
<id>urn:sha1:c82abc2394642490da736b1ba78671bbcef81150</id>
<content type='text'>
The -&gt;page_prepare() handler in struct iomap_page_ops is now somewhat
misnamed, so rename it to -&gt;get_folio().

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
</content>
</entry>
<entry>
<title>iomap/gfs2: Get page in page_prepare handler</title>
<updated>2023-01-18T18:44:04Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-01-15T16:49:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9060bc4d3aca6106bbe72891efba391d9d6b86e7'/>
<id>urn:sha1:9060bc4d3aca6106bbe72891efba391d9d6b86e7</id>
<content type='text'>
Change the iomap -&gt;page_prepare() handler to get and return a locked
folio instead of doing that in iomap_write_begin().  This allows to
recover from out-of-memory situations in -&gt;page_prepare(), which
eliminates the corresponding error handling code in iomap_write_begin().
The -&gt;put_folio() handler now also isn't called with NULL as the folio
value anymore.

Filesystems are expected to use the iomap_get_folio() helper for getting
locked folios in their -&gt;page_prepare() handlers.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
</content>
</entry>
<entry>
<title>iomap: Rename page_done handler to put_folio</title>
<updated>2023-01-18T18:44:04Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-01-15T16:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40405dddd98a9a95585482af46b8e269f5ebe5df'/>
<id>urn:sha1:40405dddd98a9a95585482af46b8e269f5ebe5df</id>
<content type='text'>
The -&gt;page_done() handler in struct iomap_page_ops is now somewhat
misnamed in that it mainly deals with unlocking and putting a folio, so
rename it to -&gt;put_folio().

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
</content>
</entry>
<entry>
<title>iomap/gfs2: Unlock and put folio in page_done handler</title>
<updated>2023-01-18T18:44:04Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2023-01-15T16:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80baab88bb93eeaa133b426d24dfc0775a8cf824'/>
<id>urn:sha1:80baab88bb93eeaa133b426d24dfc0775a8cf824</id>
<content type='text'>
When an iomap defines a -&gt;page_done() handler in its page_ops, delegate
unlocking the folio and putting the folio reference to that handler.

This allows to fix a race between journaled data writes and folio
writeback in gfs2: before this change, gfs2_iomap_page_done() was called
after unlocking the folio, so writeback could start writing back the
folio's buffers before they could be marked for writing to the journal.
Also, try_to_free_buffers() could free the buffers before
gfs2_iomap_page_done() was done adding the buffers to the current
current transaction.  With this change, gfs2_iomap_page_done() adds the
buffers to the current transaction while the folio is still locked, so
the problems described above can no longer occur.

The only current user of -&gt;page_done() is gfs2, so other filesystems are
not affected.  To catch out any out-of-tree users, switch from a page to
a folio in -&gt;page_done().

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Darrick J. Wong &lt;djwong@kernel.org&gt;
</content>
</entry>
<entry>
<title>gfs2: Always check inode size of inline inodes</title>
<updated>2022-12-06T15:06:31Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2022-12-04T16:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70376c7ff31221f1d21db5611d8209e677781d3a'/>
<id>urn:sha1:70376c7ff31221f1d21db5611d8209e677781d3a</id>
<content type='text'>
Check if the inode size of stuffed (inline) inodes is within the allowed
range when reading inodes from disk (gfs2_dinode_in()).  This prevents
us from on-disk corruption.

The two checks in stuffed_readpage() and gfs2_unstuffer_page() that just
truncate inline data to the maximum allowed size don't actually make
sense, and they can be removed now as well.

Reported-by: syzbot+7bb81dfa9cda07d9cd9d@syzkaller.appspotmail.com
Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>fs/buffer: Combine two submit_bh() and ll_rw_block() arguments</title>
<updated>2022-07-14T18:14:32Z</updated>
<author>
<name>Bart Van Assche</name>
</author>
<published>2022-07-14T18:07:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1420c4a549bf28ffddbed827d61fb3d4d2132ddb'/>
<id>urn:sha1:1420c4a549bf28ffddbed827d61fb3d4d2132ddb</id>
<content type='text'>
Both submit_bh() and ll_rw_block() accept a request operation type and
request flags as their first two arguments. Micro-optimize these two
functions by combining these first two arguments into a single argument.
This patch does not change the behavior of any of the modified code.

Cc: Alexander Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Acked-by: Song Liu &lt;song@kernel.org&gt; (for the md changes)
Signed-off-by: Bart Van Assche &lt;bvanassche@acm.org&gt;
Link: https://lore.kernel.org/r/20220714180729.1065367-48-bvanassche@acm.org
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
</feed>
