
|
[openbeosstorage]
||
[Date Prev]
[06-2003 Date Index]
[Date Next]
||
[Thread Prev]
[06-2003 Thread Index]
[Thread Next]
[openbeosstorage] Re: My Usual Confusion
- From: Tyler Dauwalder <tyler@xxxxxxxxxxxxx>
- To: openbeosstorage@xxxxxxxxxxxxx
- Date: Tue, 17 Jun 2003 12:07:51 -0700
On 2003-06-17 at 11:32:51 [-0700], Ingo Weinhold wrote:
> On Sun, 15 Jun 2003 14:41:43 -0700 Tyler Dauwalder
> <tyler@xxxxxxxxxxxxx
> > wrote:
> [...]
> > > So, it is indeed a not
> > > completely trivial task to pick the right type given a child disk
> > > system. Since, as I believe, more or less all partitioning systems
> > > provide an identifier for the content type of a partition,
> > > something
> > > similar has to be done for all partitioning system modules.
> >
> > Well, we'll need a way to map DiskDeviceType.h types to partition
> > types, anyway, correct? I mean, shouldn't there be a one to one
> > mapping
> > of DiskDeviceType.h types to partition types?
>
> Yes, that's what I think, too.
>
> > Either the partitioning
> > systems need to know how to map their types given a DiskDeviceType.h
> > type, or the file systems need to know their correct partition types
> > for each partitioning system...
>
> The latter sounds very scary. Then we would lose the nice independence
> of partitioning and file systems. Given a DiskDeviceType.h type, the
> partitioning system should try its best to map it to an actual
> representation.
So then, shouldn't the partitioning system be able to pick a type at
initialization time like I originally intended?
> > > > I don't like that idea, unless
> > > > you have some compelling arguments otherwise. I don't really
> > > > think
> > > > we
> > > > need it, and don't currently think we'd gain anything by going
> > > > that
> > > > route.
> > >
> > > I have at least some arguments to be evaluated.
> > >
> > > 1) As mentioned above, the parent disk system will be involved
> > > (and
> > > the
> > > parent partition modified), when a child is being initialized. The
> > > parent system must known all possible child types. Not only child
> > > disk
> > > systems, but child types. The different flavors of FAT for
> > > instance
> > > result in different intel partition types, while there's probably
> > > only
> > > one FAT file system module. I'm afraid, that means analyzing the
> > > initialization parameters for the child disk system, which I don't
> > > like
> > > that much. KDiskSystem::ValidateInitialize() could get an optional
> > > parameter, through which the corresponding type is returned. Then
> > > this
> > > type could be passed to the parent system instead.
> >
> > By `corresponding type', are you meaning the DiskDeviceTypes.h type?
>
> Yes.
Then perhaps the optional parameter would be a good idea.
> > > 2) Implementation-wise things would be less uniform, since the
> > > partitioning system would have to apply changes to the parent
> > > shadow
> > > partition on an initialization request from userland.
> >
> > Okay.
> >
> > > 3) Wouldn't DriveSetup be less convenient and/or powerful? I
> > > suspect,
> > > it won't be possible to e.g. create a ReiserFS partition, but
> > > don't
> > > initialize it (the add-on may be read-only anyway). This is even a
> > > bit
> > > inconsistent, since in the intel case the newly created partition
> > > will
> > > have a certain type (unless there's a value for `undefined', which
> > > I
> > > haven't seen till now).
> >
> > How about 0xo0? Linux treats it as unformatted, Windows ignores it,
> > and
> > partition magic treats it as unpartitioned space.
>
> 0x00 indicates an empty partition descriptor. All other values should
> be set to 0 by writing systems and ignored by reading systems
> (according to the specification I read). I wouldn't want to use it as
> a
> vehicle in our case.
Okay, fair enough.
So, I'm not sure where we stand on things now. :-) Are you planning on
combining child creation and initialization, or...
-Tyler
|

|