fs/xfs/xfs_rtalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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>
---
fs/xfs/xfs_rtalloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c
index 7a3f97686989..84efe5a8fb11 100644
--- a/fs/xfs/xfs_rtalloc.c
+++ b/fs/xfs/xfs_rtalloc.c
@@ -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);
}
--
2.34.1
On Sun, 12 Jul 2026 03:42:56 +0000, Guanghui Yang wrote:
> 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.
>
> [...]
Applied to for-next, thanks!
[1/1] xfs: propagate errors from xfs_rtginode_load
commit: b7e53968cb8882c2d276429ea8550848a4940874
Best regards,
--
Carlos Maiolino <cem@kernel.org>
Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On Sun, Jul 12, 2026 at 03:42:56AM +0000, Guanghui Yang wrote:
> 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>
Yeah, that's correct
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> fs/xfs/xfs_rtalloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c
> index 7a3f97686989..84efe5a8fb11 100644
> --- a/fs/xfs/xfs_rtalloc.c
> +++ b/fs/xfs/xfs_rtalloc.c
> @@ -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);
> }
>
> --
> 2.34.1
>
© 2016 - 2026 Red Hat, Inc.