Bug 2048005

Summary: machinectl pull-tar (re)enables btrfs quotas
Product: [Fedora] Fedora Reporter: Chris Murphy <bugzilla>
Component: systemdAssignee: systemd-maint
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: dtardon, fedoraproject, filbranden, flepied, lnykryn, msekleta, ryncsn, ssahani, s, systemd-maint, yuwatana, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-08-25 14:26:41 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:

Description Chris Murphy 2022-01-29 03:11:52 UTC
Description of problem:

Everytime I use nspawn in a way that calls importd, btrfs quotas are enabled. I don't want btrfs quotas enabled on my system's btrfs file system. If enabled, use it. If disabled, complain to the journal, but it needs to stay disabled.


Version-Release number of selected component (if applicable):
systemd-249.9-1.fc35.x86_64


How reproducible:
Always


Steps to Reproduce:
$ sudo btrfs qgroup show /
ERROR: can't list qgroups: quotas not enabled
$ sudo machinectl pull-tar https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Base/35/20220127.0/images/Fedora-Container-Base-35-20220127.0.x86_64.tar.xz F35CB20220127
Enqueued transfer job 1. Press C-c to continue download in background.
Pulling 'https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Base/35/20220127.0/images/Fedora-Container-Base-35-20220127.0.x86_64.tar.xz', saving as 'F35CB20220127'.
HTTP request to https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Base/35/20220127.0/images/SHA256SUMS.gpg failed with code 404.
HTTP request to https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Base/35/20220127.0/images/Fedora-Container-Base-35-20220127.0.x86_64.nspawn failed with code 404.
Settings file could not be retrieved, proceeding without.
HTTP request to https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Base/35/20220127.0/images/SHA256SUMS failed with code 404.
Failed to retrieve SHA256 checksum, cannot verify. (Try --verify=no?)
Exiting.
$ sudo btrfs qgroup show /
WARNING: rescan is running, qgroup data may be incorrect
qgroupid         rfer         excl 
--------         ----         ---- 
0/5             0.00B        0.00B 
0/264           0.00B        0.00B 
0/271           0.00B        0.00B 
0/272           0.00B        0.00B 
0/273           0.00B        0.00B 
0/274           0.00B        0.00B 
0/276           0.00B        0.00B 
0/277           0.00B        0.00B 
0/278           0.00B        0.00B 
0/280         4.00KiB      4.00KiB 
0/281           0.00B        0.00B 
0/283           0.00B        0.00B 
0/295           0.00B        0.00B 
0/296           0.00B        0.00B 
0/301         4.00KiB      4.00KiB 
0/303           0.00B        0.00B 
0/304           0.00B        0.00B 
0/305           0.00B        0.00B 
0/306           0.00B        0.00B 
0/307           0.00B        0.00B 
0/308           0.00B        0.00B 
0/309           0.00B        0.00B 
0/310           0.00B        0.00B 
255/278         0.00B        0.00B 
$ sudo btrfs qgroup show /
qgroupid         rfer         excl 
--------         ----         ---- 
0/5          16.00KiB     16.00KiB 
0/264         4.00GiB      4.00GiB 
0/271         2.43GiB    961.01MiB 
0/272         1.18GiB      1.18GiB 
0/273         9.24GiB      1.47GiB 
0/274         6.45GiB      6.45GiB 
0/276       921.70MiB    921.70MiB 
0/277       383.43MiB    383.43MiB 
0/278        16.00KiB     16.00KiB 
0/280         3.08GiB      3.08GiB 
0/281        17.15GiB     17.15GiB 
0/283         7.10GiB    380.00MiB 
0/295         9.09GiB    715.09MiB 
0/296         9.04GiB    100.43MiB 
0/301         1.85GiB    359.57MiB 
0/303         8.57GiB     92.03MiB 
0/304         8.69GiB      7.67MiB 
0/305         8.71GiB     24.25MiB 
0/306         8.55GiB     96.09MiB 
0/307         8.66GiB    143.20MiB 
0/308         6.87GiB    142.54MiB 
0/309         9.06GiB    330.97MiB 
0/310         9.25GiB    369.74MiB 
255/278      16.00KiB     16.00KiB 
$ 


Actual results:


Quotas are silently enabled


Expected results:

Quotas should not be enabled


Additional info:

Comment 1 Chris Murphy 2022-01-29 03:32:45 UTC
I keep turning it off, machinectl keeps turning it on. Not ok. And it's not logging to the journal that it's turning it on either, so it's silently renabling it against the admin's decision what features to enable on the file system. Yes I'd prefer that qgroups get fixed and more performant, but until then, using qgroups needs to be opt in.

https://github.com/systemd/systemd/issues/18421
https://github.com/systemd/systemd/issues/15903

This says the documented inhibitor doesn't work: https://github.com/systemd/systemd/issues/15903#issuecomment-1016041021

https://github.com/poettering/systemd/blob/master/docs/ENVIRONMENT.md doesn't mention environment variable SYSTEMD_IMPORT_BTRFS_QUOTA so maybe that's why it's not working.

Comment 2 Chris Murphy 2022-01-29 03:43:53 UTC
Oops, it's here https://github.com/systemd/systemd/blob/main/docs/ENVIRONMENT.md

But I try it here https://github.com/systemd/systemd/issues/15903#issuecomment-1024824293 and it's not working for me either.