Skip to content

Commit

Permalink
[storage] Remove NVMe parameters from front-end that don't belong
Browse files Browse the repository at this point in the history
Many of these will end up on the middle/back-end instead.

Signed-off-by: Ben Walker <[email protected]>
  • Loading branch information
Ben Walker authored and glimchb committed Nov 17, 2022
1 parent ffe4aad commit ca2c25b
Show file tree
Hide file tree
Showing 11 changed files with 831 additions and 2,344 deletions.
6 changes: 0 additions & 6 deletions storage/v1alpha1/autogen.md
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,6 @@ Back End (network-facing) APIs. NVMe/TCP and NVMe/RoCEv2 protocols are covered b
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| subsystem_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | |
| controller_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | |
| page_size | [int32](#int32) | | |
| page_token | [string](#string) | | |

Expand Down Expand Up @@ -1164,16 +1163,11 @@ Back End (network-facing) APIs. NVMe/TCP and NVMe/RoCEv2 protocols are covered b
| ----- | ---- | ----- | ----------- |
| id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | namespace&#39;s unique key |
| subsystem_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | subsystem for this namespace |
| controller_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | key of the PCIe controller object that will host this namespace. |
| host_nsid | [int32](#int32) | | NSID present to the host by the NVMe PCIe controller. If not provided, then the controller will assign an unused NSID within the max namespace range - auto assigned nsid may not work for live migration |
| block_size | [int64](#int64) | | Block size in bytes, must be power of 2 and must be less than the max io size supported. Typically tested values are 512, and 4k. |
| blocks_count | [int64](#int64) | | Size/Capacity of the namespace in blocks, size in bytes will be BlockSize x NumBlocks. |
| nguid | [string](#string) | | Globally unique identifier for the namespace |
| eui64 | [int64](#int64) | | 64bit Extended unique identifier for the namespace mandatory if guid is not specified |
| uuid | [opi_api.common.v1.Uuid](#opi_api-common-v1-Uuid) | | Globally unique identifier for the namespace |
| volume_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | The back/middle-end volume to back this namespace. |
| optimal_write_size | [int32](#int32) | | optimal write size hint to host driver. Host IO stack may use this to regulate IO size. Must be a multiple of the preferred write granularity. Must not exceed the controller maximum IO size value configured in the nvme agent config file. |
| pref_write_granularity | [int32](#int32) | | preferred write granularity hint to the host driver. Host IO stack may use this to align IO sizes to the write granularity for optimum performance. |



Expand Down
27 changes: 2 additions & 25 deletions storage/v1alpha1/frontend_nvme_pcie.proto
Original file line number Diff line number Diff line change
Expand Up @@ -195,23 +195,12 @@ message NVMeNamespaceSpec {
// subsystem for this namespace
common.v1.ObjectKey subsystem_id = 2;

// key of the PCIe controller object that will host this namespace.
common.v1.ObjectKey controller_id = 3;

// NSID present to the host by the NVMe PCIe controller.
// If not provided, then the controller will assign an unused NSID
// within the max namespace range - auto assigned nsid may not work
// for live migration
int32 host_nsid = 4;

// Block size in bytes, must be power of 2 and must be less than the max
// io size supported. Typically tested values are 512, and 4k.
int64 block_size = 5;

// Size/Capacity of the namespace in blocks, size in bytes will
// be BlockSize x NumBlocks.
int64 blocks_count = 6;

// Globally unique identifier for the namespace
string nguid = 7;

Expand All @@ -224,17 +213,6 @@ message NVMeNamespaceSpec {

// The back/middle-end volume to back this namespace.
common.v1.ObjectKey volume_id = 10;

// optimal write size hint to host driver. Host IO stack may use
// this to regulate IO size. Must be a multiple of the preferred write
// granularity. Must not exceed the controller maximum IO size value
// configured in the nvme agent config file.
int32 optimal_write_size = 11;

// preferred write granularity hint to the host driver. Host IO
// stack may use this to align IO sizes to the write granularity for
// optimum performance.
int32 pref_write_granularity= 12;
}

message NVMeNamespaceStatus {
Expand Down Expand Up @@ -329,9 +307,8 @@ message UpdateNVMeNamespaceRequest {

message ListNVMeNamespaceRequest {
common.v1.ObjectKey subsystem_id = 1;
common.v1.ObjectKey controller_id = 2;
int32 page_size = 3;
string page_token = 4;
int32 page_size = 2;
string page_token = 3;
}

message ListNVMeNamespaceResponse {
Expand Down
573 changes: 187 additions & 386 deletions storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc

Large diffs are not rendered by default.

Loading

0 comments on commit ca2c25b

Please sign in to comment.