]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mount: hook up with handoff timestamps
authorLennart Poettering <lennart@poettering.net>
Wed, 24 Apr 2024 08:13:39 +0000 (10:13 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 25 Apr 2024 11:40:41 +0000 (13:40 +0200)
src/core/mount.c

index d70a60b37746f290ec8d114688905a024128b1fd..3bf7e89e38f3bc7ce408c9a534a8381be9dcc2ab 100644 (file)
@@ -1927,6 +1927,22 @@ static void mount_shutdown(Manager *m) {
         m->mount_monitor = NULL;
 }
 
+static void mount_handoff_timestamp(
+                Unit *u,
+                const struct ucred *ucred,
+                const dual_timestamp *ts) {
+
+        Mount *m = ASSERT_PTR(MOUNT(u));
+
+        assert(ucred);
+        assert(ts);
+
+        if (m->control_pid.pid == ucred->pid && m->control_command) {
+                exec_status_handoff(&m->control_command->exec_status, ucred, ts);
+                unit_add_to_dbus_queue(u);
+        }
+}
+
 static int mount_get_timeout(Unit *u, usec_t *timeout) {
         Mount *m = ASSERT_PTR(MOUNT(u));
         usec_t t;
@@ -2453,6 +2469,8 @@ const UnitVTable mount_vtable = {
 
         .reset_failed = mount_reset_failed,
 
+        .notify_handoff_timestamp = mount_handoff_timestamp,
+
         .control_pid = mount_control_pid,
 
         .bus_set_property = bus_mount_set_property,