nixpkgs/pkgs
aszlig 4c1ddb3a57
qemu: Apply interim fix for overlayfs + O_NOATIME
Our VM tests and everything related to our virtualisation infrastructure
is currently broken if used with kernel 4.19 or later.

The reason for this is that since 4.19, overlayfs uses the O_NOATIME
flag when opening files in lowerdir and this doesn't play nice with the
way we pass the Nix store to our QEMU guests.

On a NixOS system, paths in the Nix store are typically owned by root
but the QEMU process is usually run by an ordinary user. Using O_NOATIME
on a file where you're not the owner (or superuser) will return with
EPERM (Operation not permitted).

This is exactly what happens in our VM tests, because we're using
overlayfs in the guests to allow writes to the store.

Another implication of this is that the default kernel version for NixOS
19.03 has been reverted to Linux 4.14.

Work on getting this upstream is still ongoing and the patch I posted
previously was incomplete, needs rework and also some more review from
upstream maintainers - in summary: This will take a while.

So instead of rushing in a kernel patch to nixpkgs, which will affect
all users of overlayfs, not just NixOS VM tests, I opted to patch QEMU
for now to ignore the O_NOATIME flag in 9p.

I think this is also the least impacting change, because even if you
care about whether access times are written or not, you get the same
behaviour as with Linux 4.19 in conjunction with QEMU.

Signed-off-by: aszlig <aszlig@nix.build>
Fixes: https://github.com/NixOS/nixpkgs/issues/54509
2019-03-18 13:34:30 +01:00
..
applications qemu: Apply interim fix for overlayfs + O_NOATIME 2019-03-18 13:34:30 +01:00
build-support bazel-remote: init at 2019-01-12 2019-03-11 11:10:59 +01:00
common-updater common-updater-scripts: Add file and system flags 2019-03-02 23:03:04 +01:00
data inter-ui: 3.1 -> 3.3 (#57605) 2019-03-13 23:59:03 +01:00
desktops treewide: stdenv.config -> config 2019-03-14 14:01:21 +00:00
development Merge pull request #57451 from r-ryantm/auto-update/python3.7-QtAwesome 2019-03-15 23:45:15 +01:00
games hyperrogue: 10.5a -> 10.5e (#56700) 2019-03-15 22:00:01 +01:00
misc Merge pull request #57553 from Kiwi/vim-plugins-fix 2019-03-14 20:00:02 +01:00
os-specific linux_hardkernel_4_14: 4.14.94-155 -> 4.14.102-156 (#57082) 2019-03-16 00:01:39 +01:00
servers cadvisor: 0.32.0 -> 0.33.0 (#56606) 2019-03-15 21:20:35 +01:00
shells mksh: 56c -> 57 2019-03-10 17:46:59 -07:00
stdenv pkgs/stdenv/booter.nix: fix a typo 2019-03-14 14:01:20 +00:00
test cross/tests: add llvm-based tests 2019-02-26 19:46:24 -05:00
tools Merge pull request #57725 from dywedir/broot 2019-03-15 23:36:25 +01:00
top-level pythonPackages.google-auth-oauthlib: init at 0.2.0 2019-03-15 22:26:53 +01:00