[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH Update] sheepdog: don't update inode when create
From: |
Liu Yuan |
Subject: |
Re: [Qemu-devel] [PATCH Update] sheepdog: don't update inode when create_and_write fails |
Date: |
Mon, 17 Dec 2012 13:22:31 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
On 12/17/2012 11:43 AM, MORITA Kazutaka wrote:
> send_pending_req() needs to be called even in error case. Rather than
> moving the error check, I think it looks better to update
> s->inode.data_vdi_id only when rsp.result is SD_RES_SUCCESS.
Why can't we check the rsp.result in the first place? double check
rsp.result inside one function looks a little bit complicated to me.
How about
+ if (rsp.result != SD_RES_SUCCESS) {
+ acb->ret = -EIO;
+ error_report("%s", sd_strerror(rsp.result));
+ send_pending_req(s, aio_req->oid);
+ goto err;
+
+ }
By the way, seems that
send_pending_req(s, vid_to_data_oid(s->inode.vdi_id, idx));
can be reduced to
send_pending_req(s, aio_req->oid);
If yes, I can send another patch to fix.
Thanks,
Yuan