Date: Tue, 6 Feb 2001 12:27:50 -0800 From: Alfred Perlstein <bright@wintelcom.net> To: Matt Dillon <dillon@earth.backplane.com> Cc: Andre Oppermann <oppermann@monzoon.net>, Rik van Riel <riel@conectiva.com.br>, Mike Silbersack <silby@silby.com>, Poul-Henning Kamp <phk@critter.freebsd.dk>, Charles Randall <crandall@matchlogic.com>, Dan Phoenix <dphoenix@bravenet.com>, Jos Backus <josb@cncdsl.com>, freebsd-hackers@FreeBSD.ORG Subject: Re: soft updates and qmail (RE: qmail IO problems) Message-ID: <20010206122750.T26076@fw.wintelcom.net> In-Reply-To: <200102062018.f16KIdx66146@earth.backplane.com>; from dillon@earth.backplane.com on Tue, Feb 06, 2001 at 12:18:39PM -0800 References: <Pine.LNX.4.21.0102061555550.1535-100000@duckman.distro.conectiva> <3A805035.C71AAD5E@monzoon.net> <200102061943.f16Jhp365113@earth.backplane.com> <3A805938.96ED890D@monzoon.net> <200102062018.f16KIdx66146@earth.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
* Matt Dillon <dillon@earth.backplane.com> [010206 12:19] wrote: > :> banging on unrelated areas of the filesystem in parallel, and an > :> fsync() of one descriptor would have to wait for the entire filesystem > :> to reach a synchronization point to guarentee metadata update ordering. > :> This creates a serious scaleability issue within a filesystem! > : > :Yes, my understanding of the meaning of "ordered meta-date update" as > :I have grasped it from Terry's rants in the past years is not that all > :meta-data updates on a filesystem have to be done one-after-the-other > :but ordered in respect to each other; That a link() happens before a > :unlink() on the same file. Does this make sense? > > If you link() in directory A and unlink() in directory B, you are not > guarenteed that the link in A will sync to the disk before the unlink > in B with regards to a crash occuring. I dont' think the "link() in directory A" syscall will return until it is sync'd (noasync UFS/FFS)! Therefore the unlink() can't happen unless it's being done by another process. Yes, other activity in the same dir can cause corruption, but meta data updates are done via sync writes that won't return until they are complete. Except for corruption, they are ordered. Since you can't IPC during a syscall reliably (you can't signal before because then you have a race, and you can't signal during because the kernel has a grip on your context) they are ordered when related. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010206122750.T26076>