blob: a22a839707249fd69313fc261a9811489b555d58 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
graphic: 0.702
device: 0.681
instruction: 0.602
semantic: 0.525
other: 0.486
network: 0.448
mistranslation: 0.430
socket: 0.395
vnc: 0.362
boot: 0.331
KVM: 0.213
assembly: 0.084
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
Laurent, I am assuming that the commits here:
https://gitlab.com/qemu-project/qemu/-/commits/master?utf8=%E2%9C%93&search=Filip+Bozuta
are sufficient to mark this issue as Fix Committed. It looks like the Downstream bug tracker for Fedora has marked the related bug as CLOSED ERRATA already.
If I'm wrong, please reopen.
Released with QEMU v5.2.0.
|