Remove all block device related info from ublksrv_ctrl_dev_info, meantime reduce its size into 64 bytes because: 1) ublksrv_ctrl_dev_info becomes cleaner without including any block related info 2) generic set/get parameter command can be used to set block related setting easily and cleanly 3) generic set/get parameter command can be used for extending ublk without needing more info in ublksrv_ctrl_dev_info
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -80,22 +80,23 @@ struct ublksrv_ctrl_cmd { · 79 unmodified lines | |||
| 80 | struct ublksrv_ctrl_dev_info { | 80 | struct ublksrv_ctrl_dev_info { |
| 81 | __u16 nr_hw_queues; | 81 | __u16 nr_hw_queues; |
| 82 | __u16 queue_depth; | 82 | __u16 queue_depth; |
| 83 | __u16 block_size; | ||
| 84 | __u16 state; | 83 | __u16 state; |
| 84 | __u16 pad0; | ||
| 85 | 85 | ||
| 86 | __u32 rq_max_blocks; | 86 | __u32 max_io_buf_bytes; |
| 87 | __u32 dev_id; | 87 | __u32 dev_id; |
| 88 | 88 | ||
| 89 | __u64 dev_blocks; | ||
| 90 | |||
| 91 | __s32 ublksrv_pid; | 89 | __s32 ublksrv_pid; |
| 92 | __s32 reserved0; | 90 | __u32 pad1; |
| 91 | |||
| 93 | __u64 flags; | 92 | __u64 flags; |
| 94 | __u64 flags_reserved; | ||
| 95 | 93 | ||
| 96 | /* For ublksrv internal use, invisible to ublk driver */ | 94 | /* For ublksrv internal use, invisible to ublk driver */ |
| 97 | __u64 ublksrv_flags; | 95 | __u64 ublksrv_flags; |
| 98 | __u64 reserved1[9]; | 96 | |
| 97 | __u64 reserved0; | ||
| 98 | __u64 reserved1; | ||
| 99 | __u64 reserved2; | ||
| 99 | }; | 100 | }; |
| 100 | 101 | ||
| 101 | #define UBLK_IO_OP_READ 0 | 102 | #define UBLK_IO_OP_READ 0 |