api: ->save_config() doesn't need to create container dir

If we're saving the config file to somewhere that's *not* the container
dir, we don't need to create the container dir. Let's not do this and
thus not require its parent to exist, which can be confusing, especially in
light of the sparse logging through these functions.

Signed-off-by: Tycho Andersen <tycho@tycho.pizza>
This commit is contained in:
Tycho Andersen 2021-11-29 08:23:17 -05:00 committed by Christian Brauner
parent 28b2e04f17
commit 93edd510ae
No known key found for this signature in database
GPG Key ID: 8EB056D53EECB12D

View File

@ -2608,12 +2608,6 @@ static bool do_lxcapi_save_config(struct lxc_container *c, const char *alt_file)
int fd, lret; int fd, lret;
bool ret = false, need_disklock = false; bool ret = false, need_disklock = false;
if (!alt_file)
alt_file = c->configfile;
if (!alt_file)
return false;
/* If we haven't yet loaded a config, load the stock config. */ /* If we haven't yet loaded a config, load the stock config. */
if (!c->lxc_conf) { if (!c->lxc_conf) {
if (!do_lxcapi_load_config(c, lxc_global_config_value("lxc.default_config"))) { if (!do_lxcapi_load_config(c, lxc_global_config_value("lxc.default_config"))) {
@ -2625,7 +2619,13 @@ static bool do_lxcapi_save_config(struct lxc_container *c, const char *alt_file)
} }
} }
if (!create_container_dir(c)) if (!alt_file) {
alt_file = c->configfile;
if (!create_container_dir(c))
return false;
}
if (!alt_file)
return false; return false;
/* If we're writing to the container's config file, take the disk lock. /* If we're writing to the container's config file, take the disk lock.