From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: [GIT PULL] Block driver changes for 5.20-rc1
Date: Sun, 31 Jul 2022 09:03:47 -0600 [thread overview]
Message-ID: <87f60512-9242-49d1-eae1-394eb7a34760@kernel.dk> (raw)
Hi Linus,
On top of the core block changes, here are the block driver changes for
5.20-rc1. In detail:
- NVMe pull request via Christoph
- add support for In-Band authentication (Hannes Reinecke)
- handle the persistent internal error AER (Michael Kelley)
- use in-capsule data for TCP I/O queue connect (Caleb Sander)
- remove timeout for getting RDMA-CM established event
(Israel Rukshin)
- misc cleanups (Joel Granados, Sagi Grimberg, Chaitanya Kulkarni,
Guixin Liu, Xiang wangx)
- MD pull request via Song
- Improve raid5 lock contention, by Logan Gunthorpe.
- Misc fixes to raid5, by Logan Gunthorpe.
- Fix race condition with md_reap_sync_thread(), by Guoqing Jiang.
- Work on unifying the null_blk module parameters and configfs API
(Vincent)
- drbd bitmap IO error fix (Lars)
- Set of rnbd fixes (Guoqing, Md Haris)
- Remove experimental marker on bcache async device registration (Coly)
- Misc fixes and cleanups (Ming, Yu, Dan, Christophe
Note that this will throw a merge conflict in
drivers/block/drbd/drbd_bitmap.c due to the request flag changes from
Bart. The resolution is trivial, just keep the new enum req_op:
diff --cc drivers/block/drbd/drbd_bitmap.c
index 603f6828dd79,bd2133ef6e0a..7d9db33363de
--- a/drivers/block/drbd/drbd_bitmap.c
+++ b/drivers/block/drbd/drbd_bitmap.c
@@@ -977,16 -990,17 +990,17 @@@ static inline sector_t drbd_md_last_bit
static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_hold(local)
{
struct drbd_device *device = ctx->device;
- unsigned int op = (ctx->flags & BM_AIO_READ) ? REQ_OP_READ : REQ_OP_WRITE;
+ enum req_op op = ctx->flags & BM_AIO_READ ? REQ_OP_READ : REQ_OP_WRITE;
- struct bio *bio = bio_alloc_bioset(device->ldev->md_bdev, 1, op,
- GFP_NOIO, &drbd_md_io_bio_set);
struct drbd_bitmap *b = device->bitmap;
+ struct bio *bio;
struct page *page;
+ sector_t last_bm_sect;
+ sector_t first_bm_sect;
+ sector_t on_disk_sector;
unsigned int len;
- sector_t on_disk_sector =
- device->ldev->md.md_offset + device->ldev->md.bm_offset;
- on_disk_sector += ((sector_t)page_nr) << (PAGE_SHIFT-9);
+ first_bm_sect = device->ldev->md.md_offset + device->ldev->md.bm_offset;
+ on_disk_sector = first_bm_sect + (((sector_t)page_nr) << (PAGE_SHIFT-SECTOR_SHIFT));
/* this might happen with very small
* flexible external meta data device,
Please pull!
The following changes since commit ee78ec1077d37d1a4a0860589a65df8ae6d2255c:
blk-mq: blk_mq_tag_busy is no need to return a value (2022-06-27 06:29:12 -0600)
are available in the Git repository at:
git://git.kernel.dk/linux-block.git tags/for-5.20/drivers-2022-07-29
for you to fetch changes up to 508e357579f07d43cb3feabe93b46bc1648ca5d9:
bcache: remove EXPERIMENTAL for Kconfig option 'Asynchronous device registration' (2022-07-28 11:13:11 -0600)
----------------------------------------------------------------
for-5.20/drivers-2022-07-29
----------------------------------------------------------------
Caleb Sander (1):
nvme-tcp: use in-capsule data for I/O connect
Chaitanya Kulkarni (2):
nvme: remove unused timeout parameter
nvme: fix qid param blk_mq_alloc_request_hctx
Chris Webb (1):
md: Explicitly create command-line configured devices
Christophe JAILLET (1):
block: null_blk: Use the bitmap API to allocate bitmaps
Coly Li (1):
bcache: remove EXPERIMENTAL for Kconfig option 'Asynchronous device registration'
Dan Carpenter (1):
null_blk: fix ida error handling in null_add_dev()
Guixin Liu (2):
nvme-pci: use nvme core helper to cancel requests in tagset
nvme-apple: use nvme core helper to cancel requests in tagset
Guoqing Jiang (9):
md: unlock mddev before reap sync_thread in action_store
rnbd-clt: open code send_msg_open in rnbd_clt_map_device
rnbd-clt: don't free rsp in msg_open_conf for map scenario
rnbd-clt: kill read_only from struct rnbd_clt_dev
rnbd-clt: reduce the size of struct rnbd_clt_dev
rnbd-clt: adjust the layout of struct rnbd_clt_dev
rnbd-clt: check capacity inside rnbd_clt_change_capacity
rnbd-clt: pass sector_t type for resize capacity
rnbd-clt: make rnbd_clt_change_capacity return void
Hannes Reinecke (11):
crypto: add crypto_has_shash()
crypto: add crypto_has_kpp()
lib/base64: RFC4648-compliant base64 encoding
nvme: add definitions for NVMe In-Band authentication
nvme-fabrics: decode 'authentication required' connect error
nvme: implement In-Band authentication
nvme-auth: Diffie-Hellman key exchange support
nvmet: parse fabrics commands on io queues
nvmet: implement basic In-Band Authentication
nvmet-auth: Diffie-Hellman key exchange support
nvmet-auth: expire authentication sessions
Israel Rukshin (1):
nvme-rdma: remove timeout for getting RDMA-CM established event
Jens Axboe (2):
Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-5.20/drivers
Merge tag 'nvme-5.20-2022-07-14' of git://git.infradead.org/nvme into for-5.20/drivers
Joel Granados (1):
nvme-multipath: refactor nvme_mpath_add_disk
Lars Ellenberg (1):
drbd: bm_page_async_io: fix spurious bitmap "IO error" on large volumes
Logan Gunthorpe (25):
md/raid5-log: Drop extern decorators for function prototypes
md/raid5-ppl: Drop unused argument from ppl_handle_flush_request()
md/raid5: suspend the array for calls to log_exit()
md/raid5-cache: Take mddev_lock in r5c_journal_mode_show()
md/raid5-cache: Drop RCU usage of conf->log
md/raid5-cache: Clear conf->log after finishing work
md/raid5-cache: Annotate pslot with __rcu notation
md: Use enum for overloaded magic numbers used by mddev->curr_resync
md: Ensure resync is reported after it starts
md: Notify sysfs sync_completed in md_reap_sync_thread()
md/raid5: Make logic blocking check consistent with logic that blocks
md/raid5: Factor out ahead_of_reshape() function
md/raid5: Refactor raid5_make_request loop
md/raid5: Move stripe_add_to_batch_list() call out of add_stripe_bio()
md/raid5: Move common stripe get code into new find_get_stripe() helper
md/raid5: Factor out helper from raid5_make_request() loop
md/raid5: Drop the do_prepare flag in raid5_make_request()
md/raid5: Move read_seqcount_begin() into make_stripe_request()
md/raid5: Refactor for loop in raid5_make_request() into while loop
md/raid5: Keep a reference to last stripe_head for batch
md/raid5: Refactor add_stripe_bio()
md/raid5: Check all disks in a stripe_head for reshape progress
md/raid5: Pivot raid5_make_request()
md/raid5: Improve debug prints
md/raid5: Increase restriction on max segments per request
Md Haris Iqbal (2):
block/rnbd-srv: Set keep_id to true after mutex_trylock
block/rnbd-srv: Replace sess_dev_list with index_idr
Michael Kelley (1):
nvme: handle the persistent internal error AER
Ming Lei (1):
null_blk: cleanup null_init_tag_set
Sagi Grimberg (1):
nvme-loop: use nvme core helpers to cancel all requests in a tagset
Song Liu (1):
MAINTAINERS: add patchwork link to linux-raid project
Vincent Fu (2):
null_blk: add module parameters for 4 options
null_blk: add configfs variables for 2 options
Xiang wangx (1):
nvme: remove a double word in a comment
Yu Kuai (1):
nbd: add missing definition of pr_fmt
Zhang Jiaming (1):
md: Fix spelling mistake in comments
Documentation/block/null_blk.rst | 22 +
MAINTAINERS | 1 +
crypto/kpp.c | 6 +
crypto/shash.c | 6 +
drivers/block/drbd/drbd_bitmap.c | 49 +-
drivers/block/nbd.c | 6 +-
drivers/block/null_blk/main.c | 108 +++-
drivers/block/null_blk/null_blk.h | 2 +
drivers/block/rnbd/rnbd-clt-sysfs.c | 2 +-
drivers/block/rnbd/rnbd-clt.c | 201 ++++---
drivers/block/rnbd/rnbd-clt.h | 18 +-
drivers/block/rnbd/rnbd-srv.c | 20 +-
drivers/block/rnbd/rnbd-srv.h | 4 -
drivers/md/bcache/Kconfig | 2 +-
drivers/md/dm-raid.c | 1 +
drivers/md/md-autodetect.c | 1 +
drivers/md/md-cluster.c | 4 +-
drivers/md/md.c | 76 ++-
drivers/md/md.h | 16 +
drivers/md/raid5-cache.c | 40 +-
drivers/md/raid5-log.h | 77 ++-
drivers/md/raid5-ppl.c | 2 +-
drivers/md/raid5.c | 646 +++++++++++++-------
drivers/nvme/Kconfig | 1 +
drivers/nvme/Makefile | 1 +
drivers/nvme/common/Kconfig | 4 +
drivers/nvme/common/Makefile | 7 +
drivers/nvme/common/auth.c | 482 +++++++++++++++
drivers/nvme/host/Kconfig | 15 +
drivers/nvme/host/Makefile | 1 +
drivers/nvme/host/apple.c | 7 +-
drivers/nvme/host/auth.c | 1017 ++++++++++++++++++++++++++++++++
drivers/nvme/host/core.c | 190 +++++-
drivers/nvme/host/fabrics.c | 94 ++-
drivers/nvme/host/fabrics.h | 7 +
drivers/nvme/host/multipath.c | 6 +-
drivers/nvme/host/nvme.h | 39 +-
drivers/nvme/host/pci.c | 6 +-
drivers/nvme/host/rdma.c | 14 +-
drivers/nvme/host/tcp.c | 13 +-
drivers/nvme/host/trace.c | 32 +
drivers/nvme/target/Kconfig | 15 +
drivers/nvme/target/Makefile | 1 +
drivers/nvme/target/admin-cmd.c | 4 +-
drivers/nvme/target/auth.c | 525 +++++++++++++++++
drivers/nvme/target/configfs.c | 138 ++++-
drivers/nvme/target/core.c | 15 +
drivers/nvme/target/fabrics-cmd-auth.c | 545 +++++++++++++++++
drivers/nvme/target/fabrics-cmd.c | 55 +-
drivers/nvme/target/loop.c | 8 +-
drivers/nvme/target/nvmet.h | 75 ++-
include/crypto/hash.h | 2 +
include/crypto/kpp.h | 2 +
include/linux/base64.h | 16 +
include/linux/nvme-auth.h | 41 ++
include/linux/nvme.h | 213 ++++++-
lib/Makefile | 2 +-
lib/base64.c | 103 ++++
58 files changed, 4474 insertions(+), 532 deletions(-)
create mode 100644 drivers/nvme/common/Kconfig
create mode 100644 drivers/nvme/common/Makefile
create mode 100644 drivers/nvme/common/auth.c
create mode 100644 drivers/nvme/host/auth.c
create mode 100644 drivers/nvme/target/auth.c
create mode 100644 drivers/nvme/target/fabrics-cmd-auth.c
create mode 100644 include/linux/base64.h
create mode 100644 include/linux/nvme-auth.h
create mode 100644 lib/base64.c
--
Jens Axboe
next reply other threads:[~2022-07-31 15:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-31 15:03 Jens Axboe [this message]
2022-08-02 21:18 ` [GIT PULL] Block driver changes for 5.20-rc1 Linus Torvalds
2022-08-02 21:33 ` Keith Busch
2022-08-02 21:35 ` Jens Axboe
2022-08-02 21:50 ` Linus Torvalds
2022-08-02 22:24 ` Jens Axboe
2022-08-02 22:26 ` Jens Axboe
2022-08-02 22:27 ` Linus Torvalds
2022-08-02 22:33 ` Jens Axboe
2022-08-02 22:48 ` Linus Torvalds
2022-08-02 22:59 ` Jens Axboe
2022-08-02 23:03 ` Linus Torvalds
2022-08-02 23:08 ` Jens Axboe
2022-08-03 15:16 ` Jens Axboe
2022-08-03 16:26 ` Linus Torvalds
2022-08-03 16:51 ` Nick Desaulniers
2022-08-03 16:53 ` Jens Axboe
2022-08-03 17:00 ` Linus Torvalds
2022-08-03 17:38 ` Nick Desaulniers
2022-08-03 17:45 ` Jens Axboe
2022-08-03 18:06 ` Nick Desaulniers
2022-08-04 16:17 ` Jens Axboe
2022-08-03 16:56 ` Linus Torvalds
2022-08-03 17:30 ` Christoph Hellwig
2022-08-03 17:42 ` Linus Torvalds
2022-08-03 17:49 ` Christoph Hellwig
2022-08-03 17:54 ` Linus Torvalds
2022-08-06 7:44 ` Christoph Hellwig
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=87f60512-9242-49d1-eae1-394eb7a34760@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=torvalds@linux-foundation.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.