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 | 80 | struct ublksrv_ctrl_dev_info { |
| 81 | 81 | __u16 nr_hw_queues; |
| 82 | 82 | __u16 queue_depth; |
| 83 | − __u16 block_size; | |
| 84 | 83 | __u16 state; |
| 84 | + __u16 pad0; | |
| 85 | 85 | |
| 86 | − __u32 rq_max_blocks; | |
| 86 | + __u32 max_io_buf_bytes; | |
| 87 | 87 | __u32 dev_id; |
| 88 | 88 | |
| 89 | − __u64 dev_blocks; | |
| 90 | − | |
| 91 | 89 | __s32 ublksrv_pid; |
| 92 | − __s32 reserved0; | |
| 90 | + __u32 pad1; | |
| 91 | + | |
| 93 | 92 | __u64 flags; |
| 94 | − __u64 flags_reserved; | |
| 95 | 93 | |
| 96 | 94 | /* For ublksrv internal use, invisible to ublk driver */ |
| 97 | 95 | __u64 ublksrv_flags; |
| 98 | − __u64 reserved1[9]; | |
| 96 | + | |
| 97 | + __u64 reserved0; | |
| 98 | + __u64 reserved1; | |
| 99 | + __u64 reserved2; | |
| 99 | 100 | }; |
| 100 | 101 | |
| 101 | 102 | #define UBLK_IO_OP_READ 0 |