OpenSolaris

Printable Version Enter a New Search
Bug ID 6759999
Synopsis resilver logic rewrites ditto blocks on both source and destination
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:zfs
Keywords
Responsible Engineer Jeff Bonwick
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_105
Fixed In snv_105
Release Fixed solaris_nevada(snv_105) , solaris_10u8(s10u8_01) (Bug ID:2176241)
Related Bugs 6722540 , 6794570
Submit Date 16-October-2008
Last Update Date 22-April-2009
Description
While working on something else, I noticed that if you have a mirror of two devices, A and B, and you need to resilver B, you end up getting writes to A as well -- not nearly as many, but not zero like you'd expect:

# zpool destroy boo
# zpool create boo mirror /var/tmp/a /var/tmp/b
# zpool offline boo /var/tmp/b
# mkfile 100m /boo/hoo
# sync
# zpool online boo /var/tmp/b 
# zpool status -v boo
  pool: boo
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
	attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
	using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://www.sun.com/msg/ZFS-8000-9P
 scrub: resilver completed after 0h0m with 0 errors on Wed Oct 15 16:23:26 2008
config:

	NAME            STATE     READ WRITE CKSUM
	boo             ONLINE       0     0     0
	  mirror        ONLINE       0     0     0
	    /var/tmp/a  ONLINE       0     0     0  66K resilvered
	    /var/tmp/b  ONLINE       0 1.15K     0  100M resilvered

errors: No known data errors

Notice the 66K resilvered to side A.
Work Around
N/A
Comments
N/A