summaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2021-05-04 10:08:30 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-07-20 16:16:11 +0200
commit291ddd4e9c5352a4aace1dfb4f3100c743cd87c7 (patch)
treebc5b023f0d2c0bb5c21125a14eac402bc95eff9f /fs/ceph
parentf0ab6d809cfeffb75c181c29df2235d12b3de844 (diff)
downloadlinux-stable-291ddd4e9c5352a4aace1dfb4f3100c743cd87c7.tar.gz
linux-stable-291ddd4e9c5352a4aace1dfb4f3100c743cd87c7.tar.bz2
linux-stable-291ddd4e9c5352a4aace1dfb4f3100c743cd87c7.zip
ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
[ Upstream commit 22d41cdcd3cfd467a4af074165357fcbea1c37f5 ] The checks for page->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 <willy@infradead.org> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/addr.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index e59b2f53a81f..de10899da837 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -75,10 +75,6 @@ static int ceph_set_page_dirty(struct page *page)
struct inode *inode;
struct ceph_inode_info *ci;
struct ceph_snap_context *snapc;
- int ret;
-
- if (unlikely(!mapping))
- return !TestSetPageDirty(page);
if (PageDirty(page)) {
dout("%p set_page_dirty %p idx %lu -- already dirty\n",
@@ -124,11 +120,7 @@ static int ceph_set_page_dirty(struct page *page)
page->private = (unsigned long)snapc;
SetPagePrivate(page);
- ret = __set_page_dirty_nobuffers(page);
- WARN_ON(!PageLocked(page));
- WARN_ON(!page->mapping);
-
- return ret;
+ return __set_page_dirty_nobuffers(page);
}
/*