Re: Volume Managers in Linux

Brandon S. Allbery KF8NH (allbery@kf8nh.apk.net)
Tue, 03 Nov 1998 19:27:46 -0500


In message <19981103214553.D12914@nodonn.cloud9.co.uk>, James Fidell writes:
+-----
| > is the way to do that. However, allowing ext2 to be able to support
| > filesystems which span multiple block devices is a good thing to do, and
| > a cleaner way of supporting multivolume support. Examples of
|
| What "feels wrong" about this to me is that all fs implementations are
| then required to implement multiple device spanning, or they can't be
| used on spanning partitions at all.
+--->8

But a "dumb" implementation means the fs doesn't know what the md layer is
doing to its reads and writes and can easily result in an inefficient
filesystem. What's really needed is a way for the fs and md layers to
communicate with each other by means of an API where the fs can "hint" that
it would like certain data to be stored near or separate from other data,
and can find out the underlying "stripe" size so it can lay out e.g.
cylinder groups or log blocks optimally. Also, it should be possible for
the fs to suggest different write behavior for log blocks, inodes, file
data, etc., so the md can schedule physical I/O better from both safety and
performance standpoints.

| Conceptually it seems simpler to have the virtual layer which understands
| how to span multiple partitions, but which looks like a block device from
| the "user" view, thus allowing any filesystem type to be used upon it, be
+--->8

Simpler, yes, but this hurts if the fs's concept of the location of a block
differs substantially from the md's concept.

-- 
brandon s. allbery	[os/2][linux][solaris][japh]	 allbery@kf8nh.apk.net
system administrator	     [WAY too many hats]	   allbery@ece.cmu.edu
carnegie mellon / electrical and computer engineering			 KF8NH
			  Kiss my bits, Billy-boy.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/