Tomasz Chmielewski
2013-Aug-29 19:01 UTC
"btrfs device delete missing" - why does it write on healthy device?
So I''ve removed a missing device, which took some time: # time btrfs device delete missing /home real 1512m33.763s user 0m0.000s sys 121m37.740s OK, it needs time, fine. And shifted quite large amounts of data: Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn sda 347.00 0.37 16.24 34050 1512249 sdb 910.89 13.46 18.77 1252768 1747442 New device was sda - so it''s expected it wrote quite a lot of data there. But why did it write so much on sdb (even more than on sda)? With software RAID-1, when replacing a failed device, the amount of reads from one drive is equal to the writes on the other drive; there is no writing on the healthy drive. # btrfs filesystem show Label: ''test-btrfs'' uuid: 60f1759c-45f6-4484-9f60-66a4e9bbf2b6 Total devices 2 FS bytes used 1.19TB devid 3 size 2.56TB used 1.19TB path /dev/sdb4 devid 4 size 2.56TB used 1.19TB path /dev/sda4 Btrfs v0.20-rc1-324-g650e656 -- Tomasz Chmielewski http://wpkg.org -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Chris Murphy
2013-Aug-29 19:13 UTC
Re: "btrfs device delete missing" - why does it write on healthy device?
On Aug 29, 2013, at 1:01 PM, Tomasz Chmielewski <tch@virtall.com> wrote:> So I''ve removed a missing device, which took some time: > > # time btrfs device delete missing /home > > real 1512m33.763s > user 0m0.000s > sys 121m37.740s > > OK, it needs time, fine.25 hours seems like a long time …> And shifted quite large amounts of data: > > Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn > sda 347.00 0.37 16.24 34050 1512249… for ~1.5TB.> > But why did it write so much on sdb (even more than on sda)? With > software RAID-1, when replacing a failed device, the amount of reads > from one drive is equal to the writes on the other drive; there is no > writing on the healthy drive.During the balance, chunks are read and re-written normally. Normal for raid1 means it will write two copies of each read chunk, therefore it writes to both devices. I don''t know if it''s possible, or planned, to optimize out the (seemingly) redundant write to the device that already has a legitimate copy. Chris Murphy-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html