VMware Workstation 17.x IO error when creating new files via touch
Describe the bug
I am starting to get this after upgrading to VMware Workstation 17. Also present on 17.0.1. If I do something like "touch filename" on the shared folder I get an error stating "touch: setting times of 'filename': Input/output error". Moves appear to be fine, but creating a new file via touch is producing the error.
Reproduction steps
My configuration is as below:
Host
Windows 11 Pro 22H2 22621.1105
VMware Workstation 17.0.1
Guest
Operating System: Manjaro Linux
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8
Kernel Version: 6.0.19-4-MANJARO (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 7 5700G with Radeon Graphics
Memory: 7.7 GiB of RAM
Graphics Processor: SVGA3D; build: RELEASE; LLVM;
Manufacturer: VMware, Inc.
Product Name: VMware20,1
System Version: None
- "touch filename" to path on shared folder
- receive error stating "touch: setting times of 'filename': Input/output error"
Expected behavior
"filename" will be created in the target path on the shared folder without an input/output error.
Additional context
No response
@dbjungle
Thanks for filing a new issue. I am creating an internal PR to track this and will attempt to reproduce the issue within VMware.
For clarification and help with the reproduction of the issue, I have some questions. Can you enumerate all the folders under /mnt/hgfs/... ? Can you cat files located under the /mnt/hgfs/... ? It is just creating a new file using the touch command? You have verified the Shared Folder properties in the UI, to make sure that it is not read-only? On the host file system the folder that you are sharing is writable, and you can create files there? Can you upload the vmx file for the VM for us to look over? Thanks.
@dbjungle
I have done the following steps to reproduce the problem.
-
Installed Manjaro Linux KDE 22.0.3 on Workstation Pro 16.x on Windows 10.
- enabled the shared folder feature to a directory in my Windows user directory.
- "touch /mnt/hgfs/HGFS-share/touch-test.txt" WORKS
-
Upgraded WS 16.x to WS Pro 17.0.1
-
Booted the Manjaro Linux (KDE) 22.0.3 guest.
- re-enabled the shared folder feature.
- "touch /mnt/hgfs/HGFS-share/touch-test-17.txt" WORKS
Able to see both "touch-test*" files in the shared folder on Windows desktop.
So seeing nothing WS 17.x specific here. The next step is to look closer at the shared folder filesystem configuration on your set up.
Please provide the answers the @lousybrit asked in the previous comment.
Also please share:
- the output of "ls -lR /mnt/hgfs" on your Manjaro VM.
- the contents of /etc/fstab
- the *.vmx file for the Manjaro VM (in the VM directory on your Windows system)
Thank you.
@dbjungle
Ping ! We are unable to reproduce the failure in-house. Without the requested information we cannot triage the problem.
If you have resolved your issue(s), please share your solution.
Thanks
Hi @johnwvmw sorry, I had a rough few weeks with work. I am still having the issue. I will try to gather more information on this tonight.
Hi @dbjungle. Not a problem, work has a habit of doing that. So when you have a chance. Thanks.
Hi @lousybrit @johnwvmw here are the answers to these questions.
I am able to enumerate the folders:
dbjungle@ddb-vmw-manjaro:~/VMWFS$ cd G/
dbjungle@ddb-vmw-manjaro:~/VMWFS/G$ ls -b |nl -s '. ' -w 1
1. GSI\ ROMS
2. notes
3. router
I am able to cat the contents:
dbjungle@ddb-vmw-manjaro:~/VMWFS/G$ cat **
cat: 'GSI ROMS': Is a directory
cat: notes: Is a directory
cat: router: Is a directory
I am only having this error when using the touch command. Everything else atleast appears to be working properly.
I have confirmed that the host directory is not read-only.
I have also confirmed that the host directory is writable and I can create new files in it.
I am able to list the contents:
dbjungle@ddb-vmw-manjaro:~/VMWFS/G$ ls -lR /home/dbjungle/VMWFS/G/
/home/dbjungle/VMWFS/G/:
total 0
drwxrwxrwx 1 root root 0 Feb 15 22:10 'GSI ROMS'
drwxrwxrwx 1 root root 0 Mar 16 00:03 notes
drwxrwxrwx 1 root root 0 Jan 21 15:03 router
'/home/dbjungle/VMWFS/G/GSI ROMS':
total 0
drwxrwxrwx 1 root root 0 Feb 15 22:14 'Android 13'
'/home/dbjungle/VMWFS/G/GSI ROMS/Android 13':
total 8792143
-rwxrwxrwx 1 root root 1052322336 Feb 15 22:10 ArrowOS-13.0-arm64_bgN-slim-Unofficial.img.xz
-rwxrwxrwx 1 root root 1195702428 Feb 15 22:09 ArrowOS-13.0-arm64_bgN-Unofficial.img.xz
-rwxrwxrwx 1 root root 873016420 Feb 15 22:01 DerpFest-13_arm64-bgN-slim-UNOFFICIAL.img.xz
-rwxrwxrwx 1 root root 1259201744 Feb 15 22:01 DerpFest-13_arm64-bgN-UNOFFICIAL.img.xz
-rwxrwxrwx 1 root root 906570768 Feb 15 22:13 lineage-20.0-20230115-UNOFFICIAL-arm64_bgN.img.xz
-rwxrwxrwx 1 root root 1035324716 Feb 15 22:14 lineage-20.0-20230214-UNOFFICIAL-gsi_arm64_gN.img.xz
-rwxrwxrwx 1 root root 1536913272 Feb 15 21:56 PixelExperience_Plus_arm64-ab-13.0-20230104-UNOFFICIAL.img.xz
-rwxrwxrwx 1 root root 1144099864 Feb 15 21:54 PixelExperience_Plus_arm64-ab-slim-13.0-20230104-UNOFFICIAL.img.xz
/home/dbjungle/VMWFS/G/notes:
total 2
-rwxrwxrwx 1 root root 1943 Mar 16 00:04 230119.txt
/home/dbjungle/VMWFS/G/router:
total 960484
-rwxrwxrwx 1 root root 57563136 Jul 27 2022 mikrotik-7.4.iso
-rwxrwxrwx 1 root root 57751552 Jan 17 18:09 mikrotik-7.7.iso
-rwxrwxrwx 1 root root 420478976 Jan 21 15:02 vyos-1.3.2-lts-amd64.iso
-rwxrwxrwx 1 root root 447741952 Jan 17 18:12 vyos-1.4-rolling-202301151434-amd64.iso
dbjungle@ddb-vmw-manjaro:~/VMWFS/G$
I am using a service to mount the device, but here is fstab:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=8DE1-80AF /boot/efi vfat umask=0077 0 2
UUID=2482d3f2-876b-496c-b279-a973e889acfb / ext4 defaults,noatime 0 1
UUID=c5406de4-322d-49df-a846-8a51514b4b84 swap swap defaults,noatime 0 0
Here is the contents of the service called vmwfs-g.service:
[Unit]
Description=Load VMware shared folders
Requires=vmware-vmblock-fuse.service
After=vmware-vmblock-fuse.service
ConditionPathExists=.host:/G
ConditionVirtualization=vmware
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/vmhgfs-fuse -o allow_other -o auto_unmount .host:/G /home/dbjungle/VMWFS/G/
[Install]
WantedBy=multi-user.target
@dbjungle @lousybrit @johnwvmw
Maybe I can add some helpful information. The same thing is happening to me BUT only for USB drives that are shared (via shared folders) to a VM. I can enable a shared folder on the host's hard drive, and touch produces no errors. But enabling a shared folder that is really on a 'connected to the host' USB drive, produces the error.
$ touch test.txt touch: setting times of "test.txt": Input/output error
I'm trying to keep the usb drives connected to the host and at the same time allow the VM to write files there.
Hi there,
This is really helpful.
Maybe I can add some helpful information. The same thing is happening to me BUT only for USB drives that are shared (via shared folders) to a VM. I can enable a shared folder on the host's hard drive, and touch produces no errors. But enabling a shared folder that is really on a 'connected to the host' USB drive, produces the error.
I will try and reproduce this on my setup. Steve