linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ilya Dryomov <idryomov@gmail.com>
To: linux-btrfs@vger.kernel.org
Cc: Chris Mason <chris.mason@oracle.com>, idryomov@gmail.com
Subject: [PATCH 00/21] Btrfs: restriper
Date: Fri,  6 Jan 2012 16:30:48 +0200	[thread overview]
Message-ID: <1325860269-15013-1-git-send-email-idryomov@gmail.com> (raw)

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


             reply	other threads:[~2012-01-06 14:30 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-06 14:30 Ilya Dryomov [this message]
2012-01-06 14:30 ` [PATCH 01/21] Btrfs: get rid of *_alloc_profile fields Ilya Dryomov
2012-01-06 14:30 ` [PATCH 02/21] Btrfs: introduce masks for chunk type and profile Ilya Dryomov
2012-01-06 14:30 ` [PATCH 03/21] Btrfs: add BTRFS_AVAIL_ALLOC_BIT_SINGLE bit Ilya Dryomov
2012-01-06 14:30 ` [PATCH 04/21] Btrfs: make avail_*_alloc_bits fields dynamic Ilya Dryomov
2012-01-06 14:30 ` [PATCH 05/21] Btrfs: add basic restriper infrastructure Ilya Dryomov
2012-01-06 14:30 ` [PATCH 06/21] Btrfs: add basic infrastructure for selective balancing Ilya Dryomov
2012-01-06 14:30 ` [PATCH 07/21] Btrfs: profiles filter Ilya Dryomov
2012-01-06 14:30 ` [PATCH 08/21] Btrfs: usage filter Ilya Dryomov
2012-01-06 14:30 ` [PATCH 09/21] Btrfs: devid filter Ilya Dryomov
2012-01-06 14:30 ` [PATCH 10/21] Btrfs: devid subset filter Ilya Dryomov
2012-01-06 14:30 ` [PATCH 11/21] Btrfs: virtual address space " Ilya Dryomov
2012-01-06 14:31 ` [PATCH 12/21] Btrfs: do not reduce profile in do_chunk_alloc() Ilya Dryomov
2012-01-06 14:31 ` [PATCH 13/21] Btrfs: implement online profile changing Ilya Dryomov
2012-01-06 14:31 ` [PATCH 14/21] Btrfs: soft profile changing mode (aka soft convert) Ilya Dryomov
2012-01-06 14:31 ` [PATCH 15/21] Btrfs: save balance parameters to disk Ilya Dryomov
2012-01-06 14:31 ` [PATCH 16/21] Btrfs: recover balance on mount Ilya Dryomov
2012-01-12 14:00   ` David Sterba
2012-01-12 14:29     ` Ilya Dryomov
2012-01-06 14:31 ` [PATCH 17/21] Btrfs: add skip_balance mount option Ilya Dryomov
2012-01-06 14:31 ` [PATCH 18/21] Btrfs: allow for pausing restriper Ilya Dryomov
2012-01-06 14:31 ` [PATCH 19/21] Btrfs: allow for cancelling restriper Ilya Dryomov
2012-01-06 14:31 ` [PATCH 20/21] Btrfs: allow for resuming restriper after it was paused Ilya Dryomov
2012-01-06 14:31 ` [PATCH 21/21] Btrfs: add balance progress reporting Ilya Dryomov
2012-01-09  6:50 ` [PATCH 00/21] Btrfs: restriper Marios Titas
2012-01-09 13:44   ` Ilya Dryomov
2012-01-10 18:31     ` Ilya Dryomov
2012-02-14  2:31 ` Jérôme Poulin
2012-02-14 14:18   ` Ilya Dryomov
2012-02-14 16:15     ` Jérôme Poulin
2012-02-14 16:44       ` Ilya Dryomov

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=1325860269-15013-1-git-send-email-idryomov@gmail.com \
    --to=idryomov@gmail.com \
    --cc=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).