Commit 1de0751
committed
virtiofs: split exit-code reporting and VM-exit request
Split guest exit-code reporting from VM-exit signaling in the virtio-fs path.
Guest exit status reporting and VM termination are different operations and
should not depend on reboot semantics.
Keep KRUN_EXIT_CODE_IOCTL for recording the guest exit status, and add
KRUN_EXIT_VM_IOCTL for explicitly requesting VM exit. Update init.krun to
call sync() and send the explicit VM-exit request instead of rebooting the
guest, and thread the exit request through the virtio-fs device/server/worker
path so the worker signals exit_evt only for the explicit VM-exit request.
This keeps the change focused on the virtio-fs exit protocol and avoids
mixing in unrelated init cleanups.
Signed-off-by: Zewei Yang <yangzewei@loongson.cn>1 parent 788cf91 commit 1de0751
8 files changed
Lines changed: 105 additions & 8 deletions
File tree
- init
- src
- devices/src/virtio/fs
- linux
- macos
- vmm/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
1003 | 1005 | | |
1004 | 1006 | | |
1005 | 1007 | | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
1006 | 1043 | | |
1007 | 1044 | | |
1008 | 1045 | | |
| |||
1241 | 1278 | | |
1242 | 1279 | | |
1243 | 1280 | | |
1244 | | - | |
1245 | | - | |
1246 | 1281 | | |
1247 | 1282 | | |
1248 | 1283 | | |
1249 | 1284 | | |
1250 | 1285 | | |
| 1286 | + | |
1251 | 1287 | | |
1252 | 1288 | | |
1253 | 1289 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
58 | 60 | | |
59 | 61 | | |
60 | 62 | | |
| 63 | + | |
61 | 64 | | |
| 65 | + | |
62 | 66 | | |
63 | 67 | | |
64 | 68 | | |
| |||
83 | 87 | | |
84 | 88 | | |
85 | 89 | | |
| 90 | + | |
| 91 | + | |
86 | 92 | | |
87 | 93 | | |
88 | 94 | | |
| |||
185 | 191 | | |
186 | 192 | | |
187 | 193 | | |
| 194 | + | |
| 195 | + | |
188 | 196 | | |
189 | 197 | | |
190 | 198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
1170 | 1170 | | |
1171 | 1171 | | |
1172 | 1172 | | |
| 1173 | + | |
1173 | 1174 | | |
1174 | 1175 | | |
1175 | 1176 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2179 | 2179 | | |
2180 | 2180 | | |
2181 | 2181 | | |
| 2182 | + | |
2182 | 2183 | | |
2183 | 2184 | | |
2184 | 2185 | | |
| |||
2198 | 2199 | | |
2199 | 2200 | | |
2200 | 2201 | | |
| 2202 | + | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
2201 | 2206 | | |
2202 | 2207 | | |
2203 | 2208 | | |
| |||
2229 | 2234 | | |
2230 | 2235 | | |
2231 | 2236 | | |
| 2237 | + | |
2232 | 2238 | | |
2233 | 2239 | | |
2234 | 2240 | | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
2235 | 2246 | | |
2236 | 2247 | | |
2237 | 2248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2435 | 2435 | | |
2436 | 2436 | | |
2437 | 2437 | | |
| 2438 | + | |
2438 | 2439 | | |
2439 | 2440 | | |
2440 | 2441 | | |
2441 | 2442 | | |
2442 | 2443 | | |
| 2444 | + | |
2443 | 2445 | | |
2444 | 2446 | | |
2445 | 2447 | | |
2446 | 2448 | | |
2447 | 2449 | | |
2448 | 2450 | | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
| 2454 | + | |
2449 | 2455 | | |
2450 | 2456 | | |
2451 | 2457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
| |||
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
137 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
138 | 141 | | |
139 | 142 | | |
140 | 143 | | |
| |||
1185 | 1188 | | |
1186 | 1189 | | |
1187 | 1190 | | |
| 1191 | + | |
1188 | 1192 | | |
1189 | 1193 | | |
1190 | 1194 | | |
| |||
1205 | 1209 | | |
1206 | 1210 | | |
1207 | 1211 | | |
| 1212 | + | |
1208 | 1213 | | |
1209 | 1214 | | |
1210 | 1215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| 48 | + | |
| 49 | + | |
46 | 50 | | |
47 | 51 | | |
48 | 52 | | |
| |||
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
| 61 | + | |
| 62 | + | |
57 | 63 | | |
58 | 64 | | |
59 | 65 | | |
| |||
160 | 166 | | |
161 | 167 | | |
162 | 168 | | |
| 169 | + | |
163 | 170 | | |
164 | 171 | | |
165 | 172 | | |
| |||
173 | 180 | | |
174 | 181 | | |
175 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
176 | 191 | | |
177 | 192 | | |
178 | 193 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
949 | 949 | | |
950 | 950 | | |
951 | 951 | | |
| 952 | + | |
| 953 | + | |
952 | 954 | | |
953 | 955 | | |
954 | 956 | | |
| |||
1030 | 1032 | | |
1031 | 1033 | | |
1032 | 1034 | | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
1033 | 1042 | | |
1034 | 1043 | | |
1035 | 1044 | | |
| |||
1039 | 1048 | | |
1040 | 1049 | | |
1041 | 1050 | | |
| 1051 | + | |
| 1052 | + | |
1042 | 1053 | | |
1043 | 1054 | | |
1044 | 1055 | | |
| |||
1880 | 1891 | | |
1881 | 1892 | | |
1882 | 1893 | | |
| 1894 | + | |
| 1895 | + | |
1883 | 1896 | | |
1884 | 1897 | | |
1885 | 1898 | | |
| |||
1890 | 1903 | | |
1891 | 1904 | | |
1892 | 1905 | | |
| 1906 | + | |
1893 | 1907 | | |
| 1908 | + | |
1894 | 1909 | | |
1895 | 1910 | | |
1896 | 1911 | | |
| |||
0 commit comments