]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
storagetm: Track backing device recursively
authorChris Down <chris@chrisdown.name>
Fri, 23 Jan 2026 04:57:48 +0000 (12:57 +0800)
committerChris Down <chris@chrisdown.name>
Fri, 23 Jan 2026 13:26:34 +0000 (21:26 +0800)
device_track_back() only checks a single DM layer when resolving the
originating device. Use
block_device_get_originating(..., /* recursive= */ true) to follow
stacked layers.

src/storagetm/storagetm.c

index 89a6e0b55252425419891a9e017ee5e7aea25cdd..7461964267b691c0c342848c71ce529425f7fcc1 100644 (file)
@@ -848,7 +848,7 @@ static void device_track_back(sd_device *d, sd_device **ret) {
         (void) sd_device_get_devname(d, &devname);
 
         _cleanup_(sd_device_unrefp) sd_device *d_originating = NULL;
-        r = block_device_get_originating(d, &d_originating, /* recursive= */ false);
+        r = block_device_get_originating(d, &d_originating, /* recursive= */ true);
         if (r < 0 && r != -ENOENT)
                 log_device_debug_errno(d, r, "Failed to get originating device for '%s', ignoring: %m", strna(devname));