summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1893667
blob: 8ce9522beb329e80eae6e6f9ddcfee2dd1e30dc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Btrfs commands don't work when using user-space emulation of other architectures

Description of problem:
When doing cross-arch builds with mock, it uses qemu-user-static under the hood, and qemu-user-static lacks support for Btrfs ioctls to emulate so that btrfs(8) commands work correctly.

This is especially important for being able to do cross-arch image builds.

How reproducible:
Always (on Fedora 33 with qemu-5.1.0-2.fc33)

Steps to Reproduce:

$ sudo dnf install mock qemu-user-static wget
$ sudo usermod -a -G mock $USER
$ newgrp mock
$ mock --root fedora-rawhide-armhfp --install btrfs-progs util-linux
$ mock --root fedora-rawhide-armhfp --chroot 'rm -f foo.img && dd if=/dev/zero of=foo.img bs=1G count=1 && losetup /dev/loop9 foo.img &&  mkfs.btrfs /dev/loop9 && mkdir /foo && mount /dev/loop9 /foo && btrfs subvol create /foo/subvol && umount /foo && losetup -d /dev/loop9'


Actual results:
Fails with errors like "ERROR: cannot create subvolume: Function not implemented"

Expected results:
Succeeds and creates subvolumes properly.

Additional info:
There is a patch series from a few days ago to add support for many btrfs ioctls which could fix this...

https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg05594.html