I'm writing a custom container engine. When I attempt to open any file for writing somewhere in the container (as long as that place is writeable, permissions-wise), I get an EOVERFLOW error (Value too large for defined data type).

According to openat(2), and every resource I can find online, the only possible reason for returning EOVERFLOW is that the file is too large to be opened. However, this happens even when the file doesn't exist, so this can't be the real reason.

What other possible reasons could there be for openat returning EOVERFLOW?

This is clearly a problem with my container engine, but I have no idea how to begin debugging the error without knowing what could ever cause this error.

The container engine uses an overlayfs filesystem, which is bind-mounted into the container.

The disk is not full, and no disk quotas or other resource limits are in place.

  • Looking at the source code, I suspect there is some problem with uid (user id) or gid mapping between the host and the container. Commented Sep 21, 2023 at 16:05


You must log in to answer this question.