statfs.Bsize actually has platform-dependent type, despite the Go
documentation listing it as int64. Fix the build for 32-bit platforms
by casting it to int64.
Resolves https://github.com/google/fscrypt/issues/233
if err := unix.Statfs(mnt.Path, &statfs); err != nil {
return ""
}
- pagesize := int64(os.Getpagesize())
- if statfs.Bsize != pagesize && !util.IsKernelVersionAtLeast(5, 5) {
+ pagesize := os.Getpagesize()
+ if int64(statfs.Bsize) != int64(pagesize) && !util.IsKernelVersionAtLeast(5, 5) {
return fmt.Sprintf(`This filesystem uses a block size
(%d) other than the system page size (%d). Ext4
encryption didn't support this case until kernel v5.5.