diff options
author | Didier Roche <didrocks@ubuntu.com> | 2014-11-24 09:43:29 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-12-03 03:41:19 +0100 |
commit | 979ef53a268d6f54a309fc5c6015df5d4accbbd5 (patch) | |
tree | dceff9f60062e5e39173f735b4511236d90bd9b0 /src/shared/util.c | |
parent | 3543f8218b732132dff6d0dccb2ce357e4154801 (diff) |
machine-id-setup: add a machine_id_commit call to commit on disk a transient machine-id
If /etc was read only at boot time with an empty /etc/machine-id, the latter
will be mounted as a tmpfs and get reset at each boot. If the system becomes rw
later, this functionality enables to commit in a race-free manner the
transient machine-id to disk.
Diffstat (limited to 'src/shared/util.c')
-rw-r--r-- | src/shared/util.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shared/util.c b/src/shared/util.c index 21651708d5..4fcbab97be 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -3052,6 +3052,15 @@ _pure_ static int is_temporary_fs(struct statfs *s) { F_TYPE_EQUAL(s->f_type, RAMFS_MAGIC); } +int is_fd_on_temporary_fs(int fd) { + struct statfs s; + + if (fstatfs(fd, &s) < 0) + return -errno; + + return is_temporary_fs(&s); +} + int rm_rf_children(int fd, bool only_dirs, bool honour_sticky, struct stat *root_dev) { struct statfs s; |