[openbeosstorage] Partitioning rethink
- From: Tyler Dauwalder <tyler@xxxxxxxxxxxxx>
- To: openbeosstorage@xxxxxxxxxxxxx
- Date: Mon, 10 Mar 2003 01:08:04 -0800
Howdy folks,
I've been reading over the UDF specs the last few days, and having
done so (along with just working with the disk_scanner stuff so far),
I'm starting to feel that our borrowed system of
session/partition/filesystem differentiation is a bit inaccurate and
limiting. Here are my thoughts:
+ There is little, if any, real functional difference between
sessions and partitions, other than their levels in the partitioning
tree. Both are a contiguous extent on a device containing some sort
of useful information; sessions are just currently always at level 0,
partitions at level 1. If there is no actual "session" or
"partition", we make up a virtual one to get ourselves up to level 2
where the filesystems all live.
+ Using this system, we're limited to two levels of partitioning. In
most cases, this is enough. But there are few areas where I'm
wondering if this will be too limiting:
1. How are we planning on handling extended partitions in intel
partition maps? Technically, the partitions inside an extended
partition should be at level 2, and their filesystems at level 3. And
one should be able to resize extended partitions using the facilities
we want to provide. Unless I'm missing something, there's no good way
to accurately express the relationship of extended partitions to
their child partitions using our current scheme.
2. UDF supports the concept of multiple volumes *and* (I believe; I'm
still slightly sketchy on this...) multiple partitions in each volume
at the filesystem level. Now, we don't technically *have* to support
those features (there are 3 levels of interchange, and only one must
be supported to be compliant; the lowest level just supports a single
"partition" in a single "volume"), but I don't really see any great
reason not too (particularly since most DVD media does not support
more than a single session with a single track, meaning UDF
partitions are the only way to support multiple volumes on a single
DVD). And if we do, say someone puts a UDF volume with multiple
partitions on a hard disk, inside an intel partition that's inside an
extended partition (not likely, but plausible)? Our current
session/partition/filesystem partitioning scheme will fall short of
describing what's actually going on.
Therefore, it seems reasonable to me to consider switching to a more
general partitioning scheme that allows for an arbitrary level of
nested partitions. CD/DVD sessions would be treated as one type of
partition, as would intel partitions, UDF volumes and partitions,
etc. Instead of having session/partition/filesystem modules, we'd
either have just one type of recognizer, or possibly device property
based recognizers used only at level 0 (a la CD/DVD sessions, where
the partition data isn't part of the data stream) and data stream
based recognizers used everywhere else (a la intel partitions,
iso9660, etc.). Thoughts?
On a side note, I'm now really excited about supporting UDF in BeOS;
the format is designed such that we'll be able to burn file
attributes along with regular file data and still have the files
accessible from other OSes. And I believe relevant indices could also
be burned as well. :-)
-Tyler
p.s. In case you're curious, I've emailed you both the ecma standard
that UDF is a specialization of (incidentally Axel, it turns out that
this is that "other" standard I was looking at a few meetings ago
while trying to figure out iso9660 volume set stuff... I had no idea
at the time it was used by UDF :-). The UDF standard itself is at
http://www.osta.org
- Follow-Ups:
- [openbeosstorage] Re: Partitioning rethink
- From: Ingo Weinhold
Other related posts:
- » [openbeosstorage] Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- » [openbeosstorage] Re: Partitioning rethink
- [openbeosstorage] Re: Partitioning rethink
- From: Ingo Weinhold