Windows Version
Microsoft Windows [Version 10.0.26200.9106]
WSL Version
2.9.9.0
Are you using WSL 1 or WSL 2?
Kernel Version
6.18.40.1-microsoft-standard-WSL2
Distro Version
Ubuntu 24.04
Other Software
usbipd-win
Repro Steps
See related investigation: dorssel/usbipd-win#1464.
Create the mount point if it does not already exist:
mkdir -p /var/run/usbipd-win
Run the DrvFs mount command used by usbipd-win:
mount -t drvfs -o "ro,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
This fails:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (...) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Specifying the options as separate -o arguments also fails:
mount -t drvfs -o ro -o umask=222 "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (5018 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Adding metadata does not help:
mount -t drvfs -o "ro,metadata,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (9663 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Even a single standard option fails:
mount -t drvfs -o "ro" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (9684 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
However, replacing the comma with a semicolon unexpectedly succeeds:
mount -t drvfs -o "ro;umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
The resulting mount is accessible:
ls -la /var/run/usbipd-win
total 216
dr-xr-xr-x 1 root root 4096 Aug 26 13:55 .
drwxr-xr-x 40 root root 1160 Aug 28 09:18 ..
-r--r--r-- 1 root root 440 Oct 5 2025 README.md
-r-xr-xr-x 1 root root 162352 Oct 5 2025 usbip
-r-xr-xr-x 1 root root 55768 Oct 5 2025 usbip-auto-attach
There is no relevant output in dmesg after the failed mounts.
Expected Behavior
DrvFs should accept normal Linux mount option syntax.
In particular, this should succeed:
mount -t drvfs -o "ro,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Comma-separated options are the normal syntax for mount -o.
At minimum, a single option should also work:
mount -t drvfs -o "ro" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
The original reporter of dorssel/usbipd-win#1464 reports that the comma-separated form worked after downgrading WSL from 2.9.8 to 2.9.4, indicating that this is a regression in recent WSL versions.
Actual Behavior
On WSL 2.9.9.0, DrvFs mounts using normal mount -o syntax fail with:
mount(2) system call failed: Operation not supported.
<3>WSL (...) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
The following forms all fail:
-o "ro,umask=222"
-o ro -o umask=222
-o "ro,metadata,umask=222"
-o "ro"
Unexpectedly, this succeeds:
-o "ro;umask=222"
A semicolon is not the standard separator for Linux mount options, so this appears to be a regression in DrvFs option handling rather than an usbipd-win issue.
This currently breaks usbipd-win's WSL integration because it uses the standard comma-separated DrvFs mount options.
Diagnostic Logs
There is no relevant output in dmesg after reproducing the failure.
Environment:
WSL version: 2.9.9.0
Kernel version: 6.18.40.1-1
WSLg version: 1.0.79
MSRDC version: 1.2.7214
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.9106
Windows Version
Microsoft Windows [Version 10.0.26200.9106]
WSL Version
2.9.9.0
Are you using WSL 1 or WSL 2?
Kernel Version
6.18.40.1-microsoft-standard-WSL2
Distro Version
Ubuntu 24.04
Other Software
usbipd-win
Repro Steps
See related investigation: dorssel/usbipd-win#1464.
Create the mount point if it does not already exist:
mkdir -p /var/run/usbipd-win
Run the DrvFs mount command used by usbipd-win:
mount -t drvfs -o "ro,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
This fails:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (...) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Specifying the options as separate -o arguments also fails:
mount -t drvfs -o ro -o umask=222 "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (5018 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Adding metadata does not help:
mount -t drvfs -o "ro,metadata,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (9663 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
Even a single standard option fails:
mount -t drvfs -o "ro" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Output:
mount: /run/usbipd-win: mount(2) system call failed: Operation not supported.
dmesg(1) may have more information after failed mount system call.
<3>WSL (9684 - ) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
However, replacing the comma with a semicolon unexpectedly succeeds:
mount -t drvfs -o "ro;umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
The resulting mount is accessible:
ls -la /var/run/usbipd-win
total 216
dr-xr-xr-x 1 root root 4096 Aug 26 13:55 .
drwxr-xr-x 40 root root 1160 Aug 28 09:18 ..
-r--r--r-- 1 root root 440 Oct 5 2025 README.md
-r-xr-xr-x 1 root root 162352 Oct 5 2025 usbip
-r-xr-xr-x 1 root root 55768 Oct 5 2025 usbip-auto-attach
There is no relevant output in dmesg after the failed mounts.
Expected Behavior
DrvFs should accept normal Linux mount option syntax.
In particular, this should succeed:
mount -t drvfs -o "ro,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
Comma-separated options are the normal syntax for mount -o.
At minimum, a single option should also work:
mount -t drvfs -o "ro" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
The original reporter of dorssel/usbipd-win#1464 reports that the comma-separated form worked after downgrading WSL from 2.9.8 to 2.9.4, indicating that this is a regression in recent WSL versions.
Actual Behavior
On WSL 2.9.9.0, DrvFs mounts using normal mount -o syntax fail with:
mount(2) system call failed: Operation not supported.
<3>WSL (...) ERROR: UtilCreateProcessAndWait:735: /bin/mount failed with status 0x2000
The following forms all fail:
-o "ro,umask=222"
-o ro -o umask=222
-o "ro,metadata,umask=222"
-o "ro"
Unexpectedly, this succeeds:
-o "ro;umask=222"
A semicolon is not the standard separator for Linux mount options, so this appears to be a regression in DrvFs option handling rather than an usbipd-win issue.
This currently breaks usbipd-win's WSL integration because it uses the standard comma-separated DrvFs mount options.
Diagnostic Logs
There is no relevant output in dmesg after reproducing the failure.
Environment:
WSL version: 2.9.9.0
Kernel version: 6.18.40.1-1
WSLg version: 1.0.79
MSRDC version: 1.2.7214
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.9106