<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ceph/addr.c, branch linux-5.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-07-20T14:02:15Z</updated>
<entry>
<title>ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty</title>
<updated>2021-07-20T14:02:15Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2021-05-04T14:08:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f36d35644f910b2d8645c3b47c0dbe26f1fcb34'/>
<id>urn:sha1:5f36d35644f910b2d8645c3b47c0dbe26f1fcb34</id>
<content type='text'>
[ Upstream commit 22d41cdcd3cfd467a4af074165357fcbea1c37f5 ]

The checks for page-&gt;mapping are odd, as set_page_dirty is an
address_space operation, and I don't see where it would be called on a
non-pagecache page.

The warning about the page lock also seems bogus.  The comment over
set_page_dirty() says that it can be called without the page lock in
some rare cases. I don't think we want to warn if that's the case.

Reported-by: Matthew Wilcox &lt;willy@infradead.org&gt;
Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>netfs: fix test for whether we can skip read when writing beyond EOF</title>
<updated>2021-06-30T12:47:08Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2021-06-13T23:33:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee98cb6f22dc0e664fed8180360077dceaf437ed'/>
<id>urn:sha1:ee98cb6f22dc0e664fed8180360077dceaf437ed</id>
<content type='text'>
commit 827a746f405d25f79560c7868474aec5aee174e1 upstream.

It's not sufficient to skip reading when the pos is beyond the EOF.
There may be data at the head of the page that we need to fill in
before the write.

Add a new helper function that corrects and clarifies the logic of
when we can skip reads, and have it only zero out the part of the page
that won't have data copied in for the write.

Finally, don't set the page Uptodate after zeroing. It's not up to date
since the write data won't have been copied in yet.

[DH made the following changes:

 - Prefixed the new function with "netfs_".

 - Don't call zero_user_segments() for a full-page write.

 - Altered the beyond-last-page check to avoid a DIV instruction and got
   rid of then-redundant zero-length file check.
]

[ Note: this fix is commit 827a746f405d in mainline kernels. The
	original bug was in ceph, but got lifted into the fs/netfs
	library for v5.13. This backport should apply to stable
	kernels v5.10 though v5.12. ]

Fixes: e1b1240c1ff5f ("netfs: Add write_begin helper")
Reported-by: Andrew W Elble &lt;aweits@rit.edu&gt;
Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Reviewed-by: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;
cc: ceph-devel@vger.kernel.org
Link: https://lore.kernel.org/r/20210613233345.113565-1-jlayton@kernel.org/
Link: https://lore.kernel.org/r/162367683365.460125.4467036947364047314.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162391826758.1173366.11794946719301590013.stgit@warthog.procyon.org.uk/ # v2
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ceph: allow queueing cap/snap handling after putting cap references</title>
<updated>2021-02-16T11:09:51Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-12-10T19:39:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8810cdc007f816e0e2448879ebd84152ce8c907'/>
<id>urn:sha1:a8810cdc007f816e0e2448879ebd84152ce8c907</id>
<content type='text'>
Testing with the fscache overhaul has triggered some lockdep warnings
about circular lock dependencies involving page_mkwrite and the
mmap_lock. It'd be better to do the "real work" without the mmap lock
being held.

Change the skip_checking_caps parameter in __ceph_put_cap_refs to an
enum, and use that to determine whether to queue check_caps, do it
synchronously or not at all. Change ceph_page_mkwrite to do a
ceph_put_cap_refs_async().

Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Reviewed-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: pass down the flags to grab_cache_page_write_begin</title>
<updated>2020-12-14T22:21:47Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-11-10T21:24:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a357f5069428afc7c48cb4bdc95c864b7a5c862'/>
<id>urn:sha1:4a357f5069428afc7c48cb4bdc95c864b7a5c862</id>
<content type='text'>
write_begin operations are passed a flags parameter that we need to
mirror here, so that we don't (e.g.) recurse back into filesystem code
inappropriately.

Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Reviewed-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: add new RECOVER mount_state when recovering session</title>
<updated>2020-12-14T22:21:46Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-09-25T11:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50c9132ddfb2024e96900407beeec660cf9848bd'/>
<id>urn:sha1:50c9132ddfb2024e96900407beeec660cf9848bd</id>
<content type='text'>
When recovering a session (a'la recover_session=clean), we want to do
all of the operations that we do on a forced umount, but changing the
mount state to SHUTDOWN is can cause queued MDS requests to fail when
the session comes back. Most of those can idle until the session is
recovered in this situation.

Reserve SHUTDOWN state for forced umount, and make a new RECOVER state
for the forced reconnect situation. Change several tests for equality with
SHUTDOWN to test for that or RECOVER.

Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Reviewed-by: Xiubo Li &lt;xiubli@redhat.com&gt;
Reviewed-by: "Yan, Zheng" &lt;zyan@redhat.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: promote to unsigned long long before shifting</title>
<updated>2020-10-12T13:29:27Z</updated>
<author>
<name>Matthew Wilcox (Oracle)</name>
</author>
<published>2020-10-04T18:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c403c3a2fbe24d4ed33e10cabad048583ebd4edf'/>
<id>urn:sha1:c403c3a2fbe24d4ed33e10cabad048583ebd4edf</id>
<content type='text'>
On 32-bit systems, this shift will overflow for files larger than 4GB.

Cc: stable@vger.kernel.org
Fixes: 61f68816211e ("ceph: check caps in filemap_fault and page_mkwrite")
Signed-off-by: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;
Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: don't SetPageError on readpage errors</title>
<updated>2020-10-12T13:29:27Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-10-01T17:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7edf1ec5b249cb7f9b85b7257f638026fd1a5d2b'/>
<id>urn:sha1:7edf1ec5b249cb7f9b85b7257f638026fd1a5d2b</id>
<content type='text'>
PageError really only has meaning within a particular subsystem. Nothing
looks at this bit in the core kernel code, and ceph itself doesn't care
about it. Don't bother setting the PageError bit on error.

Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Reviewed-by: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: fold ceph_update_writeable_page into ceph_write_begin</title>
<updated>2020-10-12T13:29:27Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-06-05T13:05:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1cc1699070bd8f42111b92e5c8018bd7d52f0003'/>
<id>urn:sha1:1cc1699070bd8f42111b92e5c8018bd7d52f0003</id>
<content type='text'>
...and reorganize the loop for better clarity.

Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: fold ceph_sync_writepages into writepage_nounlock</title>
<updated>2020-10-12T13:29:27Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-07-14T18:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6390987f2f4c5dcacb3ef7b9cb2ef5b8fdca3e10'/>
<id>urn:sha1:6390987f2f4c5dcacb3ef7b9cb2ef5b8fdca3e10</id>
<content type='text'>
Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: fold ceph_sync_readpages into ceph_readpage</title>
<updated>2020-10-12T13:29:27Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2020-05-14T16:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b4862ecaec5487ba9b192cc70d6fa0c7aef373a'/>
<id>urn:sha1:9b4862ecaec5487ba9b192cc70d6fa0c7aef373a</id>
<content type='text'>
Signed-off-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
</feed>
