xfs
[Top] [All Lists]

[PATCH 00/15] xfs: shrinking support

To: xfs@xxxxxxxxxxx
Subject: [PATCH 00/15] xfs: shrinking support
From: Jeff Liu <jeff.liu@xxxxxxxxxx>
Date: Fri, 16 Nov 2012 14:44:39 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121028 Thunderbird/16.0.2
Hello,

These days I have tried to implement shrinkfs feature according to Dave's 
previous design which can
be found at:
http://www.xfs.org/index.php/Shrinking_Support

Here is a very initial patch set, it only support shrinking up to the latest 
empty AG since
I have not add the data moving and extents swap functions to the user tools.

I know the current patches definitely looks stupid and there have many places 
need to fix.
I'd like to post it eaiser to seek any directions so that I can continue to 
improve it, especially
on inode swap semantics, AG metadata removing as well as the command interface.

- xfs_reno(8) 
The following two links are referred to a couple of untested patches of inode 
swapping for xfs_reno(8).
http://marc.info/?l=linux-xfs&m=119552278931942&w=2
http://marc.info/?l=linux-xfs&m=119582841808985&w=2

The user patch does extents swapping after swapping inodes, I was confused 
because xfs_reno only do
modify the inodes from 64bits to 32bits, inodes swap should be sufficient to 
perform it since it
don't need to move the data extents(i.e. perform extents/blocks allocation for 
target files like
xfs_fsr/xfs_shrinkfs).

- AG metadata clean up
For now, I only wipe the pre-allocated sectors/blocks out of an empty AG, I 
guess I missed something
for btree info updates.

- xfs_shrinkfs CLI
I observed Dave has posted a patch to fetch the FS freespace via FIEMAP, but 
for now, I have to get the FS freespace
via shell script(wrapper of xfs_db).
And also, I didn't add the data moving functions because there still has issues 
on inode swap routine, it would
failed to swap directories :(, so it can only be used to reflect my current 
stupid ideas.

Last but not the least, I have not add the placeholder for log area shrink as 
well as compat_ioctl32 functions since
this version can only be considered at input comments stage.


Any suggestions are appreciated!

Thanks,
-Jeff


<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 00/15] xfs: shrinking support, Jeff Liu <=