On 08/14/2017 09:08 PM, Chris Murphy wrote:
> On Mon, Aug 14, 2017 at 8:23 AM, Goffredo Baroncelli <kreij...@inwind.it> 
> wrote:
> 
>> Form a theoretical point of view, if you have a "PURE" COW file-system, you 
>> don't need a journal. Unfortunately a RAID5/6 stripe update is a RMW cycle, 
>> so you need a journal to keep it in sync. The same is true for the NOCOW 
>> file (and their checksums)
>>
> 
> I'm pretty sure the raid56 rmw is in memory only, I don't think we
> have a case where a stripe is getting partial writes (a block in a
> stripe is being overwritten). Partial stripe updates with rmw *on
> disk* would mean Btrfs raid56 is not CoW.
> 

I am not sure about that. Consider the following cases:
- what if we have to wrote less than a stripe ?
- supposing to remove a file with length of 4k. If you don't allow a RMW cycle, 
this means the space would be lost forever....

Pay attention that the size of a stripe (theoretically) could be quite big: 
suppose to have an (insanely) raid compose by 20disks, the stripe would be 
about 20*64k = ~1.2MB....)

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

Reply via email to