[openbeosstorage] Re: BDiskSystem::Supports*()/Validate*()

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: openbeosstorage@xxxxxxxxxxxxx
  • Date: Thu, 24 Jul 2003 04:37:52 +0200 CEST

"Ingo Weinhold" <bonefish@xxxxxxxxxxxxxxx> wrote:
> Anyway, I've been mulling over the question whether e.g. the pieces 
> of 
> information the BDiskSystem::SupportsResizing[Child]() methods return 
> are actually useful for the API user. And I came to the conclusion, 
> that they are indeed. E.g. if you have a primary or logical intel 
> partition -- for which resizing will be implemented in the not so 
> distant future -- being formatted with BFS -- which doesn't support 
> resizing -- DriveSetup should nevertheless offer you the option to 
> resize the partition. Warning you, of course, that it will destroy 
> the 
> data on the partition.

If you enlarge an existing partition, BFS won't even notice it (it will 
still operate properly but ignore the extra space).

> So BPartition::Resize() needs something like a `bool force' 
> parameter, 
> indicating, that it shall not fail, when resizing the content fails; 
> or 
> maybe better `bool resizeContents' specifying whether or not to 
> resize 
> the contents. At any rate that would make the semantics of 
> CanResize() 
> a bit confusing, I think (since it will just return false, although 
> calling Resize() is possible). Another parameter might be useful:
> 
>   bool CanResize(bool *canResizeContents, bool *whileMounted = NULL);

I am not sure if I like that way of method calling, even if I might be 
a bit late :)
I think it's strange that a CanResize() call needs and changes boolean 
values.
I would understand a:
enum resize_capabilities {
        B_CAN_RESIZE_ITSELF = 1,
        B_CAN_RESIZE_CONTENTS = 2,
        B_RESIZE_WHILE_MOUNTED = 4
};
and:
bool CanResize();
resize_capabilities ResizeCapabilities();

better (or something to that extend). The functionality itself looks 
good, though :)

>   bool CanMove(bool *canMoveContents, bool *whileMounted = NULL);

same as above.

(just my opinion)

Adios...
   Axel.


Other related posts: