[openbeosstorage] Re: DiskDevice API v2.3

> > - I left the parameters parameter in ValidateCreateChild() in case
> > the child parameters somehow affect the min/max size of the 
> > potential
> > child.
> 
> Makes sense.
> BTW, something feels wrong with the last parameter of
> BPartition::CreateChild(): `**BPartition child'.
> Mmh, I can't get hold of what that could be. ;-)

Geeze, looks fine to me... :-P ;-)

> > -    int32 CommitModifications(bool synchronously = true,
> >         BMessenger progressMessenger = BMessenger(),
> >         bool receiveCompleteProgressUpdates = true,
> >         BMessage *template = NULL);
> > still exists in BDiskDevice. We kind of talked about this 
> > previously,
> > but I was never really convinced we came to a decision. I'm only 
> > kind
> > of comfortable moving it into BPartition. Opinions?
> > 
> > - I haven't done anything about BPartitionableSpace vs.
> > BPartitioningInfo, as that's still on the table.
> 
> It seems we have the following alternatives:
> 
> 1) Leave it as it is. That has the drawbacks, that the information
> would be stored in the BPartition hierarchy being of no interest to 
> the
> user, and requiring some amount of updates, when BPartitions are
> Resize()d or Move()d.
> 
> 2) Introduce a BPartition::GetPartitionableSpaceAt(int32, off_t*, 
> off_t
> *), which would
> a) return a data stored in the BPartition object
> b) retrieve the info from the kernel
> Whereas a) has the same drawbacks as 1) (minus that it does use an
> extra object). b) introduces overhead due to the syscall required per
> invocation. Moreover the partition might change between two calls,
> which probably renders the information invalid. One could simply make
> it a requirement that the partition is locked, though.
> 
> 3) Introduce a BPartitioningInfo with a similar method and a
> BPartition::GetPartitioningInfo() to get it. Similar to 2 b), with 
> less
> syscalls though (one per GetPartitioningInfo()).
> 
> 4) Drop the whole partitionable space idea.
> 
> 2 b) and 3) would be my favorites.

Well, somehow I managed to miss the fact that GetPartitioningInfo() 
lives in BPartition, and that's the only thing about it I didn't like 
(the imaginary fact that it *didn't* live there :-). So lets go with 
3) then. :-)

-Tyler


Other related posts: