Jeff Bonwick wrote:
>> For a synchronous write to a pool with mirrored disks, does the write
>> unblock after just one of the disks' write caches is flushed,
>> or only after all of the disks' caches are flushed?
> The latter. We don't consider a write to be committed until
> the data is on stable storage at full replication.
[snip]

That makes sense, but there's a point at which ZFS must abandon this strategy; 
otherwise, the malfunction of one disk in a 3-way mirror could halt the entire 
system, when what's probably desired is for the system to keep running in 
degraded mode with only 2 remaining functional disks in the mirror.

But then of course there would be the problem of divergent disks in a mirror; 
suppose there's a system with one pool on a pair of mirrored disks, and system 
root is on that pool. The disks are external, with interface cables running 
across the room.
The system is running fine until my dog trips over the cable for disk #2. Down 
goes disk #2, and the system continues running fine, with a degraded pool, and 
during operation continues modifying various files. Later, the dog chews 
through the cable for disk #1. Down goes the system. I don't have a spare 
cable, so I just plug in disk #2, and restart the system. The system continues 
running fine, with a degraded pool, and during operation continues modifying 
various files.
I go to the store to buy a new cable for disk #1, and when I come back, I trip 
over the cable for disk #2. Down goes the system. I plug #2 back in, replace 
the cable for #1, and restart the system. At this point, the system comes up 
with its root on a pool with divergent mirrors, and... ?
 
 
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