Merge branch 'for-4.2/core' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 25 Jun 2015 21:29:53 +0000 (14:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 25 Jun 2015 21:29:53 +0000 (14:29 -0700)
Pull core block IO update from Jens Axboe:
 "Nothing really major in here, mostly a collection of smaller
  optimizations and cleanups, mixed with various fixes.  In more detail,
  this contains:

   - Addition of policy specific data to blkcg for block cgroups.  From
     Arianna Avanzini.

   - Various cleanups around command types from Christoph.

   - Cleanup of the suspend block I/O path from Christoph.

   - Plugging updates from Shaohua and Jeff Moyer, for blk-mq.

   - Eliminating atomic inc/dec of both remaining IO count and reference
     count in a bio.  From me.

   - Fixes for SG gap and chunk size support for data-less (discards)
     IO, so we can merge these better.  From me.

   - Small restructuring of blk-mq shared tag support, freeing drivers
     from iterating hardware queues.  From Keith Busch.

   - A few cfq-iosched tweaks, from Tahsin Erdogan and me.  Makes the
     IOPS mode the default for non-rotational storage"

* 'for-4.2/core' of git://git.kernel.dk/linux-block: (35 commits)
  cfq-iosched: fix other locations where blkcg_to_cfqgd() can return NULL
  cfq-iosched: fix sysfs oops when attempting to read unconfigured weights
  cfq-iosched: move group scheduling functions under ifdef
  cfq-iosched: fix the setting of IOPS mode on SSDs
  blktrace: Add blktrace.c to BLOCK LAYER in MAINTAINERS file
  block, cgroup: implement policy-specific per-blkcg data
  block: Make CFQ default to IOPS mode on SSDs
  block: add blk_set_queue_dying() to blkdev.h
  blk-mq: Shared tag enhancements
  block: don't honor chunk sizes for data-less IO
  block: only honor SG gap prevention for merges that contain data
  block: fix returnvar.cocci warnings
  block, dm: don't copy bios for request clones
  block: remove management of bi_remaining when restoring original bi_end_io
  block: replace trylock with mutex_lock in blkdev_reread_part()
  block: export blkdev_reread_part() and __blkdev_reread_part()
  suspend: simplify block I/O handling
  block: collapse bio bit space
  block: remove unused BIO_RW_BLOCK and BIO_EOF flags
  block: remove BIO_EOPNOTSUPP
  ...

13 files changed:
1  2 
MAINTAINERS
block/blk-core.c
block/blk-mq.c
block/bounce.c
block/elevator.c
drivers/md/dm-table.c
drivers/md/dm.c
fs/btrfs/extent_io.c
fs/btrfs/volumes.c
fs/ext4/page-io.c
include/linux/blk_types.h
include/linux/blkdev.h
include/linux/fs.h

diff --cc MAINTAINERS
Simple merge
Simple merge
diff --cc block/blk-mq.c
Simple merge
diff --cc block/bounce.c
Simple merge
Simple merge
Simple merge
diff --cc drivers/md/dm.c
index 2caf492890d64b27a0a88f24f4f04d1778448d9a,38837f8ea3279c722cc0a929085e845357825149..4d6f089a0e9e2eca5b8fa58017a29e1da598c2a0
@@@ -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) {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge