Re: DiskDevice API v2.3

Tyler Dauwalder <tyler-cyCl/[email protected]>
Newsgroups gmane.os.openbeos.storage
Message-ID <[email protected]>
> > - 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.