You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The storage layer code in xapi has undergone some changes:
storage_impl.ml is no longer in the repo and is replaced by
`storage_smapiv1_wrapper.ml` and `storage_smapiv1.ml`. Update the
relevant docs to reflect this change.
Signed-off-by: Vincent Liu <[email protected]>
Functionality implemented by higher layers is not implemented by the layers below it.
190
194
191
-
#### Extra functionality in `storage_impl.ml`
192
-
193
-
In addition to its usual functions, `Storage_impl.Wrapper` also implements the
194
-
`UPDATES` and `TASK` SMAPIv2 APIs, without calling the wrapped module.
195
+
#### Extra functionality in `storage_task.ml`
195
196
196
-
These are backed by the `Updates`, `Task_server`, and `Scheduler` modules from
197
+
`storage_smapiv1_wrapper.ml` also implements the `UPDATES` and `TASK` SMAPIv2 APIs. These are backed by the `Updates`, `Task_server`, and `Scheduler` modules from
197
198
xcp-idl, instantiated in xapi's `Storage_task` module. Migration code in
198
199
`Storage_mux` will interact with these to update task progress. There is also
199
200
an event loop in xapi that keeps calling `UPDATES.get` to keep the tasks in
200
201
xapi's database in sync with the storage manager's tasks.
201
202
202
-
`Storage_impl.Wrapper` also implements the legacy `VDI.attach` call by simply
203
+
`Storage_smapiv1_wrapper.ml` also implements the legacy `VDI.attach` call by simply
203
204
calling the newer `VDI.attach2` call in the same module. In general, this is a
204
205
good place to implement a compatibility layer for deprecated functionality
205
206
removed from other layers, because this is the first module that intercepts a
206
207
SMAPIv2 call.
207
208
208
209
#### Extra functionality in `storage_mux.ml`
209
210
210
-
`Storage_mux` implements storage motion (SXM): it implements the `DATA` and
211
-
`DATA.MIRROR` modules. Migration code will use the `Storage_task` module to run
212
-
the operations and update the task's progress.
211
+
`Storage_mux` redirects all storage motion (SXM) code to `storage_migrate.ml`,
212
+
and the multiplexed will be managed by `storage_migrate.ml`. The main implementation
213
+
resides in the `DATA` and `DATA.MIRROR` modules. Migration code will use
214
+
the `Storage_task` module to run the operations and update the task's progress.
213
215
214
216
It also implements the `Policy` module from the SMAPIv2 interface.
215
217
@@ -219,7 +221,7 @@ It also implements the `Policy` module from the SMAPIv2 interface.
0 commit comments