From: Xiubo Li Date: Wed, 4 Sep 2024 22:22:18 +0000 (+0800) Subject: ceph: remove the incorrect Fw reference check when dirtying pages X-Git-Tag: v5.10.227~252 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f55e003d261baa7c57d51ae5c8ec1f5c26a35c89;p=thirdparty%2Fkernel%2Fstable.git ceph: remove the incorrect Fw reference check when dirtying pages [ Upstream commit c08dfb1b49492c09cf13838c71897493ea3b424e ] When doing the direct-io reads it will also try to mark pages dirty, but for the read path it won't hold the Fw caps and there is case will it get the Fw reference. Fixes: 5dda377cf0a6 ("ceph: set i_head_snapc when getting CEPH_CAP_FILE_WR reference") Signed-off-by: Xiubo Li Reviewed-by: Patrick Donnelly Signed-off-by: Ilya Dryomov Signed-off-by: Sasha Levin --- diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 3465ff95cb89f..2362f2591f4ad 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -91,7 +91,6 @@ static int ceph_set_page_dirty(struct page *page) /* dirty the head */ spin_lock(&ci->i_ceph_lock); - BUG_ON(ci->i_wr_ref == 0); // caller should hold Fw reference if (__ceph_have_pending_cap_snap(ci)) { struct ceph_cap_snap *capsnap = list_last_entry(&ci->i_cap_snaps,