qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 14/45] block: introduce block job error


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2 14/45] block: introduce block job error
Date: Thu, 27 Sep 2012 16:50:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1

Il 27/09/2012 15:41, Kevin Wolf ha scritto:
>> > +BlockErrorAction block_job_error_action(BlockJob *job, BlockDriverState 
>> > *bs,
>> > +                                        BlockdevOnError on_err,
>> > +                                        int is_read, int error)
>> > +{
>> > +    BlockErrorAction action;
>> > +
>> > +    switch (on_err) {
>> > +    case BLOCKDEV_ON_ERROR_ENOSPC:
>> > +        action = (error == ENOSPC) ? BDRV_ACTION_STOP : 
>> > BDRV_ACTION_REPORT;
>> > +        break;
>> > +    case BLOCKDEV_ON_ERROR_STOP:
>> > +        action = BDRV_ACTION_STOP;
>> > +        break;
>> > +    case BLOCKDEV_ON_ERROR_REPORT:
>> > +        action = BDRV_ACTION_REPORT;
>> > +        break;
>> > +    case BLOCKDEV_ON_ERROR_IGNORE:
>> > +        action = BDRV_ACTION_IGNORE;
>> > +        break;
>> > +    default:
>> > +        abort();
>> > +    }
> Isn't this a duplication of bdrv_get_error_action()?

bdrv_get_error_action() has this:

BlockdevOnError on_err = is_read ? bs->on_read_error : bs->on_write_error;

It can use some refactoring to commonize the switch statement, but
it's not a direct replacement.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]