浏览代码

btrfs: information for the information gods

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Vincent Batts 10 年之前
父节点
当前提交
318b11f62f
共有 3 个文件被更改,包括 32 次插入1 次删除
  1. 4 1
      daemon/graphdriver/btrfs/btrfs.go
  2. 15 0
      daemon/graphdriver/btrfs/version.go
  3. 13 0
      daemon/graphdriver/btrfs/version_test.go

+ 4 - 1
daemon/graphdriver/btrfs/btrfs.go

@@ -60,7 +60,10 @@ func (d *Driver) String() string {
 }
 
 func (d *Driver) Status() [][2]string {
-	return nil
+	return [][2]string{
+		{"Build Version", BtrfsBuildVersion()},
+		{"Library Version", fmt.Sprintf("%d", BtrfsLibVersion())},
+	}
 }
 
 func (d *Driver) Cleanup() error {

+ 15 - 0
daemon/graphdriver/btrfs/version.go

@@ -0,0 +1,15 @@
+// +build linux
+
+package btrfs
+
+/*
+#include <btrfs/version.h>
+*/
+import "C"
+
+func BtrfsBuildVersion() string {
+	return string(C.BTRFS_BUILD_VERSION)
+}
+func BtrfsLibVersion() int {
+	return int(C.BTRFS_LIB_VERSION)
+}

+ 13 - 0
daemon/graphdriver/btrfs/version_test.go

@@ -0,0 +1,13 @@
+// +build linux
+
+package btrfs
+
+import (
+	"testing"
+)
+
+func TestBuildVersion(t *testing.T) {
+	if len(BtrfsBuildVersion()) == 0 {
+		t.Errorf("expected output from btrfs build version, but got empty string")
+	}
+}