-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
podman --storage-opt can make permanent destructive changes #15698
Comments
I got this to happen on my machine as well. It looks like this does something to get the kernel to report it does not work with metacopy=on DEBU[0000] overlay: storage already configured with a mount-program |
The problem is podman is dropping a file .has-mount-program in place which causes it to fail.
|
fuse-overlayfs doesn't support metacopy.
Try |
Sorry @nalind, I don't really understand that. (Because I don't really know what |
The reproducer didn't break my system. It started triggering the warning, but the container still ran. |
Fair enough: I may have a stricter definition of "broken". How about: a command-line option should not cause all subsequent |
The thing is the overlay is still using native overlay but without metacopy support. As far as I see. |
Fixes: containers/podman#15698 Signed-off-by: Daniel J Walsh <[email protected]>
once the mount program is used, even once, it must be used for all the subsequent commands (unless explicitly overridden) because the images are written in a format understood by fuse-overlayfs. In other words, setting the mount program is a non-reversible operation, and the only way to clean it up is to start with a fresh storage. We could change the verbosity of the missing metacopy flag when a mount program is used, but I think the behavior should not be changed. |
if a mount program is specified, change the content and the verbosity for the message printed. Closes: containers/podman#15698 Signed-off-by: Giuseppe Scrivano <[email protected]>
But in this case we never used the fuse-overlay. There is currently a check to the storage looking for fuse-overlay specific files. Isn't this enough? Should we only record that you used a mount program only if it was successfully used? |
I was testing --log-level by --storage-opt=mount_program=/bin/false Stop doing that. It's just constantly breaking everything (containers#15698 and containers#15977). I am violently of the opinion that a command-line option must not destroy a user's system (except for --set-something, --config, something that makes it very very clear that it is a lasting change). I seem to be in the minority on this opinion. So, I give up. Signed-off-by: Ed Santiago <[email protected]>
Semi-related to #15488, but not exactly, because that one is still an unexplained flake; this one is 100% reproducible.
Run this as root on a fresh VM (NOT ON YOUR LAPTOP, I'M WARNING YOU!)
Your system is now destroyed. This does not fix it:
It looks like
podman system reset -f
fixes things, but I'm not sure yet. Anyhow, this seems like kind of a bug? To have a temporary--storage-opt
make permanent changes somewhere, that cannot be overridden?The text was updated successfully, but these errors were encountered: