qemu-e2k/linux-user
Filip Bozuta 784c08c8c4 linux-user: Add support for two btrfs ioctls used for subvolume
This patch implements functionality for following ioctl:

BTRFS_IOC_DEFAULT_SUBVOL - Setting a default subvolume

    Set a default subvolume for a btrfs filesystem. The third
    ioctl's argument is a '__u64' (unsigned long long) which
    represents the id of a subvolume that is to be set as
    the default.

BTRFS_IOC_GET_SUBVOL_ROOTREF - Getting tree and directory id of subvolumes

    Read tree and directory id of subvolumes from a btrfs
    filesystem. The tree and directory id's are returned in the
    ioctl's third argument which represents a pointer to a
    following type:

    struct btrfs_ioctl_get_subvol_rootref_args {
		/* in/out, minimum id of rootref's treeid to be searched */
		__u64 min_treeid;

		/* out */
		struct {
			__u64 treeid;
			__u64 dirid;
		} rootref[BTRFS_MAX_ROOTREF_BUFFER_NUM];

		/* out, number of found items */
		__u8 num_items;
		__u8 align[7];
     };

     Before calling this ioctl, 'min_treeid' field should be filled
     with value that represent the minimum value for the tree id.

Implementation notes:

    Ioctl BTRFS_IOC_GET_SUBVOL_ROOTREF uses the above mentioned structure
    type as third argument. That is the reason why a aproppriate thunk
    structure definition is added in file 'syscall_types.h'.

Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Tested-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200823195014.116226-7-Filip.Bozuta@syrmia.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2020-09-03 01:09:35 +02:00
..
aarch64 linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
alpha linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
arm linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
cris linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
generic linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
host
hppa linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
i386 linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
m68k linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
microblaze linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
mips linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
mips64 linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory 2020-08-27 12:29:50 +02:00
nios2 linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
openrisc linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
ppc linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
riscv linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
s390x linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
sh4 linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
sparc linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
sparc64 linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
tilegx linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
x86_64 linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
xtensa linux-user: Add missing termbits types and values definitions 2020-08-27 12:29:50 +02:00
cpu_loop-common.h
elfload.c linux-user: detect mismatched ELF ABI in qemu-mips[n32][el] 2020-08-27 12:29:50 +02:00
errno_defs.h
exit.c
fd-trans.c linux-user: add netlink RTM_SETLINK command 2020-07-13 21:26:33 +02:00
fd-trans.h
flat.h
flatload.c
ioctls.h linux-user: Add support for two btrfs ioctls used for subvolume 2020-09-03 01:09:35 +02:00
linux_loop.h
linuxload.c
main.c linux-user: Ensure mmap_min_addr is non-zero 2020-07-27 22:02:40 +02:00
meson.build meson: linux-user 2020-08-21 06:30:38 -04:00
mmap.c linux-user: Adjust guest page protection for the host 2020-08-23 16:57:58 +02:00
qemu.h linux-user: Add strace support for printing arguments for ioctls used for terminals and serial lines 2020-08-27 12:29:50 +02:00
safe-syscall.S
signal-common.h
signal.c
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Add strace support for printing OFD fcntl operations 2020-09-01 11:47:12 +02:00
strace.list linux-user: Add strace support for printing arguments of some clock and time functions 2020-08-27 12:29:50 +02:00
syscall_defs.h linux-user: Add support for two btrfs ioctls used for subvolume 2020-09-03 01:09:35 +02:00
syscall_types.h linux-user: Add support for two btrfs ioctls used for subvolume 2020-09-03 01:09:35 +02:00
syscall.c linux-user: Add support for a group of btrfs ioctls used for subvolumes 2020-09-03 01:09:35 +02:00
target_flat.h
trace-events
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uaccess.c
uname.c
uname.h
vm86.c