Shrinking Support: Difference between revisions

From xfs.org
start collectiong the bits and pieces
Line 25: Line 25:
* A script from Ruben Porras to check if enough free space is available to support shrinking [[http://marc.info/?l=linux-xfs&m=118581682117599&w=2]]
* A script from Ruben Porras to check if enough free space is available to support shrinking [[http://marc.info/?l=linux-xfs&m=118581682117599&w=2]]


* A patch from Dave Chinner to allow / disallow allocation from an allocation group [http://marc.info/?l=linux-xfs&m=118181261313174&w=2]
* A patch from Ruben Porras to allow / disallow allocation from an allocation group [http://marc.info/?l=linux-xfs&m=118302806818420&w=2] plus userspace support for setting / clearing it [http://marc.info/?l=linux-xfs&m=118881137031101&w=2]
 
* The xfs_fsr tool in xfsprogs
 
* The xfs_reno too, see [[Unfinished_work#The_xfs_reno_tool]]

Revision as of 18:19, 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