On Fri, Dec 14, 2018 at 05:14:37AM +0000, Duncan wrote: > Adam Borowski posted on Thu, 13 Dec 2018 08:29:05 +0100 as excerpted: > > On Wed, Dec 12, 2018 at 09:31:02PM -0600, Nathan Dehnel wrote: > >> Is it possible/safe to replace a SATA drive in a btrfs RAID10 pool with > >> an SAS drive? > > > > For btrfs, a block device is a block device, it's not "racist". > > You can freely mix and/or replace. If you want to, say, extend a SD > > card with NBD to remote spinning rust, it works well -- tested :p > > FWIW (mostly for other readers not so much this particular case) the > known exception/caveat to that is USB block devices, which do tend to > have problems, tho some hardware is fine. Yeah, but the problem doesn't come from btrfs not supporting or ill supporting USB, just from the devices themselves being flaky. If they supported the spec correctly, all would be ok. An example might be NBD from one of my machines that has an incredibly bad network driver -- it drops packets whenever there's even a bit of memory pressure. That's ok on RX (no different from packet being dropped on the wire, the sender will retransmit) but unacceptable on TX -- it should have slept instead; NBD (reasonably) can't handle this and destroys the block device. Yet btrfs can handle such an unexpected but clean disconnect just fine -- not even a reboot is needed, I need to unmount, restart NBD then remount. From the filesystem's point of view this is exactly equivalent to a power loss -- that the in-memory copy tried to do some writes afterwards doesn't matter. So it's not just whether the device fails, it's about _how_ it fails. Meow! -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ Ivan was a worldly man: born in St. Petersburg, raised in ⢿⡄⠘⠷⠚⠋⠀ Petrograd, lived most of his life in Leningrad, then returned ⠈⠳⣄⠀⠀⠀⠀ to the city of his birth to die.
