On Thu, 2008-08-07 at 11:14 +0200, Peter Zijlstra wrote:
Thanks, I thought I had removed all the references to it on that page,
but there was one left.
We still don't handle disk full. The IO errors are handled most of the
time. If a checksum doesn't match or the lower layers report an IO
error, btrfs will use an alternate mirror of the block. If there is no
alternate mirror, the caller gets EIO and in the case of a failed csum,
the page is zero filled (actually filled with ones so I can find bogus
pages in an oops).
Metadata is duplicated by default even on single spindle drives, so this
means that metadata IO errors are handled as long as the other mirror is
happy.
If mirroring is off or both mirrors are bad, we currently get into
trouble.
data pages work better, those errors bubble up to userland just like in
other filesystems.
-chris
--