Hi.

What do you think about adding functionality similar to disk's spare
sectors - if a sector die, a new one is assigned from the spare sectors
pool. This will be very helpful especially for laptops, where you have
only one disk. I simulated returning EIO for one sector from a one-disk
pool and as you know system paniced:

panic: ZFS: I/O failure (write on <unknown> off 0: zio 0xc436d400 [L0 zvol 
object] 2000L/2000P DVA[0]=<0:4000:2000> fletcher2 uncompressed LE contiguous 
birth=11 fill=1 
cksum=90519dcb617667ac:e96316f8a73d7efc:8ca812fc04509f9b:9b9632c6959cbd71): 
error 5

From what I saw, ZFS retried to write to this sector once again before
panicing, but why not just try another block? And maybe remember the
problematic block somewhere. Of course this won't safe us when read
operation fails, but should work quite well for writes.

Not sure how vdev_mirror works exactly, ie. if it needs both mirror
components to be identical or if the only guaranty is that they have the
same data, but not exactly in the same place. If the latter, proposed
mechanism could be also used as a part of the self-healing process, I
think.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
[EMAIL PROTECTED]                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgpsXiWvpsM1G.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to