mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
importd: take a lock while we set up /var/lib/machines/
This way, we can safely set up the directories from two processes at the same time, including machined and importd simultaneously.
This commit is contained in:
parent
432cea0087
commit
403e5b3230
@ -161,6 +161,7 @@ fail:
|
||||
}
|
||||
|
||||
int setup_machine_directory(sd_bus_error *error) {
|
||||
_cleanup_release_lock_file_ LockFile lock_file = LOCK_FILE_INIT;
|
||||
struct loop_info64 info = {
|
||||
.lo_flags = LO_FLAGS_AUTOCLEAR,
|
||||
};
|
||||
@ -170,6 +171,11 @@ int setup_machine_directory(sd_bus_error *error) {
|
||||
bool tmpdir_made = false, mntdir_made = false, mntdir_mounted = false;
|
||||
int r, nr = -1;
|
||||
|
||||
/* Make sure we only set the directory up once at a time */
|
||||
r = make_lock_file("/run/systemd/machines.lock", LOCK_EX, &lock_file);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = check_btrfs();
|
||||
if (r < 0)
|
||||
return sd_bus_error_set_errnof(error, r, "Failed to determine whether /var/lib/machines is located on btrfs: %m");
|
||||
|
Loading…
Reference in New Issue
Block a user