Skip to content

Commit 50a792a

Browse files
author
James DeFelice
committed
spec: ListVolumes, ListSnapshots consistency.
ListVolumes and ListSnapshots are not guaranteed to provide the CO with a consistent, stable view across paged object lists. This change set clarifies this expectation for COs. Fixes #48
1 parent 0361f62 commit 50a792a

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

spec.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1225,6 +1225,8 @@ The CO MUST implement the specified error recovery behavior when it encounters t
12251225

12261226
A Controller Plugin MUST implement this RPC call if it has `LIST_VOLUMES` capability.
12271227
The Plugin SHALL return the information about all the volumes that it knows about.
1228+
If volumes are created and/or deleted while the CO is concurrently paging through `ListVolumes` results then it is possible that the CO MAY either witness duplicate volumes in the list, not witness existing volumes, or both.
1229+
The CO SHALL NOT expect a consistent "view" of all volumes when paging through the volume list via multiple calls to `ListVolumes`.
12281230

12291231
```protobuf
12301232
message ListVolumesRequest {
@@ -1538,6 +1540,8 @@ The CO MUST implement the specified error recovery behavior when it encounters t
15381540
A Controller Plugin MUST implement this RPC call if it has `LIST_SNAPSHOTS` capability.
15391541
The Plugin SHALL return the information about all snapshots on the storage system within the given parameters regardless of how they were created.
15401542
`ListSnapshots` SHALL NOT list a snapshot that is being created but has not been cut successfully yet.
1543+
If snapshots are created and/or deleted while the CO is concurrently paging through `ListSnapshots` results then it is possible that the CO MAY either witness duplicate snapshots in the list, not witness existing snapshots, or both.
1544+
The CO SHALL NOT expect a consistent "view" of all snapshots when paging through the snapshot list via multiple calls to `ListSnapshots`.
15411545

15421546
```protobuf
15431547
// List all snapshots on the storage system regardless of how they were

0 commit comments

Comments
 (0)