Provide a fallback for scrub code trying to scrub RTG 0 when it doesn't
actually exist for a file system with the RTGROUPS feature bit, but without
any RT extents.
Signed-off-by: Christoph Hellwig <hch@lst.de>
case ST_RTGROUP:
if (sm->sm_ino || sm->sm_gen)
goto out;
- if (!xfs_has_rtgroups(mp) && sm->sm_agno != 0)
- goto out;
- if (xfs_has_rtgroups(mp) && sm->sm_agno >= mp->m_sb.sb_rgcount)
- goto out;
+ if (xfs_has_rtgroups(mp)) {
+ if (sm->sm_agno >= mp->m_sb.sb_rgcount) {
+ if (sm->sm_agno == 0)
+ error = -ENOENT;
+ goto out;
+ }
+ } else {
+ if (sm->sm_agno != 0)
+ goto out;
+ }
break;
default:
goto out;