On 03/31/2018 09:43 AM, Zygo Blaxell wrote: >> The key is that if a data write is interrupted, all the transaction >> is interrupted and aborted. And due to the COW nature of btrfs, the >> "old state" is restored at the next reboot.
> This is not presently true with raid56 and btrfs. RAID56 on btrfs uses > RMW operations which are not COW and don't provide any data integrity > guarantee. Old data (i.e. data from very old transactions that are not > part of the currently written transaction) can be destroyed by this. Could you elaborate a bit ? Generally speaking, updating a part of a stripe require a RMW cycle, because - you need to read all data stripe (with parity in case of a problem) - then you should write - the new data - the new parity (calculated on the basis of the first read, and the new data) However the "old" data should be untouched; or you are saying that the "old" data is rewritten with the same data ? BR G.Baroncelli -- gpg @keyserver.linux.it: Goffredo Baroncelli <kreijackATinwind.it> Key fingerprint BBF5 1610 0B64 DAC6 5F7D 17B2 0EDA 9B37 8B82 E0B5 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html