Subject: linux-next: manual merge of the block tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 1 Jun 2015 14:56:19 +1000

Hi Jens,

Today's linux-next merge of the block tree got a conflict in
drivers/md/dm.c between commits 3a1407559a59 ("dm: fix NULL pointer
when clone_and_map_rq returns !DM_MAPIO_REMAPPED") and e5d8de32cc02
("dm: fix false warning in free_rq_clone() for unmapped requests") from
Linus' tree and commit 5f1b670d0bef ("block, dm: don't copy bios for
request clones") from the block tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/md/dm.c
index 2caf492890d6,38837f8ea327..000000000000
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@@ -1087,8 -1036,8 +1036,6 @@@ static void free_rq_clone(struct reques
  	struct dm_rq_target_io *tio = clone->end_io_data;
  	struct mapped_device *md = tio->md;
  
- 	blk_rq_unprep_clone(clone);
 -	WARN_ON_ONCE(must_be_mapped && !clone->q);
--
  	if (md->type == DM_TYPE_MQ_REQUEST_BASED)
  		/* stacked on blk-mq queue(s) */
  		tio->ti->type->release_clone_rq(clone);
@@@ -1977,13 -1887,9 +1893,9 @@@ static int map_request(struct dm_rq_tar
  			dm_kill_unmapped_request(rq, r);
  			return r;
  		}
 -		if (IS_ERR(clone))
 -			return DM_MAPIO_REQUEUE;
 +		if (r != DM_MAPIO_REMAPPED)
 +			return r;
- 		if (setup_clone(clone, rq, tio, GFP_ATOMIC)) {
- 			/* -ENOMEM */
- 			ti->type->release_clone_rq(clone);
- 			return DM_MAPIO_REQUEUE;
- 		}
+ 		setup_clone(clone, rq, tio);
  	}
  
  	switch (r) {