I have some code that implements background media scanning so I am able to 
detect bad blocks well before zfs encounters them.   I need a script or 
something that will map the known bad block(s) to a logical block so I can 
force zfs to repair the bad block from redundant/parity data.

I can't find anything that isn't part of a draconian scanning/repair mechanism. 
  Granted the zfs architecture can map physical block X to logical block Y, Z, 
and other letters of the alphabet .. but I want to go backwards. 

2nd part of the question .. assuming I know /dev/dsk/c0t0d0 has an ECC error on 
block n, and I now have the appropriate storage pool info & offset that 
corresponds to that block, then how do I force the file system to repair the 
offending block.  

This was easy to address in LINUX assuming the filesystem was built on the 
/dev/md driver, because all I had to do is force a read and twiddle with the 
parameters to force a non-cached I/O and subsequent repair.  

It seems as if zfs's is too smart for it's own good and won't let me fix 
something that I know is bad, before zfs has a chance to discover it for 
itself.   :)
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to