diff options
author | Jakob Unterwurzacher | 2019-08-04 19:43:07 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2019-08-04 19:43:07 +0200 |
commit | f1b538ef241e537e993ec585c47af35213ad0be1 (patch) | |
tree | c8ef8b4a508ee193f08990fc9e9f080626f42197 /mount.go | |
parent | b1d09b0f17dd8b2fe9e47289d1743d0a730c7c42 (diff) |
Fix "constant 2435016766 overflows int32" build failure on arm
Cast to uint32 to fix the int32 overflow, and define BTRFS_SUPER_MAGIC
locally to fix the next failure on darwin.
Diffstat (limited to 'mount.go')
-rw-r--r-- | mount.go | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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) |