On 2021-06-01, Neal Gompa <ngompa13@gmail.com> wrote:
On Tue, Jun 1, 2021 at 9:48 PM Niklas Haas <lists.suse@haasn.dev> 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.) So I think it's fair to say that we *have to* support running on ZFS, or we must publicly state that our distribution cannot run inside containers on the default Ubuntu Server configuration. (As an aside, I have rebased and reworked the renameat2 PR for OpenZFS[1], but this is isn't going to be in a released version for a while even if it was merged quite soon.) [1]: https://github.com/openzfs/zfs/pull/12209 -- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH <https://www.cyphar.com/>