]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: add BTRFS_AVAIL_ALLOC_BIT_SINGLE bit
authorIlya Dryomov <idryomov@gmail.com>
Mon, 16 Jan 2012 20:04:47 +0000 (22:04 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 16 Jan 2012 20:04:47 +0000 (22:04 +0200)
commite427780a1ef32419ae5d480f1e0369cf8f59e15f
tree2aebc4d3ef2318a08cb067bb4a597a51e2455a65
parent45116ffa63ae5a7535358dc8cbb60a99bc2ba71c
Btrfs: add BTRFS_AVAIL_ALLOC_BIT_SINGLE bit

Right now on-disk BTRFS_BLOCK_GROUP_* profile bits are used for
avail_{data,metadata,system}_alloc_bits fields, which gather info about
available allocation profiles in the FS.  When chunk is created or read
from disk, its profile is OR'ed with the corresponding avail_alloc_bits
field.  Since SINGLE is denoted by 0 in the on-disk format, currently
there is no way to tell when such chunks become avaialble.  Restriper
needs that information, so add a separate bit for SINGLE profile.

This bit is going to be in-memory only, it should never be written out
to disk, so it's not a disk format change.  However to avoid remappings
in future, reserve corresponding on-disk bit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c