Sonny Rao <sonny@xxxxxxxxxxx> writes:
> Interesting, since xfs_fsr already works online, I assume the only
> remaining kernel function requirement is to allow locking off
> allocation to a particular AG while the extents and metadata are moved
> off? Then I assume there's some bookkeeping to get rid of refs to
> that AG, which I guess might be fairly difficult ?
One issue is that you cannot move inodes. The inode number contains
the AG number, and you would need to renumber the inode which
would be fairly intrusive and visible to user space.
One problem used to be that XFS couldn't free any inodes. so you
couldn't get them out of AGs. But SGI added that recently, so it may
be more feasible now.
However to be interesting it would need online shrink, and that will
add lots of interesting races, because basically all operations
would need to check for their AG going away under them. Also changing
inode numbers in this case would be nasty.