I recently discovered a serious issue regarding SSD maintenance on Fedora Silverblue (specifically since the integration of ComposeFS).
When inspecting my logs with journalctl -u fstrim.service, I noticed that the weekly automated TRIM process entirely skips the real root partition located at /sysroot. It only trims /home and /boot, but completely ignores the core OS.
This happens because the default fstrim.service executes /usr/bin/fstrim --listed-in /etc/fstab:/proc/self/mountinfo, which completely misses the actual underlying physical block device due to the new virtual nature of the ComposeFS root.
Running a manual sudo fstrim /sysroot --verbose works flawlessly and freed over 140 GB of block garbage on my encrypted LUKS drive that the system has been hoarding for months. Without this manual intervention, users are facing silent SSD degradation, write-performance loss, and micro-stuttering during rpm-ostree layered updates.
I am aware of the open GitHub issue (#689) regarding this topic. However, considering the risk of premature SSD wear and tear for atomic desktop users, I wanted to ask:
Is there an official upstream fix or automated workaround coming to Fedora updates anytime soon to address this?
Are there plans to ship a transient systemd drop-in file or override out of the box until systemd/ostree resolve how they scale inside ComposeFS?
Is there any woraround at the moment that I can try?
Any insights from the Silverblue team on the ETA for a fix would be highly appreciated. Thanks!
```
A Btrfs file system is able to free unused blocks from an SSD drive supporting the TRIM command. Asynchronous discard support is available with mount option discard=async, and is enabled by default as of linux 6.2. Freed extents are not discarded immediately, but grouped together and trimmed later by a separate worker thread, improving commit latency.
```
For the two SSDs in my system async discard is turned on and the kernel command line has rd.luks.options=discard which presumably required for LUKS TRIM passthrough