On 2021-06-11, Neal Gompa
On Fri, Jun 11, 2021 at 4:03 AM Aleksa Sarai
wrote: On 2021-06-01, Neal Gompa
wrote: On Tue, Jun 1, 2021 at 9:48 PM Niklas Haas
wrote: I submitted https://build.opensuse.org/request/show/896791
We don't support filesystems without RENAME_EXCHANGE, and this code makes the change not atomic and frankly quite scary. Shouldn't you bug the OpenZFS people to implement renameat(2) instead?
I just ran into this bug today, and I realised that this bug actually also affects users who run containers on *different hosts* that have ZFS as the backing filesystem. For instance, running Tumbleweed on Ubuntu (which has ZFS as the default filesystem) will result in this error being triggered. (I personally run LXD containers on openSUSE with a ZFS storage driver, but this same thing would happen with Docker or LXD on Ubuntu or any other distribution with ZFS.)
ZFS is *not* the default on Ubuntu. You have to explicitly select this when setting up disks. I literally just did an Ubuntu installation a couple of days ago for work, and it didn't select ZFS when running through the default installation.
Sorry, I'd heard that this was the case second-hand and didn't double-check before sending the mail (though it is still a supported configuration). In any case, the inatomic fallback was merged, so this problem was already solved (though it's not in a snapshot yet, which is why I just ran into it).
And anyway, if you're doing containers, you can blow them away and start over, right? That's the point of containers... RIGHT?!
I mean, depends on how you're running things. LXD containers aren't really like that, they're more akin to VMs in terms of how they're managed. -- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH https://www.cyphar.com/