linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Followup block pull request for 4.14-rc1
@ 2017-09-08 17:34 Jens Axboe
  2017-09-08 17:55 ` Jens Axboe
  2017-09-09 19:54 ` Linus Torvalds
  0 siblings, 2 replies; 5+ messages in thread
From: Jens Axboe @ 2017-09-08 17:34 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

Hi Linus,

I ended up splitting the main pull request for this series into two,
mainly because of clashes between NVMe fixes that went into 4.13 after
the for-4.14 branches were split off. This pull request is mostly NVMe,
but not exclusively. In detail, it contains:

- Two pull request for NVMe changes from Christoph. Nothing new on the
  feature front, basically just fixes all over the map for the core
  bits, transport, rdma, etc.

- Series from Bart, cleaning up various bits in the BFQ scheduler.

- Series of bcache fixes, which has been lingering for a release or two.
  Coly sent this in, but patches from various people in this area.

- Set of patches for BFQ from Paolo himself, updating both documentation
  and fixing some corner cases in performance.

- Series from Omar, attempting to now get the 4k loop support correct.
  Our confidence level is higher this time.

- Series from Shaohua for loop as well, improving O_DIRECT performance
  and fixing a use-after-free.

Single merge conflict here, for nvme/rdma. Trivial to fixup, see my
for-next branch here:

http://git.kernel.dk/cgit/linux-block/log/?h=for-next

if you want to see how I resolved it. Note that the for-next branch is
missing one late bcache fixup, so it's not identical to what you will
end up with after pulling this in.

Please pull!


  git://git.kernel.dk/linux-block.git for-4.14/block-postmerge


----------------------------------------------------------------
Arnav Dawn (2):
      nvme: add support for FW activation without reset
      nvme: define NVME_NSID_ALL

Bart Van Assche (5):
      bfq: Annotate fall-through in a switch statement
      bfq: Declare local functions static
      bfq: Check kstrtoul() return value
      bfq: Suppress compiler warnings about comparisons
      bfq: Use icq_to_bic() consistently

Byungchul Park (1):
      bcache: Don't reinvent the wheel but use existing llist API

Christoph Hellwig (7):
      nvmet: use NVME_NSID_ALL
      nvme: report more detailed status codes to the block layer
      nvme: allow calling nvme_change_ctrl_state from irq context
      nvme: remove unused struct nvme_ns fields
      nvme: remove nvme_revalidate_ns
      nvme: don't blindly overwrite identifiers on disk revalidate
      nvme: factor metadata handling out of __nvme_submit_user_cmd

Dan Carpenter (2):
      bcache: silence static checker warning
      bcache: Update continue_at() documentation

Daniel Verkamp (1):
      nvme-fabrics: generate spec-compliant UUID NQNs

Guan Junxiong (2):
      nvmet: fix the return error code of target if host is not allowed
      nvme-fabrics: log a warning if hostid is invalid

James Smart (2):
      nvme-fc: Reattach to localports on re-registration
      nvmet-fc: simplify sg list handling

Jan H. Schönherr (1):
      nvme: fix uninitialized prp2 value on small transfers

Jan Kara (1):
      bcache: Fix leak of bdev reference

Jens Axboe (3):
      Merge tag 'v4.13-rc7' into for-4.14/block-postmerge
      Merge branch 'nvme-4.14' of git://git.infradead.org/nvme into for-4.14/block-postmerge
      Merge branch 'nvme-4.14' of git://git.infradead.org/nvme into for-4.14/block-postmerge

Johannes Thumshirn (2):
      nvmet-fcloop: remove ALL_OPTS define
      nvme-rdma: remove NVME_RDMA_MAX_SEGMENT_SIZE

Jon Derrick (1):
      nvme: add support for NVMe 1.3 Timestamp Feature

Keith Busch (3):
      nvme/pci: Use req_op to determine DIF remapping
      nvme: Make nvme user functions static
      nvme: Use metadata for passthrough commands

Martin K. Petersen (1):
      nvme: honor RTD3 Entry Latency for shutdowns

Martin Wilck (2):
      string.h: add memcpy_and_pad()
      nvmet: use memcpy_and_pad for identify sn/fr

Max Gurtovoy (3):
      nvme: add symbolic constants for CC identifiers
      nvme: rename AMS symbolic constants to fit specification
      nvme-rdma: Use unlikely macro in the fast path

Michael Lyle (1):
      bcache: fix bch_hprint crash and improve output

Omar Sandoval (5):
      loop: get rid of lo_blocksize
      loop: set physical block size to PAGE_SIZE
      loop: add ioctl for changing logical block size
      loop: fold loop_switch() into callers
      loop: set physical block size to logical block size

Omri Mann (1):
      nvmet: add support for reporting the host identifier

Paolo Valente (5):
      block, bfq: make lookup_next_entity push up vtime on expirations
      block, bfq: remove direct switch to an entity in higher class
      block, bfq: guarantee update_next_in_service always returns an eligible entity
      doc, block, bfq: fix some typos and remove stale stuff
      doc, block, bfq: better describe how to properly configure bfq

Roland Dreier (1):
      nvme-fabrics: Convert nvmf_transports_mutex to an rwsem

Sagi Grimberg (13):
      nvme-rdma: move nvme_rdma_configure_admin_queue code location
      nvme: Add admin_tagset pointer to nvme_ctrl
      nvme-rdma: move tagset allocation to a dedicated routine
      nvme-rdma: disable the controller on resets
      nvme-rdma: don't free tagset on resets
      nvme-rdma: reuse configure/destroy_admin_queue
      nvme-rdma: introduce configure/destroy io queues
      nvme-rdma: stop queues instead of simply flipping their state
      nvme-rdma: rename nvme_rdma_init_queue to nvme_rdma_alloc_queue
      nvme-rdma: introduce nvme_rdma_start_queue
      nvme-rdma: cleanup error path in controller reset
      nvme-rdma: call ops->reg_read64 instead of nvmf_reg_read64
      nvme: fix identify namespace logging

Shaohua Li (4):
      block/loop: set hw_sectors
      block/loop: allow request merge for directio mode
      block/loop: fix use after free
      block/loop: remove unused field

Tang Junhui (7):
      bcache: fix sequential large write IO bypass
      bcache: do not subtract sectors_to_gc for bypassed IO
      bcache: gc does not work when triggering by manual command
      bcache: correct cache_dirty_target in __update_writeback_rate()
      bcache: increase the number of open buckets
      bcache: fix for gc and write-back race
      bcache: initialize dirty stripes in flash_dev_run()

Tony Asleson (1):
      bcache: Correct return value for sysfs attach errors


 Documentation/block/bfq-iosched.txt |  144 ++++-----
 block/bfq-cgroup.c                  |   18 -
 block/bfq-iosched.c                 |   75 +++-
 block/bfq-iosched.h                 |    4 
 block/bfq-wf2q.c                    |   91 +++--
 drivers/block/loop.c                |  193 ++++++------
 drivers/block/loop.h                |    8 
 drivers/md/bcache/alloc.c           |    4 
 drivers/md/bcache/bcache.h          |    1 
 drivers/md/bcache/closure.c         |   15 
 drivers/md/bcache/closure.h         |    4 
 drivers/md/bcache/request.c         |   12 
 drivers/md/bcache/super.c           |   10 
 drivers/md/bcache/sysfs.c           |   19 +
 drivers/md/bcache/util.c            |   50 ++-
 drivers/md/bcache/writeback.c       |   20 -
 drivers/md/bcache/writeback.h       |   21 +
 drivers/nvme/host/core.c            |  339 +++++++++++++++------
 drivers/nvme/host/fabrics.c         |   23 -
 drivers/nvme/host/fc.c              |  145 ++++++---
 drivers/nvme/host/nvme.h            |   17 -
 drivers/nvme/host/pci.c             |    9 
 drivers/nvme/host/rdma.c            |  564 ++++++++++++++++++------------------
 drivers/nvme/target/admin-cmd.c     |   33 +-
 drivers/nvme/target/configfs.c      |    2 
 drivers/nvme/target/core.c          |   15 
 drivers/nvme/target/fabrics-cmd.c   |    1 
 drivers/nvme/target/fc.c            |   48 ---
 drivers/nvme/target/fcloop.c        |    3 
 drivers/nvme/target/loop.c          |    1 
 drivers/nvme/target/nvmet.h         |    1 
 include/linux/nvme-fc-driver.h      |    2 
 include/linux/nvme.h                |   37 +-
 include/linux/string.h              |   30 +
 include/uapi/linux/loop.h           |    1 
 35 files changed, 1143 insertions(+), 817 deletions(-)


-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] Followup block pull request for 4.14-rc1
  2017-09-08 17:34 [GIT PULL] Followup block pull request for 4.14-rc1 Jens Axboe
@ 2017-09-08 17:55 ` Jens Axboe
  2017-09-09 19:54 ` Linus Torvalds
  1 sibling, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2017-09-08 17:55 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

On 09/08/2017 11:34 AM, Jens Axboe wrote:
> Single merge conflict here, for nvme/rdma. Trivial to fixup, see my
> for-next branch here:
> 
> http://git.kernel.dk/cgit/linux-block/log/?h=for-next
> 
> if you want to see how I resolved it. Note that the for-next branch is
> missing one late bcache fixup, so it's not identical to what you will
> end up with after pulling this in.

Actually, I misspoke, I did pull in that last change yesterday. So it's
all merged up.

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] Followup block pull request for 4.14-rc1
  2017-09-08 17:34 [GIT PULL] Followup block pull request for 4.14-rc1 Jens Axboe
  2017-09-08 17:55 ` Jens Axboe
@ 2017-09-09 19:54 ` Linus Torvalds
  2017-09-09 20:00   ` Linus Torvalds
  1 sibling, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2017-09-09 19:54 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block@vger.kernel.org

On Fri, Sep 8, 2017 at 10:34 AM, Jens Axboe <axboe@kernel.dk> wrote:
>
> Single merge conflict here, for nvme/rdma. Trivial to fixup, see my
> for-next branch here:
>
> http://git.kernel.dk/cgit/linux-block/log/?h=for-next

Your earlier merge for mm/page_io.c is ugly, and mixes up the bi_disk
thing oddly in the middle of the task struct code.

Other than that, we match.

              Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] Followup block pull request for 4.14-rc1
  2017-09-09 19:54 ` Linus Torvalds
@ 2017-09-09 20:00   ` Linus Torvalds
  2017-09-10  4:07     ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2017-09-09 20:00 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block@vger.kernel.org

On Sat, Sep 9, 2017 at 12:54 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Other than that, we match.

Oh, and I almost cried when I saw this nasty thing:

   ilog2(SZ_4K) - 9

in that nvme code, but I left it alone.

Why the hell people think "SZ_4K" is somehow more legible than 4096, I
have no idea. And depending on our ilog2() just doing the right thing
at build time, instead of just saying "12" with a comment, is just
odd.

It's not like "ilog2(SZ_4K)" is a particularly good comment.

That code should probably just make it clear that 4096 is the NVME
page size, and document it as such, rather than picking a random name
for a random constant.

So something like

   #define NVME_PAGE_SIZE 4096
   #define NVME_PAGE_SHIFT 12

and then using *those* would actually have documented something,
rather than these crazy odd random expressions.

            Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] Followup block pull request for 4.14-rc1
  2017-09-09 20:00   ` Linus Torvalds
@ 2017-09-10  4:07     ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2017-09-10  4:07 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

On 09/09/2017 02:00 PM, Linus Torvalds wrote:
> On Sat, Sep 9, 2017 at 12:54 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
>>
>> Other than that, we match.
> 
> Oh, and I almost cried when I saw this nasty thing:
> 
>    ilog2(SZ_4K) - 9
> 
> in that nvme code, but I left it alone.
> 
> Why the hell people think "SZ_4K" is somehow more legible than 4096, I
> have no idea. And depending on our ilog2() just doing the right thing
> at build time, instead of just saying "12" with a comment, is just
> odd.

Beats me, I hate all of the SZ_ defines. But once they exist, they
grow users...

> It's not like "ilog2(SZ_4K)" is a particularly good comment.
> 
> That code should probably just make it clear that 4096 is the NVME
> page size, and document it as such, rather than picking a random name
> for a random constant.
> 
> So something like
> 
>    #define NVME_PAGE_SIZE 4096
>    #define NVME_PAGE_SHIFT 12
> 
> and then using *those* would actually have documented something,
> rather than these crazy odd random expressions.

Totally agree.

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-09-10  4:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-08 17:34 [GIT PULL] Followup block pull request for 4.14-rc1 Jens Axboe
2017-09-08 17:55 ` Jens Axboe
2017-09-09 19:54 ` Linus Torvalds
2017-09-09 20:00   ` Linus Torvalds
2017-09-10  4:07     ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).