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.
This commit is contained in:
parent
b1d09b0f17
commit
f1b538ef24
5
mount.go
5
mount.go
@ -100,9 +100,12 @@ func doMount(args *argContainer) {
|
|||||||
// Preallocation on Btrfs is broken ( https://github.com/rfjakob/gocryptfs/issues/395 )
|
// Preallocation on Btrfs is broken ( https://github.com/rfjakob/gocryptfs/issues/395 )
|
||||||
// and slow ( https://github.com/rfjakob/gocryptfs/issues/63 ).
|
// and slow ( https://github.com/rfjakob/gocryptfs/issues/63 ).
|
||||||
if !args.noprealloc {
|
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
|
var st unix.Statfs_t
|
||||||
err = unix.Statfs(args.cipherdir, &st)
|
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 +
|
tlog.Info.Printf(tlog.ColorYellow +
|
||||||
"Btrfs detected, forcing -noprealloc. See https://github.com/rfjakob/gocryptfs/issues/395 for why." +
|
"Btrfs detected, forcing -noprealloc. See https://github.com/rfjakob/gocryptfs/issues/395 for why." +
|
||||||
tlog.ColorReset)
|
tlog.ColorReset)
|
||||||
|
Loading…
Reference in New Issue
Block a user