Btrfs: recover balance on mount
authorIlya Dryomov <idryomov@gmail.com>
Mon, 16 Jan 2012 20:04:48 +0000 (22:04 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 16 Jan 2012 20:04:48 +0000 (22:04 +0200)
commit596410151ed71819b9e8a8018c6c9992796b256d
treeff697d01a6dd8cf50b37b3855e40764335be044d
parent0940ebf6b92ea10a6f30ae5ac3993a3b75745da6
Btrfs: recover balance on mount

On mount, if balance item is found, resume balance in a separate
kernel thread.

Try to be smart to continue roughly where previous balance (or convert)
was interrupted.  For chunk types that were being converted to some
profile we turn on soft convert, in case of a simple balance we turn on
usage filter and relocate only less-than-90%-full chunks of that type.
These are just heuristics but they help quite a bit, and can be improved
in future.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/btrfs/disk-io.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h