Go to the FreeLists Home Page Home Signup Help Login
 



[openbeosstorage] || [Date Prev] [04-2003 Date Index] [Date Next] || [Thread Prev] [04-2003 Thread Index] [Thread Next]

[openbeosstorage] Re: DiskDevice API 2.2 remarks

  • From: "Ingo Weinhold" <bonefish@xxxxxxxxxxxxxxx>
  • To: openbeosstorage@xxxxxxxxxxxxx
  • Date: Sun, 06 Apr 2003 16:13:58 +0200 CEST
"Ingo Weinhold" <bonefish@xxxxxxxxxxxxxxx> wrote:

*sigh* My mail is completely mangled again. Tyler, I remember, Axel 
said, there would possibly be a mailing list setting=3F Have you had a 
closer look=3F

Now I see, that this actually isn't the mail, I wanted to reply to. 
Doesn't matter...

BDiskDeviceJob: I would replace Finished() with Status() (or just add 
the latter). A valid status would be one of:

B=5FDISK=5FDEVICE=5FJOB=5FUNINITIALIZED
B=5FDISK=5FDEVICE=5FJOB=5FSCHEDULED
B=5FDISK=5FDEVICE=5FJOB=5FIN=5FPROGRESS
B=5FDISK=5FDEVICE=5FJOB=5FIN=5FSUCCEEDED
B=5FDISK=5FDEVICE=5FJOB=5FIN=5FFAILED
(B=5FDISK=5FDEVICE=5FJOB=5FIN=5FCANCELED=3F)

CU, Ingo

Original mail edited for readability (replacing question marks is a bit 
of fighting wind mills, but... ;-):

> some more thoughts on the updated DiskDevice API.
> 
> BDiskDevice:
> -----------
> 
> * const char* DeviceType() const;
>   -----
> 
> BDiskDeviceRoster:
> -----------------
> 
> * `Do we want visit functions for disk systems and/or jobs=3F'
>   -> no, overkill
> 
> BDiskDisk:
> ---------
> 
> * What meaning has the `checkOnly' flag of SupportsRepairing()=3F Same 
> in 
> BPartition::[Can]Repair().
> 
> BPartition:
> ----------
> 
> * VisitSubtree(): I thought, we agreed on VisitEachDescendent()=3F
> 
> * CanResizeWhileMounted(): I'd rather add a boolean return parameter 
> to 
> CanResize().
> 
> * GetParameterEditor(): What was `parentEditor' needed for again=3F I 
> suspect, in case of a partition with a FS, it is an editor for the 
> partition properties, while `editor' would provide FS parameter 
> editing.
> 
> * SetParameters(): Two editors, hence two parameter strings. :-)
> 
> * CanInitialize(): Should get a `const char *diskSystem' parameter.
> 
> * ValidateSetParameters(), ValidateInitialize(): I don't think, they 
> make much sense. For one, the `parameters' parameter is not very 
> helpful -- the supplied argument can not be delete, nor the value 
> returned for it instead. More importantly, the only way to get a 
> parameter string is to ask a parameter editor. And it should be safe 
> to 
> assume that it won't return nonsense. If the API user supplies an 
> invalid string, the job simply fails.
> 
> * CreateChild(): I'd add a `BPartition **child' parameter for 
> convenience. I wonder, why parameters aren't needed anymore.
> 
> * DeleteChild(): The index is missing. It may be better to introduce 
> [Can]Delete() instead (or additionally).
> 
> Now, I finally know, what bothered me a bit. A partition actually has 
> two types, an outer and inner type. The former one is assigned by the 
> parent partition, while the latter one describes the contents. The 
> same 
> holds, of course, for the parameters. I wonder, if we should make 
> that 
> explicit in the API and have Type() and ContentType(). That way we 
> could also drop the BDiskDevice::DeviceType(). CanEditParameters(), 
> GetParameterEditor() and SetParameters() would each get a second, 
> `Content', version.
> What do you think=3F







[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.