On 25.10.2016 07:48, Fam Zheng wrote:
> On Fri, 10/21 23:04, Max Reitz wrote:

[...]

>>> +int bdrv_set_lock_mode(BlockDriverState *bs, ImageLockMode mode)
>>> +{
>>> +    int ret;
>>> +
>>> +    if (bs->cur_lock == mode) {
>>> +        return 0;
>>> +    } else if (!bs->drv) {
>>> +        return -ENOMEDIUM;
>>> +    } else if (!bs->drv->bdrv_lockf) {
>>> +        if (bs->file) {
>>> +            return bdrv_set_lock_mode(bs->file->bs, mode);
>>> +        }
>>> +        return 0;
>>> +    }
>>> +    ret = bs->drv->bdrv_lockf(bs, mode);
>>> +    if (ret == -ENOTSUP) {
>>> +        /* Handle it the same way as !bs->drv->bdrv_lockf */
>>> +        ret = 0;
>>
>> Yes, well, why do you handle both as success? Wouldn't returning
>> -ENOTSUP make more sense?
>>
>> I guess the caller can find out itself by checking whether bs->cur_lock
>> has changed, but...
> 
> I can't think of a reason for any caller to do something different for 
> -ENOTSUP
> from success, hence the check here.

OK, that's fine, then.

Max

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to