Skip to content

Commit

Permalink
dm: move dm_end_request
Browse files Browse the repository at this point in the history
This patch moves dm_end_request() to make the next patch more readable.
No functional change.

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: Alasdair G Kergon <agk@redhat.com>
  • Loading branch information
Kiyoshi Ueda authored and Alasdair G Kergon committed Dec 10, 2009
1 parent 11a6824 commit 980691e
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions drivers/md/dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -752,6 +752,37 @@ static void free_rq_clone(struct request *clone)
free_rq_tio(tio);
}

/*
* Complete the clone and the original request.
* Must be called without queue lock.
*/
static void dm_end_request(struct request *clone, int error)
{
int rw = rq_data_dir(clone);
struct dm_rq_target_io *tio = clone->end_io_data;
struct mapped_device *md = tio->md;
struct request *rq = tio->orig;

if (blk_pc_request(rq)) {
rq->errors = clone->errors;
rq->resid_len = clone->resid_len;

if (rq->sense)
/*
* We are using the sense buffer of the original
* request.
* So setting the length of the sense data is enough.
*/
rq->sense_len = clone->sense_len;
}

free_rq_clone(clone);

blk_end_request_all(rq, error);

rq_completed(md, rw, 1);
}

static void dm_unprep_request(struct request *rq)
{
struct request *clone = rq->special;
Expand Down Expand Up @@ -815,37 +846,6 @@ static void start_queue(struct request_queue *q)
spin_unlock_irqrestore(q->queue_lock, flags);
}

/*
* Complete the clone and the original request.
* Must be called without queue lock.
*/
static void dm_end_request(struct request *clone, int error)
{
int rw = rq_data_dir(clone);
struct dm_rq_target_io *tio = clone->end_io_data;
struct mapped_device *md = tio->md;
struct request *rq = tio->orig;

if (blk_pc_request(rq)) {
rq->errors = clone->errors;
rq->resid_len = clone->resid_len;

if (rq->sense)
/*
* We are using the sense buffer of the original
* request.
* So setting the length of the sense data is enough.
*/
rq->sense_len = clone->sense_len;
}

free_rq_clone(clone);

blk_end_request_all(rq, error);

rq_completed(md, rw, 1);
}

static void dm_done(struct request *clone, int error, bool mapped)
{
int r = error;
Expand Down

0 comments on commit 980691e

Please sign in to comment.