See containerd/btrfs PR 40 and moby/moby PR 44761. (Thanks to [@]neersighted.) The containerd/btrfs library now requires headers from kernel 4.12 or newer: - https://github.com/torvalds/linux/blob/master/include/uapi/linux/btrfs.h - https://github.com/torvalds/linux/blob/master/include/uapi/linux/btrfs_tree.h These files are licensed under the GPL-2.0 WITH Linux-syscall-note, so it should be compatible with the Apache License 2.0. https://spdx.org/licenses/Linux-syscall-note.html The dependency on the kernel headers only affects users building from source. Users on older kernels may opt to not compile this library (`BUILDTAGS=no_btfs`), or to provide headers from a newer kernel. Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
/*
|
|
Copyright The containerd Authors
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
#include <string.h>
|
|
#include "btrfs.h"
|
|
|
|
void unpack_root_item(struct gosafe_btrfs_root_item* dst, struct btrfs_root_item* src) {
|
|
memcpy(dst->uuid, src->uuid, BTRFS_UUID_SIZE);
|
|
memcpy(dst->parent_uuid, src->parent_uuid, BTRFS_UUID_SIZE);
|
|
memcpy(dst->received_uuid, src->received_uuid, BTRFS_UUID_SIZE);
|
|
dst->generation = src->generation;
|
|
dst->otransid = src->otransid;
|
|
dst->flags = src->flags;
|
|
}
|
|
|
|
/* unpack_root_ref(struct gosafe_btrfs_root_ref* dst, struct btrfs_root_ref* src) { */
|