Skip to content

Commit 0c4dd4d

Browse files
committed
storage: user-mode storvsc implementation
1 parent 8e5ed50 commit 0c4dd4d

File tree

5 files changed

+1572
-0
lines changed

5 files changed

+1572
-0
lines changed

Cargo.lock

+26
Original file line numberDiff line numberDiff line change
@@ -6509,6 +6509,32 @@ dependencies = [
65096509
"zerocopy 0.8.23",
65106510
]
65116511

6512+
[[package]]
6513+
name = "storvsc_driver"
6514+
version = "0.0.0"
6515+
dependencies = [
6516+
"async-channel",
6517+
"futures",
6518+
"futures-concurrency",
6519+
"guestmem",
6520+
"inspect",
6521+
"pal_async",
6522+
"parking_lot",
6523+
"scsi_buffers",
6524+
"scsi_defs",
6525+
"storvsp_protocol",
6526+
"task_control",
6527+
"test_with_tracing",
6528+
"thiserror 2.0.12",
6529+
"tracing",
6530+
"tracing_helpers",
6531+
"vmbus_async",
6532+
"vmbus_channel",
6533+
"vmbus_ring",
6534+
"vmcore",
6535+
"zerocopy 0.8.23",
6536+
]
6537+
65126538
[[package]]
65136539
name = "storvsp"
65146540
version = "0.0.0"

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ members = [
3434
"vm/devices/storage/disk_nvme/nvme_driver/fuzz",
3535
"vm/devices/storage/ide/fuzz",
3636
"vm/devices/storage/scsi_buffers/fuzz",
37+
"vm/devices/storage/storvsc_driver", # TODO: Remove
3738
"vm/devices/storage/storvsp/fuzz",
3839
"vm/vmcore/guestmem/fuzz",
3940
"vm/x86/x86emu/fuzz",
@@ -273,6 +274,7 @@ scsi_core = { path = "vm/devices/storage/scsi_core" }
273274
scsi_defs = { path = "vm/devices/storage/scsi_defs" }
274275
scsidisk = { path = "vm/devices/storage/scsidisk" }
275276
scsidisk_resources = { path = "vm/devices/storage/scsidisk_resources" }
277+
storvsc_driver = { path = "vm/devices/storage/storvsc_driver" }
276278
storvsp = { path = "vm/devices/storage/storvsp" }
277279
storvsp_protocol = { path = "vm/devices/storage/storvsp_protocol" }
278280
storvsp_resources = { path = "vm/devices/storage/storvsp_resources" }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Copyright (c) Microsoft Corporation.
2+
# Licensed under the MIT License.
3+
4+
[package]
5+
name = "storvsc_driver"
6+
edition.workspace = true
7+
rust-version.workspace = true
8+
9+
[dependencies]
10+
scsi_buffers.workspace = true
11+
scsi_defs.workspace = true
12+
13+
vmbus_async.workspace = true
14+
vmbus_channel.workspace = true
15+
vmbus_ring.workspace = true
16+
17+
storvsp_protocol.workspace = true
18+
19+
guestmem.workspace = true
20+
inspect.workspace = true
21+
pal_async.workspace = true
22+
task_control.workspace = true
23+
vmcore.workspace = true
24+
async-channel.workspace = true
25+
futures.workspace = true
26+
futures-concurrency.workspace = true
27+
parking_lot.workspace = true
28+
thiserror.workspace = true
29+
tracing.workspace = true
30+
tracing_helpers.workspace = true
31+
zerocopy.workspace = true
32+
33+
[dev-dependencies]
34+
pal_async.workspace = true
35+
test_with_tracing.workspace = true
36+
37+
[lints]
38+
workspace = true

0 commit comments

Comments
 (0)