All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Liu <jeff.liu@oracle.com>
To: xfs@oss.sgi.com
Subject: [PATCH 00/15] xfs: shrinking support
Date: Fri, 16 Nov 2012 14:44:39 +0800	[thread overview]
Message-ID: <50A5E0D7.6030500@oracle.com> (raw)

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


_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

                 reply	other threads:[~2012-11-16  6:42 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50A5E0D7.6030500@oracle.com \
    --to=jeff.liu@oracle.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.