]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: propagate errors from xfs_rtginode_load
authorGuanghui Yang <3497809730@qq.com>
Sun, 12 Jul 2026 03:42:56 +0000 (03:42 +0000)
committerCarlos Maiolino <cem@kernel.org>
Mon, 20 Jul 2026 09:17:32 +0000 (11:17 +0200)
xfs_rtginode_ensure() treats every xfs_rtginode_load() error other than
-ENOENT as success.  This can leave the realtime group inode unset after an
I/O, allocation, or corruption error.  Growfs then continues as though the
inode had been loaded.

Only -ENOENT means that the inode needs to be created.  Return all other
errors to the growfs caller.

Fixes: ae897e0bed0f ("xfs: support creating per-RTG files in growfs")
Cc: stable@vger.kernel.org
Signed-off-by: Guanghui Yang <3497809730@qq.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_rtalloc.c

index 7a3f97686989dfe4a79c7949fe42370e2ce41126..84efe5a8fb11d8a494347afb81a5163b0efb784b 100644 (file)
@@ -737,7 +737,7 @@ xfs_rtginode_ensure(
        xfs_trans_cancel(tp);
 
        if (error != -ENOENT)
-               return 0;
+               return error;
        return xfs_rtginode_create(rtg, type, true);
 }