Thread (40 messages) 40 messages, 11 authors, 2018-05-03

Re: [PATCH 00/14 RFC] Btrfs: Add journal for raid5/6 writes

From: Duncan <hidden>
Date: 2017-08-03 04:02:25

Liu Bo posted on Wed, 02 Aug 2017 14:27:21 -0600 as excerpted:
quoted
quoted
quoted
It is correct reading this as: all data is written two times ?
If as is being discussed the log is mirrored by default that'd be three 
times...

Parity-raid is slow and of course normally has the infamous write hole 
this patch set is trying to close.  Yes, closing the write hole is 
possible, but for sure it's going to make the performance bite of parity-
raid even worse. =:^(
quoted
quoted
quoted
Or are logged only the stripes involved by a RMW cycle (i.e. if a
stripe is fully written, the log is bypassed )?
For data, only data in bios from high level will be logged, while for
parity, the whole parity will be logged.

Full stripe write still logs all data and parity, as full stripe
write may not survive from unclean shutdown.
Does this matter ? Due to the COW nature of BTRFS if a transaction is
interrupted (by an unclean shutdown) the transaction data are all lost.
Am I missing something ?

What I want to understand, is if it is possible to log only the
"partial stripe"  RMW cycle.
I think your point is valid if all data is written with datacow.  In
case of nodatacow, btrfs does overwrite in place, so a full stripe write
may pollute on-disk data after unclean shutdown.  Checksum can detect
errors but repair thru raid5 may not recover the correct data.
But nodatacow doesn't have checksum...

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help