Btrfs: simplfy calculation of stripe length for discard operation
authorLi Zefan <lizf@cn.fujitsu.com>
Thu, 1 Dec 2011 06:06:42 +0000 (14:06 +0800)
committerLi Zefan <lizf@cn.fujitsu.com>
Wed, 11 Jan 2012 02:26:46 +0000 (10:26 +0800)
commitec9ef7a13be4dcce964c8503e8999087945e5b9e
treeafd97976c76c45fca7b659f8d81cbcd4995d2a7e
parentde11cc12df17337979e0929d2831887432f236ca
Btrfs: simplfy calculation of stripe length for discard operation

For btrfs raid, while discarding a range of space, we'll need to know
the start offset and length to discard for each device, and it's done
in btrfs_map_block().

However the calculation is a bit complex for raid0 and raid10, so I
reimplement it based on a fact that:

        dev1          dev2           dev3    (raid0)
        -----------------------------------
        s0 s3 s6      s1 s4 s7       s2 s5

Each device has (total_stripes / nr_dev) stripes, or plus one.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
fs/btrfs/volumes.c