Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 1996 22:57:39 -0700 (PDT)
From:      asami@freebsd.org (Satoshi Asami)
To:        pjchilds@imforei.apana.org.au
Cc:        bsdscsi@shadows.aeon.net, freebsd-scsi@freebsd.org, ccd@stampede.cs.berkeley.edu
Subject:   Re: striping/mirroring?
Message-ID:  <199610080557.WAA01013@silvia.HIP.Berkeley.EDU>
In-Reply-To: <199609281959.FAA23341@al.imforei.apana.org.au> (message from Peter Childs on Sun, 29 Sep 1996 05:29:13 %2B0930 (CST))

next in thread | previous in thread | raw e-mail | index | archive | help
 *  I'm really quite interested in how you propose to have a mirrored
 *  system where drives can run at different steeds.   Mirror works like
 *  this
 * 
 *  DATA ----> (going to disk) -------+--(and another copy)----+
 *                                    |                        |
 *                                 disk 1                   disk 2
 * 
 *  So if i send some data to the (mirrored) disk, and disk1
 *  is significantly faster than disk2, then disk1 will finish the write
 *  first.... so then do i just let it write more?   Can you see a 
 *  problem with this?   What happens when disk1 is miles ahead.. who
 *  is supposed to keep track of all this data thats queued up for
 *  disk2?  The OS?  And if the disk 1 suddenly fails then you're
 *  screwed, and you fault tolerant system wan't very.

In short, the question is whether return from the write system call
after writing to only one disk or wait for both disks to complete,
right?

FreeBSD's ccd uses the latter method, and NetBSD uses the former (at
least it was that way when they first took our mirror code).  My
reasoning was exactly as you mentioned.

Satoshi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610080557.WAA01013>