[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 13/21] scsi: do not call send_command directl
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH v3 13/21] scsi: do not call send_command directly |
Date: |
Fri, 20 May 2011 18:04:22 +0200 |
User-agent: |
Mutt/1.5.17 (2007-11-01) |
> -void scsi_req_enqueue(SCSIRequest *req)
> +int32_t scsi_req_enqueue(SCSIRequest *req, uint8_t *buf)
> {
> + int32_t rc;
> assert(!req->enqueued);
> scsi_req_ref(req);
> req->enqueued = true;
> QTAILQ_INSERT_TAIL(&req->dev->requests, req, next);
> +
> + /* Make sure the request doesn't disappear under send_command's feet. */
> + scsi_req_ref(req);
> + rc = req->dev->info->send_command(req, buf);
> + scsi_req_unref(req);
> + return rc;
How would it disappear given that we grabbed another reference just before?
That probably needs a bit more documentation here. Also why not move
the two scsi_req_ref calls together?
- Re: [Qemu-devel] [PATCH v3 09/21] scsi: introduce scsi_req_abort, (continued)
- [Qemu-devel] [PATCH v3 14/21] scsi: introduce scsi_req_new, Paolo Bonzini, 2011/05/17
- [Qemu-devel] [PATCH v3 10/21] scsi: introduce scsi_req_cancel, Paolo Bonzini, 2011/05/17
- [Qemu-devel] [PATCH v3 11/21] scsi: use scsi_req_complete, Paolo Bonzini, 2011/05/17
- [Qemu-devel] [PATCH v3 12/21] scsi: Update sense code handling, Paolo Bonzini, 2011/05/17
- [Qemu-devel] [PATCH v3 13/21] scsi: do not call send_command directly, Paolo Bonzini, 2011/05/17
- Re: [Qemu-devel] [PATCH v3 13/21] scsi: do not call send_command directly,
Christoph Hellwig <=
[Qemu-devel] [PATCH v3 16/21] scsi: introduce scsi_req_get_buf, Paolo Bonzini, 2011/05/17
[Qemu-devel] [PATCH v3 15/21] scsi: introduce scsi_req_kick, Paolo Bonzini, 2011/05/17
[Qemu-devel] [PATCH v3 19/21] scsi: make write_data return void, Paolo Bonzini, 2011/05/17