Pull block updates from Jens Axboe: - NVMe pull requests via Christoph: - handle number of queue changes in the TCP and RDMA drivers (Daniel Wagner) - allow changing the number of queues in nvmet (Daniel Wagner) - also consider host_iface when checking ip options (Daniel Wagner) - don't map pages which can't come from HIGHMEM (Fabio M. De Francesco) - avoid unnecessary flush bios in nvmet (Guixin Liu) - shrink and better pack the nvme_iod structure (Keith Busch) - add comment for unaligned "fake" nqn (Linjun Bao) - print actual source IP address through sysfs "address" attr (Martin Belanger) - various cleanups (Jackie Liu, Wolfram Sang, Genjian Zhang) - handle effects after freeing the request (Keith Busch) - copy firmware_rev on each init (Keith Busch) - restrict management ioctls to admin (Keith Busch) - ensure subsystem reset is single threaded (Keith Busch) - report the actual number of tagset maps in nvme-pci (Keith Busch) - small fabrics authentication fixups (Christoph Hellwig) - add common code for tagset allocation and freeing (Christoph Hellwig) - stop using the request_queue in nvmet (Christoph Hellwig) - set min_align_mask before calculating max_hw_sectors (Rishabh Bhatnagar) - send a rediscover uevent when a persistent discovery controller reconnects (Sagi Grimberg) - misc nvmet-tcp fixes (Varun Prakash, zhenwei pi) - MD pull request via Song: - Various raid5 fix and clean up, by Logan Gunthorpe and David Sloan. - Raid10 performance optimization, by Yu Kuai. - sbitmap wakeup hang fixes (Hugh, Keith, Jan, Yu) - IO scheduler switching quisce fix (Keith) - s390/dasd block driver updates (Stefan) - support for recovery for the ublk driver (ZiyangZhang) - rnbd drivers fixes and updates (Guoqing, Santosh, ye, Christoph) - blk-mq and null_blk map fixes (Bart) - various bcache fixes (Coly, Jilin, Jules) - nbd signal hang fix (Shigeru) - block writeback throttling fix (Yu) - optimize the passthrough mapping handling (me) - prepare block cgroups to being gendisk based (Christoph) - get rid of an old PSI hack in the block layer, moving it to the callers instead where it belongs (Christoph) - blk-throttle fixes and cleanups (Yu) - misc fixes and cleanups (Liu Shixin, Liu Song, Miaohe, Pankaj, Ping-Xiang, Wolfram, Saurabh, Li Jinlin, Li Lei, Lin, Li zeming, Miaohe, Bart, Coly, Gaosheng * tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux: (162 commits) sbitmap: fix lockup while swapping block: add rationale for not using blk_mq_plug() when applicable block: adapt blk_mq_plug() to not plug for writes that require a zone lock s390/dasd: use blk_mq_alloc_disk blk-cgroup: don't update the blkg lookup hint in blkg_conf_prep nvmet: don't look at the request_queue in nvmet_bdev_set_limits nvmet: don't look at the request_queue in nvmet_bdev_zone_mgmt_emulate_all blk-mq: use quiesced elevator switch when reinitializing queues block: replace blk_queue_nowait with bdev_nowait nvme: remove nvme_ctrl_init_connect_q nvme-loop: use the tagset alloc/free helpers nvme-loop: store the generic nvme_ctrl in set->driver_data nvme-loop: initialize sqsize later nvme-fc: use the tagset alloc/free helpers nvme-fc: store the generic nvme_ctrl in set->driver_data nvme-fc: keep ctrl->sqsize in sync with opts->queue_size nvme-rdma: use the tagset alloc/free helpers nvme-rdma: store the generic nvme_ctrl in set->driver_data nvme-tcp: use the tagset alloc/free helpers nvme-tcp: store the generic nvme_ctrl in set->driver_data ...
Showing the changes to include/uapi/linux (2 of 135 files). Show all
Unified · Split
| @@ -132,6 +132,18 @@ struct opal_read_write_table { · 131 unmodified lines | ||
| 132 | 132 | __u64 priv; |
| 133 | 133 | }; |
| 134 | 134 | |
| 135 | +#define OPAL_FL_SUPPORTED 0x00000001 | |
| 136 | +#define OPAL_FL_LOCKING_SUPPORTED 0x00000002 | |
| 137 | +#define OPAL_FL_LOCKING_ENABLED 0x00000004 | |
| 138 | +#define OPAL_FL_LOCKED 0x00000008 | |
| 139 | +#define OPAL_FL_MBR_ENABLED 0x00000010 | |
| 140 | +#define OPAL_FL_MBR_DONE 0x00000020 | |
| 141 | + | |
| 142 | +struct opal_status { | |
| 143 | + __u32 flags; | |
| 144 | + __u32 reserved; | |
| 145 | +}; | |
| 146 | + | |
| 135 | 147 | #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) |
| 136 | 148 | #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) |
| 137 | 149 | #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key) |
| @@ -148,5 +160,6 @@ struct opal_read_write_table { · 10 unmodified lines | ||
| 148 | 160 | #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) |
| 149 | 161 | #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) |
| 150 | 162 | #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table) |
| 163 | +#define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status) | |
| 151 | 164 | |
| 152 | 165 | #endif /* _UAPI_SED_OPAL_H */ |
| @@ -17,7 +17,8 @@ · 16 unmodified lines | ||
| 17 | 17 | #define UBLK_CMD_STOP_DEV 0x07 |
| 18 | 18 | #define UBLK_CMD_SET_PARAMS 0x08 |
| 19 | 19 | #define UBLK_CMD_GET_PARAMS 0x09 |
| 20 | − | |
| 20 | +#define UBLK_CMD_START_USER_RECOVERY 0x10 | |
| 21 | +#define UBLK_CMD_END_USER_RECOVERY 0x11 | |
| 21 | 22 | /* |
| 22 | 23 | * IO commands, issued by ublk server, and handled by ublk driver. |
| 23 | 24 | * |
| @@ -74,9 +75,14 @@ · 50 unmodified lines | ||
| 74 | 75 | */ |
| 75 | 76 | #define UBLK_F_NEED_GET_DATA (1UL << 2) |
| 76 | 77 | |
| 78 | +#define UBLK_F_USER_RECOVERY (1UL << 3) | |
| 79 | + | |
| 80 | +#define UBLK_F_USER_RECOVERY_REISSUE (1UL << 4) | |
| 81 | + | |
| 77 | 82 | /* device state */ |
| 78 | 83 | #define UBLK_S_DEV_DEAD 0 |
| 79 | 84 | #define UBLK_S_DEV_LIVE 1 |
| 85 | +#define UBLK_S_DEV_QUIESCED 2 | |
| 80 | 86 | |
| 81 | 87 | /* shipped via sqe->cmd of io_uring command */ |
| 82 | 88 | struct ublksrv_ctrl_cmd { |