-
Rename import path to
github.com/winfsp/cgofuse
. -
Convert package to module.
-
Support FUSE3 on Linux and FreeBSD. By default, cgofuse will link with FUSE2. To link with FUSE3 add
-tags=fuse3
to yourgo build
flags. (PR #87; thanks @jfantinhardesty) -
Preliminary support for Windows on ARM64.
-
Support Linux distributions that place
fusermount
in/usr/bin
. -
Add
FileSystemChmod3
interface.Chmod3
is similar toChmod
except that it includes a file handle that is available only under FUSE3. -
Add
FileSystemChown3
interface.Chown3
is similar toChown
except that it includes a file handle that is available only under FUSE3. -
Add
FileSystemUtimens3
interface.Utimens3
is similar toUtimens
except that it includes a file handle that is available only under FUSE3. -
Add
FileSystemRename3
interface.Rename3
is similar toRename
except that it includes flags that are available only under FUSE3. These flags includeRENAME_NOREPLACE
andRENAME_EXCHANGE
. -
Add
FileSystemGetpath
interface. A case-insensitive file system can useGetpath
to report the correct case of a file path on Windows. -
Add
FileSystemHost.SetCapDeleteAccess
. A file system can use this capability to deny delete access on Windows. Such a file system must:- Implement the
Access
file system operation and handle the newfuse.DELETE_OK
mask to return-fuse.EPERM
for files that should not be deleted. An example implementation might look like:func (fs *filesystem) Access(path string, mask uint32) int { if "windows" == runtime.GOOS { if 0 != mask&fuse.DELETE_OK { if "/nounlink" == path { return -fuse.EPERM } } return 0 } else { return -fuse.ENOSYS } }
- Return
-fuse.EPERM
fromUnlink
/Rmdir
for files that should not be deleted.
- Implement the
-
Add
FileSystemHost.SetCapOpenTrunc
. A file system can use this capability to inform the host that it can handle theO_TRUNC
flag. -
Add
FileSystemHost.SetDirectIO
. A file system can use this capability to disable page caching on FUSE3. -
Add
FileSystemHost.SetUseIno
. A file system can use this capability when it wants the host to use theino
values reported byGetattr
and other operations on FUSE3.