All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@fb.com>
To: <torvalds@linuxfoundation.org>
Cc: <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] Core block changes for 3.18
Date: Sat, 18 Oct 2014 08:46:44 -0600	[thread overview]
Message-ID: <20141018144644.GA31955@kernel.dk> (raw)

Hi Linus,

This is the core block IO pull request for 3.18. Apart from the new and
improve flush machinery for blk-mq, this is all mostly bug fixes and
cleanups.

- blk-mq timeout updates and fixes from Christoph.

- Removal of REQ_END, also from Christoph. We pass it through the
  ->queue_rq() hook for blk-mq instead, freeing up one of the request
  bits. The space was overly tight on 32-bit, so Martin also killed
  REQ_KERNEL since it's no longer used.

- blk integrity updates and fixes from Martin and Gu Zheng.

- Update to the flush machinery for blk-mq from Ming Lei. Now we have a
  per hardware context flush request, which both cleans up the code
  should scale better for flush intensive workloads on blk-mq.

- Improve the error printing, from Rob Elliott.

- Backing device improvements and cleanups from Tejun.

- Fixup of a misplaced rq_complete() tracepoint from Hannes.

- Make blk_get_request() return error pointers, fixing up issues where
  we NULL deref when a device goes bad or missing. From Joe Lawrence.

- Prep work for drastically reducing the memory consumption of dm
  devices from Junichi Nomura. This allows creating clone bio sets
  without preallocating a lot of memory.

- Fix a blk-mq hang on certain combinations of queue depths and hardware
  queues from me.

- Limit memory consumption for blk-mq devices for crash dump scenarios
  and drivers that use crazy high depths (certain SCSI shared tag
  setups). We now just use a single queue and limited depth for that.


Please pull!


  git://git.kernel.dk/linux-block.git for-3.18/core


----------------------------------------------------------------
Bart Van Assche (1):
      blk-mq: Make bt_clear_tag() easier to read

Christoph Hellwig (8):
      blk-mq: remove REQ_END
      blk-mq: call blk_mq_start_request from ->queue_rq
      blk-mq: rename blk_mq_end_io to blk_mq_end_request
      blk-mq: fix and simplify tag iteration for the timeout handler
      blk-mq: unshared timeout handler
      blk-mq: pass a reserved argument to the timeout handler
      block: fix blk_abort_request on blk-mq
      scsi: move blk_mq_start_request call earlier

Gu Zheng (1):
      bio-integrity: remove the needless fail handle of bip_slab creating

Hannes Reinecke (1):
      block: misplaced rq_complete tracepoint

Jens Axboe (6):
      bsg: fix potential error pointer dereference
      Merge branch 'for-linus' into for-3.18/core
      Merge branch 'for-linus' into for-3.18/core
      blk-mq: limit memory consumption if a crash dump is active
      blk-mq: fix potential hang if rolling wakeup depth is too high
      blk-mq: allocate cpumask on the home node

Joe Lawrence (2):
      block,scsi: verify return pointer from blk_get_request
      block,scsi: fixup blk_get_request dead queue scenarios

Junichi Nomura (2):
      block: use bio_clone_fast() in blk_rq_prep_clone()
      block: add bioset_create_nobvec()

Martin K. Petersen (15):
      block: Get rid of bdev_integrity_enabled()
      block: Replace bi_integrity with bi_special
      block: Remove integrity tagging functions
      block: Remove bip_buf
      block: Deprecate the use of the term sector in the context of block integrity
      block: Make protection interval calculation generic
      block: Clean up the code used to generate and verify integrity metadata
      block: Add prefix to block integrity profile flags
      block: Add a disk flag to block integrity profile
      block: Relocate bio integrity flags
      block: Integrity checksum flag
      block: Don't merge requests if integrity flags differ
      block: Add T10 Protection Information functions
      sd: Honor block layer integrity handling flags
      block: Remove REQ_KERNEL

Mike Snitzer (1):
      block: fix alignment_offset math that assumes io_min is a power-of-2

Ming Lei (13):
      blk-mq: remove unnecessary blk_clear_rq_complete()
      blk-timeout: fix blk_add_timer
      blk-mq: handle failure path for initializing hctx
      blk-mq: allocate flush_rq in blk_mq_init_flush()
      block: introduce blk_init_flush and its pair
      block: move flush initialization to blk_flush_init
      block: avoid to use q->flush_rq directly
      block: introduce blk_flush_queue to drive flush machinery
      block: remove blk_init_flush() and its pair
      block: flush: avoid to figure out flush queue unnecessarily
      block: introduce 'blk_mq_ctx' parameter to blk_get_flush_queue
      blk-mq: support per-distpatch_queue flush machinery
      blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio

Rasmus Villemoes (1):
      block: Replace strnicmp with strncasecmp

Robert Elliott (2):
      block: make blk_update_request print prefix match ratelimited prefix
      block: include func name in __get_request prints

Tejun Heo (7):
      blkcg: remove blkcg->id
      block, bdi: an active gendisk always has a request_queue associated with it
      bdi: remove unused stuff
      bdi: remove bdi->wb_lock locking around bdi->dev clearing in bdi_unregister()
      bdi: make backing_dev_info->wb.dwork canceling stricter
      bdi: explain the dirty list transferring in bdi_destroy()
      bdi: reimplement bdev_inode_switch_bdi()

 Documentation/ABI/testing/sysfs-block       |   8 +
 Documentation/block/data-integrity.txt      |  54 +----
 block/Kconfig                               |   1 +
 block/Makefile                              |   4 +-
 block/bio-integrity.c                       | 271 ++++++---------------
 block/bio.c                                 |  61 +++--
 block/blk-cgroup.c                          |   2 -
 block/blk-cgroup.h                          |   3 -
 block/blk-core.c                            |  71 +++---
 block/blk-flush.c                           | 147 +++++++----
 block/blk-integrity.c                       | 103 +++++---
 block/blk-merge.c                           |  14 +-
 block/blk-mq-tag.c                          |  55 ++---
 block/blk-mq.c                              | 364 ++++++++++++++--------------
 block/blk-mq.h                              |   3 +-
 block/blk-settings.c                        |   4 +-
 block/blk-sysfs.c                           |   4 +-
 block/blk-timeout.c                         |  15 +-
 block/blk.h                                 |  37 ++-
 block/bsg.c                                 |   9 +-
 block/cfq-iosched.c                         |  10 +-
 block/compat_ioctl.c                        |   4 -
 block/ioctl.c                               |   4 -
 block/partitions/mac.c                      |   8 +-
 block/scsi_ioctl.c                          |  11 +-
 block/t10-pi.c                              | 197 +++++++++++++++
 drivers/block/mtip32xx/mtip32xx.c           |   9 +-
 drivers/block/null_blk.c                    |   7 +-
 drivers/block/paride/pd.c                   |   2 +
 drivers/block/pktcdvd.c                     |   2 +
 drivers/block/sx8.c                         |   2 +-
 drivers/block/virtio_blk.c                  |   8 +-
 drivers/cdrom/cdrom.c                       |   4 +-
 drivers/ide/ide-park.c                      |   2 +-
 drivers/scsi/Kconfig                        |   1 -
 drivers/scsi/device_handler/scsi_dh_alua.c  |   2 +-
 drivers/scsi/device_handler/scsi_dh_emc.c   |   2 +-
 drivers/scsi/device_handler/scsi_dh_hp_sw.c |   4 +-
 drivers/scsi/device_handler/scsi_dh_rdac.c  |   2 +-
 drivers/scsi/osd/osd_initiator.c            |   4 +-
 drivers/scsi/osst.c                         |   2 +-
 drivers/scsi/scsi_error.c                   |   2 +
 drivers/scsi/scsi_lib.c                     |  24 +-
 drivers/scsi/sd.c                           |  73 +++---
 drivers/scsi/sd.h                           |  66 ++++-
 drivers/scsi/sd_dif.c                       | 353 ++++-----------------------
 drivers/scsi/sg.c                           |   4 +-
 drivers/scsi/st.c                           |   2 +-
 drivers/target/target_core_pscsi.c          |   2 +-
 fs/block_dev.c                              |  34 +--
 fs/btrfs/disk-io.c                          |   2 +-
 fs/nfs/direct.c                             |  12 +-
 fs/nfs/file.c                               |   4 +-
 fs/xfs/xfs_buf.c                            |   2 -
 include/linux/backing-dev.h                 |   4 -
 include/linux/bio.h                         |  65 +++--
 include/linux/blk-mq.h                      |  22 +-
 include/linux/blk_types.h                   |  18 +-
 include/linux/blkdev.h                      |  71 +++---
 include/linux/crc-t10dif.h                  |   5 +-
 include/linux/fs.h                          |   2 -
 include/linux/nfs_fs.h                      |   4 +-
 include/linux/t10-pi.h                      |  22 ++
 include/scsi/scsi_cmnd.h                    |  36 ++-
 include/scsi/scsi_tcq.h                     |   2 +-
 mm/backing-dev.c                            |  40 ++-
 66 files changed, 1213 insertions(+), 1175 deletions(-)
 create mode 100644 block/t10-pi.c
 create mode 100644 include/linux/t10-pi.h

-- 
Jens Axboe


                 reply	other threads:[~2014-10-18 14:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141018144644.GA31955@kernel.dk \
    --to=axboe@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.