Selaa lähdekoodia

daemon/graphdriver/btrfs: workaround field rename in btrfs-progs 6.1

Closes: #44698

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
Shengjing Zhu 2 vuotta sitten
vanhempi
commit
ffbbe3d103
1 muutettua tiedostoa jossa 4 lisäystä ja 1 poistoa
  1. 4 1
      daemon/graphdriver/btrfs/btrfs.go

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

@@ -6,6 +6,9 @@ package btrfs // import "github.com/docker/docker/daemon/graphdriver/btrfs"
 /*
 /*
 #include <stdlib.h>
 #include <stdlib.h>
 #include <dirent.h>
 #include <dirent.h>
+
+// keep struct field name compatible with btrfs-progs < 6.1.
+#define max_referenced max_rfer
 #include <btrfs/ioctl.h>
 #include <btrfs/ioctl.h>
 #include <btrfs/ctree.h>
 #include <btrfs/ctree.h>
 
 
@@ -395,7 +398,7 @@ func subvolLimitQgroup(path string, size uint64) error {
 	defer closeDir(dir)
 	defer closeDir(dir)
 
 
 	var args C.struct_btrfs_ioctl_qgroup_limit_args
 	var args C.struct_btrfs_ioctl_qgroup_limit_args
-	args.lim.max_referenced = C.__u64(size)
+	args.lim.max_rfer = C.__u64(size)
 	args.lim.flags = C.BTRFS_QGROUP_LIMIT_MAX_RFER
 	args.lim.flags = C.BTRFS_QGROUP_LIMIT_MAX_RFER
 	_, _, errno := unix.Syscall(unix.SYS_IOCTL, getDirFd(dir), C.BTRFS_IOC_QGROUP_LIMIT,
 	_, _, errno := unix.Syscall(unix.SYS_IOCTL, getDirFd(dir), C.BTRFS_IOC_QGROUP_LIMIT,
 		uintptr(unsafe.Pointer(&args)))
 		uintptr(unsafe.Pointer(&args)))