From owner-freebsd-scsi Mon Oct 7 23:02:09 1996 Return-Path: owner-freebsd-scsi Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id XAA17510 for freebsd-scsi-outgoing; Mon, 7 Oct 1996 23:02:09 -0700 (PDT) Received: from silvia.HIP.Berkeley.EDU (wck-ca11-04.ix.netcom.com [204.31.231.164]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id XAA17501 for ; Mon, 7 Oct 1996 23:02:05 -0700 (PDT) Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.7.6/8.6.9) id WAA01013; Mon, 7 Oct 1996 22:57:39 -0700 (PDT) Date: Mon, 7 Oct 1996 22:57:39 -0700 (PDT) Message-Id: <199610080557.WAA01013@silvia.HIP.Berkeley.EDU> To: pjchilds@imforei.apana.org.au CC: bsdscsi@shadows.aeon.net, freebsd-scsi@freebsd.org, ccd@stampede.cs.berkeley.edu In-reply-to: <199609281959.FAA23341@al.imforei.apana.org.au> (message from Peter Childs on Sun, 29 Sep 1996 05:29:13 +0930 (CST)) Subject: Re: striping/mirroring? From: asami@freebsd.org (Satoshi Asami) Sender: owner-freebsd-scsi@freebsd.org X-Loop: FreeBSD.org Precedence: bulk * 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