Commit 22d41cdc authored by Jeff Layton's avatar Jeff Layton Committed by Ilya Dryomov
Browse files

ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty



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: default avatarMatthew Wilcox <willy@infradead.org>
Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent 62fb9874
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -82,10 +82,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",
@@ -130,11 +126,7 @@ static int ceph_set_page_dirty(struct page *page)
	BUG_ON(PagePrivate(page));
	attach_page_private(page, snapc);

	ret = __set_page_dirty_nobuffers(page);
	WARN_ON(!PageLocked(page));
	WARN_ON(!page->mapping);

	return ret;
	return __set_page_dirty_nobuffers(page);
}

/*