New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't install on low-space with no work-arounds #975
Comments
It writes the temporary download to your homedir before applying to the system repo, so I guess it is for that. However, I've never seen this error before. Seems like a new feature in ostree 2017.8. @cgwalters What was the reasoning about the 3% default. I'm wondering if I should change that in flatpak. Anyway, @hadess you should be able to change this by setting something like:
(Didn't actually test this) |
@hadess Also, do you have any mountpoint with 5GB free, maybe its measuring it wrong? |
Could be my home directory:
My home directory is always chock-full, so I guess this is going to be a recurring problem. The |
Hmm, we do a download to a temporary repo that is a "child" of the system repo, and that one is in the homedir. I was assuming it would inherit the free-space property from the parent, but apparently not. as a workaround, |
I figured that one out, but I think it's the installation of the runtime that triggers it, so didn't want to break my test case just yet :) |
I'm not sure what the proper fix is here. I mean, we could automatically set the "child repo" to 0% min free. But is that generally a good idea? Filling up the users homedir is not ideal either. Another alternative is to put the temporary repo under /var/tmp, hopeing there is more space there. But thats kinda arbitrary too, and may run into similar issues... |
3% was fairly made-up, just took inspiration from the traditional extfs 5%. But here it seems like the feature is working correctly, we avoided filling up your home directory, right? |
For reference this is from ostreedev/ostree#987 |
Now if this issue is about explaining things better, we could make a new error domain for this, and flatpak could probably use it to render more useful text. |
Seeing as the final destination of the download would have been the root mount (which has about 25GB available), and that I couldn't do the installation, it really didn't work out great, no. |
Right, but the only thing that would make that work is something like what Alex suggested:
|
FWIW, gnome-software seems to silently fail with the same error when trying to install. IMO, 3% is a silly number, just as 1% reserved for root on ext4 systems is silly nowadays. 3% of my /home partition (on an SSD) is 5 gigs. I don't think that the runtime actually uses anywhere near that, and this would be even worse with the kind of spinning disk sizes as well. ostree giving itself leeway to not get to a point where it clogs up the system is admirable, but I don't think that this decision is being taken at the right level. Especially when it means I can't even update software now, let alone install new one. |
I agree that percentages are not really a great measure anymore. 3% of my spinning rust drive is 27 gig. |
This way you can at least work around the free space check in *some* way. See #975
@hadess Can you see if that "fixes" the workaround for you? |
One thing that influenced my thoughts on picking a number here is that ostree is designed for code, not data (as distinct from the ext4 number which is for both). And data is usually much larger than code. It seems rare to me that one would actually want to fill up a storage device with code. |
I think I'm having the same issue. I've got 19,9 GB available on my 1 TB hard drive (with is more than 3% isn't it?), and I can't do Flatpak-related tasks anymore. What is exactly the workaround you're mentioning in our last comment, @alexlarsson? Can I perform it using my current version of ostree (2017.10-1on Arch Linux)? |
Got the same issue, and yeah, warn me if you must, but don't force fail on such a simple heuristic. Unfortunately all that I have on hand is the flatpak version provided with Fedora 26 so that's the issue I'm seeing right now, I'll have to wait for updates to trickle down to be able to retest this. |
The change alex pushed to master: 706d138 Part of this issue would also be addressed if flatpak did pulls in Now...we can definitely make changes in libostree for this; but it's not clear what. A notable wrinkle here is that while it's clear there's no security issues here with allowing users to fill up their own homedirs for |
As discussed in #975, it is better to have the temporary repos for installing into the system repo outside the home directory. This helps in the case when the home directory is on a different filesystem. In particular it is more likely to be on the same partition as the system repo in /var/lib. There are multiple advantages if the two repos are on the same filesystem: * Less chance of filling up the space on a filesystem that is not the final target. * It is possible to use fs operations like reflink or copy_file_range to optimize the copies from the temporary repo to the system repo. * The home directory is more often on NFS or other weird filesystem type.
Hi! I've got the same issue while I have 604GB available in /home/ and I try to update with --user! Since I notice that the rest of my system only has 532MB remaining, I guess that's the issue. Yet it's not a system update so the home space should be enough.
|
This seems like a pure miscalculation of the percentage. @cgwalters Have you seen something like this? What filesystem type is /home? @Jehan Can you try this:
And then put the log file somewhere we can look at it? Then we should be able to see what diskspace is reported by the statfs calls, and where. |
Unfortunately it doesn't do it anymore. I guess you don't want this strace anymore? |
I disabled the min space check by default here: |
I hit this issue with Flatpak 0.10.1 installed from your PPA. Did it not make it for the release? |
You must issue that command to your local repo |
It doesn't tell me where it's trying to install, why it's trying to install there (my / is 50% full with about 25GB left), why that percentage of free space must be kept (if it's what it says, because that looks like a configuration option), or how to fix it or work-around it.
Using
flatpak-0.9.7-5.fc27.x86_64
The text was updated successfully, but these errors were encountered: