最近 manjaro 更新之后, 发现 fuse.vmhgfs-fuse
共享文件不能写入文件了, 提示 Input/Output Error
.
于是进行测试排查, 进一步排查发现 64KB 以下的文件还是可以的, 于是看 vmfuse 挂载的是否有问题.
cat /proc/mounts
或者 输入 mount
命令查看:
vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) |
没发现什么异常.
然后 google 看看网友有无类似的 error.
接着在 open-vm-tools 项目下发现一个 issue , 刚好我升级了 manjaro 所有包.
里边的 issue 提到这个确实是挂载时的问题, 最直接的解决方案就是挂载时加多一个 max_write 参数.
于是, 我先 umount 该分区:
sudo umount /mnt/hgfs |
如果提示 target is busy
需要找到占用的 pid 并关闭. (sudo lsof /mnt/hgfs)
umount 成功后, 加上 max_write option 重新 mount.
sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other,max_write=61440,uid=1000,gid=1000 |
( id -u niko
和 id -g niko
可以获取 uid 和 gid ).
然后测试 64KB 以上文件写入, 搞定, 就是这个原因了. 还是希望这个 bug 尽快修复.
最后, 升级系统要谨慎, 最好有两台机器, 一台机器先升级, 另一台备用. 而且升级前做好备份.
参考:
vmhgfs-fuse • help
How do I mount shared folders in Ubuntu using VMware tools? - Ask Ubuntu