[Bug 199804] ZFS: i/o error - all block copies unavailable

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jun 3 11:21:45 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199804

--- Comment #3 from Andriy Gapon <avg at FreeBSD.org> ---
(In reply to Toomas Soome from comment #2)

I think this fix is not completely correct.
Now you use the data block size as the hole size. I think that the hole size
should be determined based on the level of the hole. Essentially, if the hole
is at the zero level, then it covers dn_datablkszsec * 512 bytes of data (one
data block).  If the hole is one level above, then it covers as many data
blocks as a number of block pointers that fit into one indirect block. And so
on.
Please note that (nlevels - i - 1) is the level number in the loop.
E.g. search for BP_SPAN() that is used elsewhere for the same purpose.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-fs mailing list