summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mount.go5
1 files changed, 4 insertions, 1 deletions
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)