Avoid double setting values in statfs

This commit is contained in:
Naoki Ikeguchi 2022-01-23 19:29:19 +09:00 committed by Andrew Gaul
parent 451602e58d
commit 41aaa4184f

View File

@ -2332,16 +2332,18 @@ static int s3fs_statfs(const char* _path, struct statvfs* stbuf)
{
// WTF8_ENCODE(path)
stbuf->f_bsize = 16 * 1024 * 1024;
stbuf->f_blocks = static_cast<fsblkcnt_t>(~0) / stbuf->f_bsize;
stbuf->f_bfree = stbuf->f_blocks;
stbuf->f_bavail = stbuf->f_blocks;
stbuf->f_namemax = NAME_MAX;
#ifdef __MSYS__
// WinFsp resolves the free space from f_bfree * f_frsize, and the total space from f_blocks * f_frsize (in bytes).
stbuf->f_frsize = stbuf->f_bsize;
stbuf->f_blocks = INT32_MAX;
stbuf->f_bfree = INT32_MAX;
#else
stbuf->f_blocks = static_cast<fsblkcnt_t>(~0) / stbuf->f_bsize;
stbuf->f_bfree = stbuf->f_blocks;
#endif
stbuf->f_bavail = stbuf->f_blocks;
return 0;
}