Shrinking Support: Difference between revisions
Line 30: | Line 30: | ||
* The xfs_reno too, see [[Unfinished_work#The_xfs_reno_tool]] | * The xfs_reno too, see [[Unfinished_work#The_xfs_reno_tool]] | ||
* An untested patch from Dave Chinner for a xfs_swap_inodes ioctl that allows to not just defragment extents but moving the whole inode [http://marc.info/?l=linux-xfs&m=119552278931942&w=2] and a patch to xfs_reno to use it from Ruben Porras [http://marc.info/?l=linux-xfs&m=119582841808985&w=2] |
Revision as of 18:25, 21 December 2008
Currently XFS Filesystems can't be shrunk.
To suppor shrinking XFS filesystems a few thinks needs to be implemented, based on a list by Dave Chinner [1]:
- An ioctl or similar interface to prevent new allocations from a given allocation group.
- A variant of the xfs_reno tool to support moving inodes out of filesystem areas that go away.
- A variant of the xfs_fsr tool to support moving data out of the filesystem areas that go away.
- An ioctl or similar interface to prevent new allocations from a given allocation group
- Some way to move out orphan metadata out of the AGs truncated off
- A transaction to shrink the filesystem.
At that point, we'll got a "working" shrink that will allow shrinking to only 50% of the original size because the log will get in the way. To fix that, we'll need to implement transactions to move the log...
Available pieces
- A script from Ruben Porras to check if enough free space is available to support shrinking [[2]]
- A patch from Ruben Porras to allow / disallow allocation from an allocation group [3] plus userspace support for setting / clearing it [4]
- The xfs_fsr tool in xfsprogs
- The xfs_reno too, see Unfinished_work#The_xfs_reno_tool