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 | |
| 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.
| -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) | 
