@samitouri / QOSAMI-WSL / commits / 77a35b9a

virtiofs: enable additional test cases and skip one racey test (#13933)

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

Ben Hillis committed Dec 17, 2025 at 14:02 UTC 77a35b9a0c2d1b527be502c33288a85c0bc0c46d
3 files changed +12 -12
packages.config
+1 -1
@@ -18,7 +18,7 @@
18 <package id="Microsoft.WSL.bsdtar" version="0.0.2-2" />
19 <package id="Microsoft.WSL.Dependencies.amd64fre" version="10.0.27820.1000-250318-1700.rs-base2-hyp" targetFramework="native" />
20 <package id="Microsoft.WSL.Dependencies.arm64fre" version="10.0.27820.1000-250318-1700.rs-base2-hyp" targetFramework="native" />
21 - <package id="Microsoft.WSL.DeviceHost" version="1.0.0-20251202.1" />
21 + <package id="Microsoft.WSL.DeviceHost" version="1.1.8-0" />
22 <package id="Microsoft.WSL.Kernel" version="6.6.114.1-1" targetFramework="native" />
23 <package id="Microsoft.WSL.LinuxSdk" version="1.20.0" targetFramework="native" />
24 <package id="Microsoft.WSL.TestDistro" version="2.5.7-47" />
test/linux/unit_tests/drvfs.c
+7
@@ -1389,6 +1389,13 @@ Return Value:
1389
1390 int Result;
1391
1392 + if (g_LxtFsInfo.FsType == LxtFsTypeVirtioFs)
1393 + {
1394 + LxtLogInfo("TODO: debug this test on virtiofs.");
1395 + Result = 0;
1396 + goto ErrorExit;
1397 + }
1398 +
1399 LxtCheckErrno(LxtFsDeleteCurrentWorkingDirectoryCommon(DRVFS_PREFIX, FS_DELETE_DRVFS));
1400
1401 ErrorExit:
test/windows/DrvFsTests.cpp
+4 -11
@@ -167,17 +167,10 @@ public:
167 VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\ntlink7", L"ntlink2", true));
168 VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\ntlink8", L"foo\uf03abar", false));
169
170 - if (DrvFsMode.has_value() && DrvFsMode.value() == DrvFsMode::VirtioFs)
171 - {
172 - LogInfo("TODO: debug VerifyDrvFsLxSymlink variations on virtiofs");
173 - }
174 - else
175 - {
176 - VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink1"));
177 - VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink2"));
178 - }
170 + VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink1"));
171 + VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink2"));
172
180 - // Since target resolution is done on the Windows side in Plan 9, it is able to create an NT
173 + // Since target resolution is done on the Windows side in Plan 9 and VirtioFs, it is able to create an NT
174 // link if the target path traverses an existing NT link (this is actually better than WSL 1).
175 if (LxsstuVmMode())
176 {
@@ -192,7 +185,7 @@ public:
185 VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink5"));
186 VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink6"));
187
195 - // Plan 9 doesn't know about the Linux mount point on "dir", so it creates an NT link in this case.
188 + // Plan 9 and VirtioFs don't know about the Linux mount point on "dir", so it creates an NT link in this case.
189 if (LxsstuVmMode())
190 {
191 VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink7", L"dir\\..\\file.txt", false));