Bug 1872918 - Btrfs commands don't work when using user-space emulation of other architectures
Summary: Btrfs commands don't work when using user-space emulation of other architectures
Alias: None
Product: Fedora
Classification: Fedora
Component: qemu
Version: 33
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F33BetaFreezeException
TreeView+ depends on / blocked
Reported: 2020-08-26 22:33 UTC by Neal Gompa
Modified: 2020-09-08 17:04 UTC (History)
12 users (show)

Fixed In Version: qemu-5.1.0-5.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-09-08 17:04:45 UTC
Type: Bug

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Fedora Pagure fedora-btrfs/project issue 11 0 None None None 2020-08-26 22:33:02 UTC
Launchpad 1893667 0 None None None 2020-08-31 14:52:48 UTC

Description Neal Gompa 2020-08-26 22:33:02 UTC
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.

Version-Release number of selected component (if applicable):

How reproducible:

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


Comment 1 Cole Robinson 2020-08-31 13:40:57 UTC
Thanks for the report. Neal can you file this with upstream qemu? It has a better chance of being seen by the relevant devs that way: https://launchpad.net/qemu

Comment 2 Neal Gompa 2020-08-31 14:52:48 UTC
Sure, I copy-pasta'd it to Launchpad, though I don't know whether that would really help anything...

Comment 3 Fedora Update System 2020-09-07 16:13:36 UTC
FEDORA-2020-9199d20f3f has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-9199d20f3f

Comment 4 Fedora Blocker Bugs Application 2020-09-07 19:25:51 UTC
Proposed as a Freeze Exception for 33-beta by Fedora user ngompa using the blocker tracking app because:

 This makes it so that emulated foreign architecture image builds work for our desktop variant image builds.

Comment 5 Fedora Update System 2020-09-07 21:45:14 UTC
FEDORA-2020-9199d20f3f has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-9199d20f3f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-9199d20f3f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 František Zatloukal 2020-09-08 08:08:01 UTC
Setting as AcceptedFreezeException per voting: https://pagure.io/fedora-qa/blocker-review/issue/68

Comment 7 Fedora Update System 2020-09-08 17:04:45 UTC
FEDORA-2020-9199d20f3f has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.