summarylogtreecommitdiffstats
path: root/btrfs-progs-4.5.diff
diff options
context:
space:
mode:
Diffstat (limited to 'btrfs-progs-4.5.diff')
-rw-r--r--btrfs-progs-4.5.diff27
1 files changed, 27 insertions, 0 deletions
diff --git a/btrfs-progs-4.5.diff b/btrfs-progs-4.5.diff
new file mode 100644
index 000000000000..103ab26dfa41
--- /dev/null
+++ b/btrfs-progs-4.5.diff
@@ -0,0 +1,27 @@
++++ vendor/github.com/docker/docker/daemon/graphdriver/btrfs/btrfs.go
+--- vendor/github.com/docker/docker/daemon/graphdriver/btrfs/btrfs.go
+@@ -7,6 +7,10 @@ package btrfs
+ #include <dirent.h>
+ #include <btrfs/ioctl.h>
+ #include <btrfs/ctree.h>
++
++static void set_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* btrfs_struct, const char* value) {
++ snprintf(btrfs_struct->name, BTRFS_SUBVOL_NAME_MAX, "%s", value);
++}
+ */
+ import "C"
+
+@@ -159,9 +163,10 @@ func subvolSnapshot(src, dest, name string) error {
+
+ var args C.struct_btrfs_ioctl_vol_args_v2
+ args.fd = C.__s64(getDirFd(srcDir))
+- for i, c := range []byte(name) {
+- args.name[i] = C.char(c)
+- }
++
++ var cs = C.CString(name)
++ C.set_name_btrfs_ioctl_vol_args_v2(&args, cs)
++ C.free(unsafe.Pointer(cs))
+
+ _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, getDirFd(destDir), C.BTRFS_IOC_SNAP_CREATE_V2,
+ uintptr(unsafe.Pointer(&args)))