Date: Wed, 13 Oct 1999 10:38:35 -0700 From: Kirk McKusick <mckusick@flamingo.McKusick.COM> To: Julian Elischer <julian@whistle.com> Cc: freebsd-arch@freebsd.org Subject: Re: The eventual fate of BLOCK devices. Message-ID: <199910131738.KAA18428@flamingo.McKusick.COM> In-Reply-To: Your message of "Tue, 12 Oct 1999 15:27:54 PDT." <Pine.BSF.4.10.9910121522180.15048-100000@current1.whistle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Date: Tue, 12 Oct 1999 15:27:54 -0700 (PDT) From: Julian Elischer <julian@whistle.com> To: Kirk McKusick <mckusick@flamingo.McKusick.COM> cc: freebsd-arch@freebsd.org Subject: Re: The eventual fate of BLOCK devices. In-Reply-To: <199910122014.NAA15822@flamingo.McKusick.COM> (CC list trimmed to 'freebsd-arch') On Tue, 12 Oct 1999, Kirk McKusick wrote: > I would like to take a step back from the debate for a moment and > ask the bigger question: How many real-world applications actually > use the block device interface? I know of none whatsoever. All the > filesystem utilities go out of their way to avoid the block device > and use the raw interface. Does anyone on this list know of any > programs that need/want the block interface? If there are none, or > only very obscure ones, then it seems pointless to waste any kernel > code supporting them. Indeed it will clean up a good deal of code > to get rid of them. The question is, "How much code will it clear up?" The opinions differ. And, just because we can't point out one at the moment doesn't mean that there aren't any. If no one on the list can think of any use, I doubt that there is one. Just because there might some day be a use is not enough reason to have an interface. BSD has stayed lean and mean (relative to the commercial Unix varients) by actively throwing out decrepit interfaces. If we revert to the vendor `keep every interface that we ever put in the kernel for fear of upsetting some legacy application' we will end up with a bloated, hard to maintain, hard to evolve system. We have pitched far more heavily used interfaces than block devices and been better for it. There is also the issue of Posix standards etc. is a 'Unix' supposed to have two kinds of devices? the standards certainly define block and character devices. might a process use block devices as a mething of allowing caching between multiple co-operating processes? > > Kirk McKusick > Julian Posix defines that there are two types. It says absolutely nothing about the semantics of the two types. It does not require that you have both types, merely that you be able to report them if they are there. As for maintaining caching between processes, we already have two ways of doing that. FIFO's (a descriptor I/O based method) and shared memory (obtained via mmap). We do not need another descriptor based method. Kirk McKusick To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199910131738.KAA18428>