Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1872918

Summary: Btrfs commands don't work when using user-space emulation of other architectures
Product: [Fedora] Fedora Reporter: Neal Gompa <ngompa13>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: berrange, cfergeau, crobinso, dcavalca, fzatlouk, itamar, ngompa13, ondrejj, pbonzini, philmd, rjones, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedFreezeException
Fixed In Version: qemu-5.1.0-5.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-08 17:04:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1766776    

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):
5.1.0-2.fc33

How reproducible:
Always

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

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

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.