Hello,

This is a respin of restriper patch series which adds an initial
implementation of restriper (it's a clever name for relocation framework
that allows to do selective profile changing and selective balancing
with some goodies like pausing/resuming and reporting progress to the
user).  See userspace cover patch for usage examples.

Changes from posted RFC include minor fixes to address received feedback
and some minor fixes of my own: improved inline comments, pause and
cancelling enhancements to eliminate race conditions, a better
validation of user input, some error reporting and error handling fixes.
Also I did s/restripe/balance to not introduce yet another term into
btrfs.  So nothing major, but the diff got quite large because of the
rename and some code movements.

The series is on top of 3.1 + for-linus, available at:

git://github.com/idryomov/btrfs-unstable.git restriper

Thanks,

                Ilya


Ilya Dryomov (21):
  Btrfs: get rid of *_alloc_profile fields
  Btrfs: introduce masks for chunk type and profile
  Btrfs: add BTRFS_AVAIL_ALLOC_BIT_SINGLE bit
  Btrfs: make avail_*_alloc_bits fields dynamic
  Btrfs: add basic restriper infrastructure
  Btrfs: add basic infrastructure for selective balancing
  Btrfs: profiles filter
  Btrfs: usage filter
  Btrfs: devid filter
  Btrfs: devid subset filter
  Btrfs: virtual address space subset filter
  Btrfs: do not reduce profile in do_chunk_alloc()
  Btrfs: implement online profile changing
  Btrfs: soft profile changing mode (aka soft convert)
  Btrfs: save balance parameters to disk
  Btrfs: recover balance on mount
  Btrfs: add skip_balance mount option
  Btrfs: allow for pausing restriper
  Btrfs: allow for cancelling restriper
  Btrfs: allow for resuming restriper after it was paused
  Btrfs: add balance progress reporting

 fs/btrfs/ctree.h       |  205 ++++++++++++-
 fs/btrfs/disk-io.c     |   18 +-
 fs/btrfs/extent-tree.c |  128 ++++++--
 fs/btrfs/ioctl.c       |  193 +++++++++++-
 fs/btrfs/ioctl.h       |   55 ++++
 fs/btrfs/super.c       |   11 +-
 fs/btrfs/volumes.c     |  803 +++++++++++++++++++++++++++++++++++++++++++++---
 fs/btrfs/volumes.h     |   50 +++-
 8 files changed, 1365 insertions(+), 98 deletions(-)

-- 
1.7.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to