Merge tag 'for-5.13/drivers-2021-04-27' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Apr 2021 21:39:37 +0000 (14:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Apr 2021 21:39:37 +0000 (14:39 -0700)
Pull block driver updates from Jens Axboe:

 - MD changes via Song:
        - raid5 POWER fix
        - raid1 failure fix
        - UAF fix for md cluster
        - mddev_find_or_alloc() clean up
        - Fix NULL pointer deref with external bitmap
        - Performance improvement for raid10 discard requests
        - Fix missing information of /proc/mdstat

 - rsxx const qualifier removal (Arnd)

 - Expose allocated brd pages (Calvin)

 - rnbd via Gioh Kim:
        - Change maintainer
        - Change domain address of maintainers' email
        - Add polling IO mode and document update
        - Fix memory leak and some bug detected by static code analysis
          tools
        - Code refactoring

 - Series of floppy cleanups/fixes (Denis)

 - s390 dasd fixes (Julian)

 - kerneldoc fixes (Lee)

 - null_blk double free (Lv)

 - null_blk virtual boundary addition (Max)

 - Remove xsysace driver (Michal)

 - umem driver removal (Davidlohr)

 - ataflop fixes (Dan)

 - Revalidate disk removal (Christoph)

 - Bounce buffer cleanups (Christoph)

 - Mark lightnvm as deprecated (Christoph)

 - mtip32xx init cleanups (Shixin)

 - Various fixes (Tian, Gustavo, Coly, Yang, Zhang, Zhiqiang)

* tag 'for-5.13/drivers-2021-04-27' of git://git.kernel.dk/linux-block: (143 commits)
  async_xor: increase src_offs when dropping destination page
  drivers/block/null_blk/main: Fix a double free in null_init.
  md/raid1: properly indicate failure when ending a failed write request
  md-cluster: fix use-after-free issue when removing rdev
  nvme: introduce generic per-namespace chardev
  nvme: cleanup nvme_configure_apst
  nvme: do not try to reconfigure APST when the controller is not live
  nvme: add 'kato' sysfs attribute
  nvme: sanitize KATO setting
  nvmet: avoid queuing keep-alive timer if it is disabled
  brd: expose number of allocated pages in debugfs
  ataflop: fix off by one in ataflop_probe()
  ataflop: potential out of bounds in do_format()
  drbd: Fix fall-through warnings for Clang
  block/rnbd: Use strscpy instead of strlcpy
  block/rnbd-clt-sysfs: Remove copy buffer overlap in rnbd_clt_get_path_name
  block/rnbd-clt: Remove max_segment_size
  block/rnbd-clt: Generate kobject_uevent when the rnbd device state changes
  block/rnbd-srv: Remove unused arguments of rnbd_srv_rdma_ev
  Documentation/ABI/rnbd-clt: Add description for nr_poll_queues
  ...

18 files changed:
1  2 
Documentation/filesystems/locking.rst
MAINTAINERS
drivers/block/floppy.c
drivers/block/null_blk/main.c
drivers/block/null_blk/null_blk.h
drivers/block/xen-blkfront.c
drivers/infiniband/ulp/rtrs/rtrs-clt.c
drivers/nvme/host/core.c
drivers/nvme/host/fc.c
drivers/nvme/host/lightnvm.c
drivers/nvme/host/rdma.c
drivers/nvme/host/tcp.c
drivers/nvme/target/core.c
drivers/nvme/target/loop.c
drivers/nvme/target/tcp.c
drivers/s390/block/dasd.c
fs/block_dev.c
include/linux/blkdev.h

Simple merge
diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1223,9 -1146,26 +1146,9 @@@ static void nvme_keep_alive_end_io(stru
                startka = true;
        spin_unlock_irqrestore(&ctrl->lock, flags);
        if (startka)
-               queue_delayed_work(nvme_wq, &ctrl->ka_work, ctrl->kato * HZ);
+               nvme_queue_keep_alive_work(ctrl);
  }
  
 -static int nvme_keep_alive(struct nvme_ctrl *ctrl)
 -{
 -      struct request *rq;
 -
 -      rq = nvme_alloc_request(ctrl->admin_q, &ctrl->ka_cmd,
 -                      BLK_MQ_REQ_RESERVED);
 -      if (IS_ERR(rq))
 -              return PTR_ERR(rq);
 -
 -      rq->timeout = ctrl->kato * HZ;
 -      rq->end_io_data = ctrl;
 -
 -      blk_execute_rq_nowait(NULL, rq, 0, nvme_keep_alive_end_io);
 -
 -      return 0;
 -}
 -
  static void nvme_keep_alive_work(struct work_struct *work)
  {
        struct nvme_ctrl *ctrl = container_of(to_delayed_work(work),
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1103,11 -1139,10 +1140,9 @@@ static int nvmet_tcp_try_recv_data(stru
                nvmet_tcp_prep_recv_ddgst(cmd);
                return 0;
        }
 -      nvmet_tcp_unmap_pdu_iovec(cmd);
  
-       if (!(cmd->flags & NVMET_TCP_F_INIT_FAILED) &&
-           cmd->rbytes_done == cmd->req.transfer_len) {
-               cmd->req.execute(&cmd->req);
-       }
+       if (cmd->rbytes_done == cmd->req.transfer_len)
+               nvmet_tcp_execute_request(cmd);
  
        nvmet_prepare_receive_pdu(queue);
        return 0;
Simple merge
diff --cc fs/block_dev.c
Simple merge
Simple merge