Bug 2223570

Summary: ostree-based distributions (Silverblue, Kinoite, etc.) can not run discard on SSD when LUKS encryption is enabled
Product: [Fedora] Fedora Reporter: Garrett LeSage <glesage>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 39CC: anaconda-maint-list, vponcova, vslavik, vtrefny, w
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
URL: https://github.com/fedora-silverblue/issue-tracker/issues/31
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Garrett LeSage 2023-07-18 10:01:54 UTC
After installing an ostree-based desktop distribution of Fedora (Silverblue, Kinoite, etc.), the computer will become slower and slower over time when IO happens, as discard is not properly enabled. The IO problems eventually become so bad that the computer can hang for minutes with no response.

It's probably an issue with the way Anaconda sets up the system. It may also be an issue with ostree deployment. (It could be both of these things.)

Reproducible: Always

Steps to Reproduce:
1. Install Silverblue on a device that needs trim 
2. Check to see if you can trim the device (fstrim -va is one method)

Actual Results:  
No discard support. Computer becomes slower and slower on every disk access, which becomes very noticeable after a few months.

Expected Results:  
Discard should happen automatically with fstrim.timer (and when run manually).

Workstation is fine. This is a problem only with ostree-based distributions (not inherent to ostree itself, but with the way they're installed).

Comment 1 Garrett LeSage 2023-07-18 10:05:41 UTC
I solved it locally with `sudo cryptsetup --allow-discards --persistent refresh /dev/mapper/luks*`

Vojtech Trefny says `rd.luks.options=discard` via Anaconda should solve it for everyone (on fresh installs).

Comment 2 Vojtech Trefny 2023-07-18 10:14:09 UTC
(In reply to Garrett LeSage from comment #1)
> Vojtech Trefny says `rd.luks.options=discard` via Anaconda should solve it
> for everyone (on fresh installs).

Note this is based on this[1] Fedora Silverblue issue, I am certainly not expert on OSTree/Silverblue and I'm open to different solution.

[1] https://github.com/fedora-silverblue/issue-tracker/issues/31

Comment 3 Fedora Release Engineering 2023-08-16 08:07:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.