Unlike FreeBSD, NetBSD does not provide native support for FUSE. Although it has a similar framework called puffs, the fstatvfs(2) function never returns "fusefs".
From: Akihiro Sagawa sagawa.aki@gmail.com
Unlike FreeBSD, NetBSD does not provide native support for FUSE. Although it has a similar framework called puffs, the fstatvfs(2) function never returns "fusefs". --- dlls/ntdll/unix/file.c | 17 ----------------- 1 file changed, 17 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 4b9d063ff3d..958ae9a6937 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -1297,23 +1297,6 @@ static BOOLEAN get_dir_case_sensitivity_stat( int root_fd, const char *dir ) #endif return TRUE;
-#elif defined(__NetBSD__) - struct statvfs stfs; - int fd; - - if ((fd = openat( root_fd, dir, O_RDONLY )) == -1) return TRUE; - if (fstatvfs( fd, &stfs ) == -1) - { - close( fd ); - return TRUE; - } - close( fd ); - /* Only assume CIOPFS is case insensitive. */ - if (strcmp( stfs.f_fstypename, "fusefs" ) || - strncmp( stfs.f_mntfromname, "ciopfs", 5 )) - return FALSE; - return TRUE; - #elif defined(__linux__) BOOLEAN sens = TRUE; struct statfs stfs;
I initially attempted to fix [Bug 58571](https://bugs.winehq.org/show_bug.cgi?id=58571) by applying the following patch. However, I later discovered that the NetBSD kernel does not support FUSE. Therefore, I propose removing the entire block.
```patch --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -1309,8 +1309,8 @@ static BOOLEAN get_dir_case_sensitivity_stat( int root_fd, const char *dir ) } close( fd ); /* Only assume CIOPFS is case insensitive. */ - if (strcmp( stfs.f_fstypename, "fusefs" ) || - strncmp( stfs.f_mntfromname, "ciopfs", 5 )) + if (!strcmp( stfs.f_fstypename, "fusefs" ) && + !strncmp( stfs.f_mntfromname, "ciopfs", 5 )) return FALSE; return TRUE; ```