Alexander Graf <[email protected]> writes:
> On 26.08.2013, at 12:58, Nikunj A Dadhania wrote:
>
>> This implements capabilities exchange between host and client.
>> As at the moment no capability is supported, put zero flags everywhere
>> and return.
>>
>> Signed-off-by: Nikunj A Dadhania <[email protected]>
>> ---
>> + rc = spapr_vio_dma_read(&s->vdev, buffer, &cap, len);
>> + if (rc) {
>> + fprintf(stderr, "vscsi_send_capabilities: DMA read failure !\n");
>
> At this point cap contains random host data, no?
Yes, and we zero it out in this case.
>
>> + }
>> +
>> + /*
>> + * Current implementation does not suppport any migration or
>> + * reservation capabilities. Construct the response telling the
>> + * guest not to use them.
>> + */
>> + cap.flags = 0;
>> + cap.migration.ecl = 0;
>> + cap.reserve.type = 0;
>> + cap.migration.common.server_support = 0;
>> + cap.reserve.common.server_support = 0;
>> +
>> + rc = spapr_vio_dma_write(&s->vdev, buffer, &cap, len);
>> + if (rc) {
>> + fprintf(stderr, "vscsi_send_capabilities: DMA write failure !\n");
>> + }
>> +error_out:
>
> This is just "out" rather than "error_out", no? We also get here when we
> don't hit an error.
Yes, the label is more readable at the goto, where we set the error
return code. In case of no error return code is H_SUCCESS. So that we
send a response back to the guest.
Regards
Nikunj