I know that XFS doesn't/didn't support filesystem resizing that involves
making the filesystem smaller.
What are the technical hurdles faced if such a program were to be written?
Or would this be fairly obvious from reading the filesystem specification?
Just working from assumptions (perhaps wrong) would be that you would
have to find all files/inodes that are contained in the space that you
need to want to truncate from your filesystem. Do some something
similar to defragment/move those file into the non-truncated space. And
then rewrite the XFS "superblock"?
Is the biggest challenge then finding the files that are in this space?
Telling the filesystem it is smaller? Moving/defragmenting the files?
Due to limitations on how the code chooses where to write it's next
blocks? Having to sort all the files on the filesystem?
Just some random thoughts that came to me about resizing. This would be
a good thing for LVM if I remember, and I was more or less curious why
there isn't a tool (and then assumed that there wasn't one because it
was hard to do due to a design decision).
-Mike
|