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