Skip site navigation (1)Skip section navigation (2)
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>