]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
xfs: fix xfs_group release bug in xfs_dax_notify_dev_failure
authorDarrick J. Wong <djwong@kernel.org>
Wed, 18 Feb 2026 23:25:36 +0000 (15:25 -0800)
committerCarlos Maiolino <cem@kernel.org>
Wed, 25 Feb 2026 12:58:49 +0000 (13:58 +0100)
Chris Mason reports that his AI tools noticed that we were using
xfs_perag_put and xfs_group_put to release the group reference returned
by xfs_group_next_range.  However, the iterator function returns an
object with an active refcount, which means that we must use the correct
function to release the active refcount, which is _rele.

Cc: <stable@vger.kernel.org> # v6.0
Fixes: 6f643c57d57c56 ("xfs: implement ->notify_failure() for XFS")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_notify_failure.c

index 6be19fa1ebe26282bf61d6530bf623046030e9fd..64c8afb935c26183a2d9f36efcbefd84f1abb15f 100644 (file)
@@ -304,7 +304,7 @@ xfs_dax_notify_dev_failure(
 
                        error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
                        if (error) {
-                               xfs_perag_put(pag);
+                               xfs_perag_rele(pag);
                                break;
                        }
 
@@ -340,7 +340,7 @@ xfs_dax_notify_dev_failure(
                if (rtg)
                        xfs_rtgroup_unlock(rtg, XFS_RTGLOCK_RMAP);
                if (error) {
-                       xfs_group_put(xg);
+                       xfs_group_rele(xg);
                        break;
                }
        }