History

Merge tag 'for-linus-2019-10-03' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe: - Mandate timespec64 for the io_uring timeout ABI (Arnd) - Set of NVMe changes via Sagi: - controller removal race fix from Balbir - quirk additions from Gabriel and Jian-Hong - nvme-pci power state save fix from Mario - Add 64bit user commands (for 64bit registers) from Marta - nvme-rdma/nvme-tcp fixes from Max, Mark and Me - Minor cleanups and nits from James, Dan and John - Two s390 dasd fixes (Jan, Stefan) - Have loop change block size in DIO mode (Martijn) - paride pg header ifdef guard (Masahiro) - Two blk-mq queue scheduler tweaks, fixing an ordering issue on zoned devices and suboptimal performance on others (Ming) * tag 'for-linus-2019-10-03' of git://git.kernel.dk/linux-block: (22 commits) block: sed-opal: fix sparse warning: convert __be64 data block: sed-opal: fix sparse warning: obsolete array init. block: pg: add header include guard Revert "s390/dasd: Add discard support for ESE volumes" s390/dasd: Fix error handling during online processing io_uring: use __kernel_timespec in timeout ABI loop: change queue block size to match when using DIO blk-mq: apply normal plugging for HDD blk-mq: honor IO scheduler for multiqueue devices nvme-rdma: fix possible use-after-free in connect timeout nvme: Move ctrl sqsize to generic space nvme: Add ctrl attributes for queue_count and sqsize nvme: allow 64-bit results in passthru commands nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T nvmet-tcp: remove superflous check on request sgl Added QUIRKs for ADATA XPG SX8200 Pro 512GB nvme-rdma: Fix max_hw_sectors calculation nvme: fix an error code in nvme_init_subsystem() nvme-pci: Save PCI state before putting drive into deepest state nvme-tcp: fix wrong stop condition in io_work ...

Linus Torvalds committed 7 years ago

Commit c4bd70e2 parents cc3a7bf a9eb49c14 files · +218 −132Browse files

Showing the changes to include/uapi/linux (2 of 14 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/nvme_ioctl.h +23 −0
  2. include/uapi/linux/pg.h +4 −1
include/uapi/linux/nvme_ioctl.h+23−0
@@ -45,6 +45,27 @@ struct nvme_passthru_cmd { · 44 unmodified lines
4545 __u32 result;
4646 };
4747
48+struct nvme_passthru_cmd64 {
49+ __u8 opcode;
50+ __u8 flags;
51+ __u16 rsvd1;
52+ __u32 nsid;
53+ __u32 cdw2;
54+ __u32 cdw3;
55+ __u64 metadata;
56+ __u64 addr;
57+ __u32 metadata_len;
58+ __u32 data_len;
59+ __u32 cdw10;
60+ __u32 cdw11;
61+ __u32 cdw12;
62+ __u32 cdw13;
63+ __u32 cdw14;
64+ __u32 cdw15;
65+ __u32 timeout_ms;
66+ __u64 result;
67+};
68+
4869 #define nvme_admin_cmd nvme_passthru_cmd
4970
5071 #define NVME_IOCTL_ID _IO('N', 0x40)
@@ -54,5 +75,7 @@ struct nvme_passthru_cmd { · 3 unmodified lines
5475 #define NVME_IOCTL_RESET _IO('N', 0x44)
5576 #define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
5677 #define NVME_IOCTL_RESCAN _IO('N', 0x46)
78+#define NVME_IOCTL_ADMIN64_CMD _IOWR('N', 0x47, struct nvme_passthru_cmd64)
79+#define NVME_IOCTL_IO64_CMD _IOWR('N', 0x48, struct nvme_passthru_cmd64)
5780
5881 #endif /* _UAPI_LINUX_NVME_IOCTL_H */
include/uapi/linux/pg.h+4−1
@@ -35,6 +35,9 @@ · 34 unmodified lines
3535
3636 */
3737
38+#ifndef _UAPI_LINUX_PG_H
39+#define _UAPI_LINUX_PG_H
40+
3841 #define PG_MAGIC 'P'
3942 #define PG_RESET 'Z'
4043 #define PG_COMMAND 'C'
@@ -61,4 +64,4 @@ struct pg_read_hdr { · 20 unmodified lines
6164
6265 };
6366
64−/* end of pg.h */
67+#endif /* _UAPI_LINUX_PG_H */