diff --git a/mount.go b/mount.go index 657878e..eeeffe8 100644 --- a/mount.go +++ b/mount.go @@ -100,9 +100,12 @@ func doMount(args *argContainer) { // Preallocation on Btrfs is broken ( https://github.com/rfjakob/gocryptfs/issues/395 ) // and slow ( https://github.com/rfjakob/gocryptfs/issues/63 ). if !args.noprealloc { + // darwin does not have unix.BTRFS_SUPER_MAGIC, so we define it here + const BTRFS_SUPER_MAGIC = 0x9123683e var st unix.Statfs_t err = unix.Statfs(args.cipherdir, &st) - if err == nil && st.Type == unix.BTRFS_SUPER_MAGIC { + // Cast to uint32 avoids compile error on arm: "constant 2435016766 overflows int32" + if err == nil && uint32(st.Type) == BTRFS_SUPER_MAGIC { tlog.Info.Printf(tlog.ColorYellow + "Btrfs detected, forcing -noprealloc. See https://github.com/rfjakob/gocryptfs/issues/395 for why." + tlog.ColorReset)