blk_end_request: changing xsysace (take 4)

This patch converts xsysace to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

xsysace is a little bit different from "normal" drivers.
xsysace driver has a state machine in it.
It calls end_that_request_first() and end_that_request_last()
from different states. (ACE_FSM_STATE_REQ_TRANSFER and
ACE_FSM_STATE_REQ_COMPLETE, respectively.)

However, those states are consecutive and without any interruption
inbetween.
So we can just follow the standard conversion rule (b) mentioned in
the patch subject "[PATCH 01/30] blk_end_request: add new request
completion interface".

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Kiyoshi Ueda 2007-12-11 17:49:46 -05:00 коммит произвёл Jens Axboe
Родитель 7d699bafe2
Коммит a65b58663d
1 изменённых файлов: 1 добавлений и 4 удалений

Просмотреть файл

@ -703,7 +703,7 @@ static void ace_fsm_dostate(struct ace_device *ace)
/* bio finished; is there another one? */ /* bio finished; is there another one? */
i = ace->req->current_nr_sectors; i = ace->req->current_nr_sectors;
if (end_that_request_first(ace->req, 1, i)) { if (__blk_end_request(ace->req, 0, i)) {
/* dev_dbg(ace->dev, "next block; h=%li c=%i\n", /* dev_dbg(ace->dev, "next block; h=%li c=%i\n",
* ace->req->hard_nr_sectors, * ace->req->hard_nr_sectors,
* ace->req->current_nr_sectors); * ace->req->current_nr_sectors);
@ -718,9 +718,6 @@ static void ace_fsm_dostate(struct ace_device *ace)
break; break;
case ACE_FSM_STATE_REQ_COMPLETE: case ACE_FSM_STATE_REQ_COMPLETE:
/* Complete the block request */
blkdev_dequeue_request(ace->req);
end_that_request_last(ace->req, 1);
ace->req = NULL; ace->req = NULL;
/* Finished request; go to idle state */ /* Finished request; go to idle state */