Shrinking Support: Difference between revisions

From xfs.org
New page: 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 [http://marc.info/?l=linux-xfs&m=11913...
 
start collectiong the bits and pieces
Line 1: Line 1:
Currently XFS Filesystems can't be shrunk.
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 [http://marc.info/?l=linux-xfs&m=119131697224361&w=2]:
To suppor shrinking XFS filesystems a few thinks needs to be implemented, based on a list by Dave Chinner [http://marc.info/?l=linux-xfs&m=118091640624488&w=2]:


* An ioctl or similar interface to prevent new allocations from a given allocation group.
* An ioctl or similar interface to prevent new allocations from a given allocation group.
Line 19: Line 19:
get in the way. To fix that, we'll need to implement transactions
get in the way. To fix that, we'll need to implement transactions
to move the log...
to move the log...
== Available pieces ==
* 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]

Revision as of 18:15, 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 Dave Chinner to allow / disallow allocation from an allocation group [3]