summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ulist.c
diff options
context:
space:
mode:
authorMiao Xie <miaox@cn.fujitsu.com>2014-11-14 09:06:25 +0100
committerMiao Xie <miaox@cn.fujitsu.com>2014-12-03 03:18:46 +0100
commit2c8cdd6ee4e7f637b0486c6798117e7859dee586 (patch)
treeae10c7af5f98e4b60d55676b8d59b8b543980ae8 /fs/btrfs/ulist.c
parentBtrfs, raid56: support parity scrub on raid56 (diff)
downloadlinux-2c8cdd6ee4e7f637b0486c6798117e7859dee586.tar.xz
linux-2c8cdd6ee4e7f637b0486c6798117e7859dee586.zip
Btrfs, replace: write dirty pages into the replace target device
The implementation is simple: - In order to avoid changing the code logic of btrfs_map_bio and RAID56, we add the stripes of the replace target devices at the end of the stripe array in btrfs bio, and we sort those target device stripes in the array. And we keep the number of the target device stripes in the btrfs bio. - Except write operation on RAID56, all the other operation don't take the target device stripes into account. - When we do write operation, we read the data from the common devices and calculate the parity. Then write the dirty data and new parity out, at this time, we will find the relative replace target stripes and wirte the relative data into it. Note: The function that copying old data on the source device to the target device was implemented in the past, it is similar to the other RAID type. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Diffstat (limited to 'fs/btrfs/ulist.c')
0 files changed, 0 insertions, 0 deletions