void scsi_req_cancel_async(SCSIRequest *req, Notifier *notifier)

{

    trace_scsi_req_cancel(req->dev->id, req->lun, req->tag);

    if (notifier) {

        notifier_list_add(&req->cancel_notifiers, notifier);











    scsi_req_ref(req);

    scsi_req_dequeue(req);

    req->io_canceled = true;

    if (req->aiocb) {

        blk_aio_cancel_async(req->aiocb);

    } else {

        scsi_req_cancel_complete(req);


void scsi_req_cancel_async(SCSIRequest *req, Notifier *notifier)

{

    trace_scsi_req_cancel(req->dev->id, req->lun, req->tag);

    if (notifier) {

        notifier_list_add(&req->cancel_notifiers, notifier);











    scsi_req_ref(req);

    scsi_req_dequeue(req);

    req->io_canceled = true;

    if (req->aiocb) {

        blk_aio_cancel_async(req->aiocb);

    } else {

        scsi_req_cancel_complete(req);


void FUNC_0(SCSIRequest *VAR_0, Notifier *VAR_1)

{

    trace_scsi_req_cancel(VAR_0->dev->id, VAR_0->lun, VAR_0->tag);

    if (VAR_1) {

        notifier_list_add(&VAR_0->cancel_notifiers, VAR_1);











    scsi_req_ref(VAR_0);

    scsi_req_dequeue(VAR_0);

    VAR_0->io_canceled = true;

    if (VAR_0->aiocb) {

        blk_aio_cancel_async(VAR_0->aiocb);

    } else {

        scsi_req_cancel_complete(VAR_0);


void FUNC_0(SCSIRequest *VAR_0, Notifier *VAR_1)
{ trace_scsi_req_cancel(VAR_0->dev->id, VAR_0->lun, VAR_0->tag); if (VAR_1) { notifier_list_add(&VAR_0->cancel_notifiers, VAR_1); scsi_req_ref(VAR_0); scsi_req_dequeue(VAR_0); VAR_0->io_canceled = true; if (VAR_0->aiocb) { blk_aio_cancel_async(VAR_0->aiocb); } else { scsi_req_cancel_complete(VAR_0);