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 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).