diff mbox

[4/7] dm: open-code dm_kill_unmapped_request()

Message ID 1401973867-121561-5-git-send-email-hare@suse.de (mailing list archive)
State Deferred, archived
Delegated to: Mike Snitzer
Headers show

Commit Message

Hannes Reinecke June 5, 2014, 1:11 p.m. UTC
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 drivers/md/dm.c               | 24 +++++-------------------
 include/linux/device-mapper.h |  1 -
 2 files changed, 5 insertions(+), 20 deletions(-)
diff mbox

Patch

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f55ca0c..5109c76 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1015,22 +1015,6 @@  static void dm_complete_request(struct request *clone, int error)
 }
 
 /*
- * Complete the not-mapped clone and the original request with the error status
- * through softirq context.
- * Target's rq_end_io() function isn't called.
- * This may be used when the target's map_rq() function fails.
- */
-void dm_kill_unmapped_request(struct request *clone, int error)
-{
-	struct dm_rq_target_io *tio = clone->end_io_data;
-	struct request *rq = tio->orig;
-
-	rq->cmd_flags |= REQ_FAILED;
-	dm_complete_request(clone, error);
-}
-EXPORT_SYMBOL_GPL(dm_kill_unmapped_request);
-
-/*
  * Called with the queue lock held
  */
 static void end_clone_request(struct request *clone, int error)
@@ -1631,7 +1615,8 @@  static int map_request(struct dm_target *ti, struct request *clone,
 		}
 
 		/* The target wants to complete the I/O */
-		dm_kill_unmapped_request(clone, r);
+		rq->cmd_flags |= REQ_FAILED;
+		dm_complete_request(clone, r);
 		break;
 	}
 
@@ -1691,11 +1676,12 @@  static void dm_request_fn(struct request_queue *q)
 		if (!dm_target_is_valid(ti)) {
 			/*
 			 * Must perform setup, that dm_done() requires,
-			 * before calling dm_kill_unmapped_request
+			 * before calling dm_complete_request
 			 */
 			DMERR_LIMIT("request attempted access beyond the end of device");
 			clone = dm_start_request(md, rq);
-			dm_kill_unmapped_request(clone, -EIO);
+			rq->cmd_flags |= REQ_FAILED;
+			dm_complete_request(clone, -EIO);
 			continue;
 		}
 
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index 63da56e..3ad5db8 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -604,7 +604,6 @@  static inline unsigned long to_bytes(sector_t n)
  *---------------------------------------------------------------*/
 void dm_dispatch_request(struct request *rq);
 void dm_requeue_unmapped_request(struct request *rq);
-void dm_kill_unmapped_request(struct request *rq, int error);
 int dm_underlying_device_busy(struct request_queue *q);
 
 #endif	/* _LINUX_DEVICE_MAPPER_H */