I am reviewing it now.

-Sanjay


On 11/27/09 07:12 AM, William Schumann wrote:
> Sanjay,
> Made 2nd round of changes and issued webrev at:
>    http://cr.opensolaris.org/~wmsch/bug-6590
> Previous webrev at:
>    http://cr.opensolaris.org/~wmsch/bug-6590/oldwebrev2/
>
> Please find my responses below:
>
> Sanjay Nadkarni wrote:
>> On 11/25/09 01:51 PM, William Schumann wrote:
>>> Sanjay,
>>>
>>> Sanjay Nadkarni wrote:
>>>> ...
>>>>>>
>>>>>> auto_parse.c:
>>>>>>    193 and others:
>>>>>>      if p is NULL, wouldn't this be an error.  If so it will not 
>>>>>> be caught.  Similar issues with other parsed values.
>>>>> Errors could occur in auto_parse_manifest.c during tag parsing 
>>>>> that would be ignored.  However, these errors would be very 
>>>>> unlikely, since they would involve a basic breakdown in the 
>>>>> embedded Python interpreter, which has already been invoked to 
>>>>> validate the manifest.   Since fixing this would involve many 
>>>>> changes in three different modules, and since this was not 
>>>>> introduced by iSCSI, I would prefer to file a bug on this and 
>>>>> handle it later at a more appropriate priority.
>>>>
>>>> Sorry for not being clear.  There are 2 issues here:
>>>>
>>>> 1. If you truly believe that p != NULL then why not change them to 
>>>> an assert.
>>> p == NULL when there is no value for the tag in the manifest (as 
>>> well as the Python interpreter errors describe just above). Remember 
>>> that assert() only has an effect in a debug build.  The Python 
>>> errors in auto_parse_manifest.c could have assert()s so that these 
>>> failures would cause assertion failures in a debug build.  Would 
>>> that suffice?
>> Yup that would ok.
> Added asserts for Python failures.
>>>> 2.  Sorry for not being clear.  I was really asking where is the 
>>>> sematic parsing occurring ?
>>> The only semantic parsing with these new values is in 
>>> td_iscsi.c:parse_lun_num(), and even that doesn't report parsing 
>>> problems explicitly.  Parameters that could benefit from some 
>>> semantic validation are: IP address, LUN.  port could be checked for 
>>> absurd values.
>> Sure..but I what I was getting at was dependency between the various 
>> elements that are defined in the .rng file.  They are marked as 
>> optional are they really optional ?   The xor test indicates that 
>> there is a dependency/requirement or am I mistaken ?
> Not at all.
>
> I addressed this in detail in my response to Ethan.  To summarize, 
> validation failures currently produce incorrect, misleading, and 
> confusing console output and useless log file output; however, having 
> the validation against the schema would be useful since it is done on 
> the AI server in installadm (when the manifest is submitted), so I 
> decided to enforce the dependencies via the RNG schema rather than in 
> the AI code, and improve the output of the validator in the future.
>
> Thank you,
> William
>>
>>
>>>>  
>>>>>>
>>>>>>
>>>>>> auto_td.c:
>>>>>>        482:  Just to be sure..when  "if" statement  fails, 
>>>>>> diskiscsiname and diskiscsiip are both either                 
>>>>>> defined or undefined.  A comment to that effect would be useful.
>>>>>>        492: I would have thought that rootpath[MAXNAMELEN]  would 
>>>>>> be sufficient (i.e. 256)                 instead of MAXPATHLEN 
>>>>>> which is 1024.
>>>>> According to RFC 3720, the iSCSI name itself can be up to 223 
>>>>> bytes.  Add to that the maximum length of the IP address, port 
>>>>> number, protocol, and LUN, plus the "iscsi:" and separator 
>>>>> characters and this is over 256 bytes.
>>>> Okay
>>>>>>
>>>>>>        539:  strncmp(rootpath, "iscsi:", strlen("iscsi:"))  would 
>>>>>> be preferable.
>>>>>>
>>>> ???
>>> What's the problem here?  The requested change on 539 was made in 
>>> the source and appears in the webrev.
>> I believe, I email crossed.  Ignore.
>>>
>>> Thank you,
>>> William
>>


Reply via email to