From b76e300b4cd6ce4446170c7170a2734f7994a6c1 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Wed, 25 Mar 2015 13:26:41 -0400 Subject: [PATCH] btrfs: #ifdef for build version We removed it, because upstream removed it. But now it will be coming back, so work with it either way. Signed-off-by: Vincent Batts --- daemon/graphdriver/btrfs/btrfs.go | 3 +++ daemon/graphdriver/btrfs/version.go | 19 ++++++++++++------- daemon/graphdriver/btrfs/version_none.go | 4 ++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/daemon/graphdriver/btrfs/btrfs.go b/daemon/graphdriver/btrfs/btrfs.go index ef51bac83f..1830ad4e8f 100644 --- a/daemon/graphdriver/btrfs/btrfs.go +++ b/daemon/graphdriver/btrfs/btrfs.go @@ -61,6 +61,9 @@ func (d *Driver) String() string { func (d *Driver) Status() [][2]string { status := [][2]string{} + if bv := BtrfsBuildVersion(); bv != "-" { + status = append(status, [2]string{"Build Version", bv}) + } if lv := BtrfsLibVersion(); lv != -1 { status = append(status, [2]string{"Library Version", fmt.Sprintf("%d", lv)}) } diff --git a/daemon/graphdriver/btrfs/version.go b/daemon/graphdriver/btrfs/version.go index 8a96305b5a..25248b151a 100644 --- a/daemon/graphdriver/btrfs/version.go +++ b/daemon/graphdriver/btrfs/version.go @@ -5,17 +5,22 @@ package btrfs /* #include -// because around version 3.16, they did not define lib version yet -int my_btrfs_lib_version() { -#ifdef BTRFS_LIB_VERSION - return BTRFS_LIB_VERSION; -#else - return -1; +// around version 3.16, they did not define lib version yet +#ifndef BTRFS_LIB_VERSION +#define BTRFS_LIB_VERSION -1 +#endif + +// upstream had removed it, but now it will be coming back +#ifndef BTRFS_BUILD_VERSION +#define BTRFS_BUILD_VERSION "-" #endif -} */ import "C" +func BtrfsBuildVersion() string { + return string(C.BTRFS_BUILD_VERSION) +} + func BtrfsLibVersion() int { return int(C.BTRFS_LIB_VERSION) } diff --git a/daemon/graphdriver/btrfs/version_none.go b/daemon/graphdriver/btrfs/version_none.go index d191d36f38..b32fc61c09 100644 --- a/daemon/graphdriver/btrfs/version_none.go +++ b/daemon/graphdriver/btrfs/version_none.go @@ -5,6 +5,10 @@ package btrfs // TODO(vbatts) remove this work-around once supported linux distros are on // btrfs utililties of >= 3.16.1 +func BtrfsBuildVersion() string { + return "-" +} + func BtrfsLibVersion() int { return -1 }