nspawn: mount /var/ after remount_idmap() when --volatile=state
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 6 Sep 2024 04:14:14 +0000 (13:14 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 8 Oct 2024 15:39:12 +0000 (16:39 +0100)
commit8c31367d23b091c5ea423cf47f6e2b9a0ea65c93
tree721839f569518c4cf1ca091b3535f6ed68a7ddbb
parent8aedc1fe299cef51636a235d42070abc70068ddc
nspawn: mount /var/ after remount_idmap() when --volatile=state

Previously, remount_idmap() failed as /var/ was already mounted, thus
remounting (strictly speaking, unmounting old root directory) failed
with -EBUSY.

As tmpfs /var/ is mounted with picked UID shift, it should not be
remounted with idmap, but needs to be mounted after the root directory
being remounted.

This makes '-U --volatile=state' work as expected.

(cherry picked from commit 2c2511aa734c507e04e06d273b474acacac9d486)
src/nspawn/nspawn-mount.c
src/nspawn/nspawn-mount.h
src/nspawn/nspawn.c