From 2067a7ec7f4c8a353b8e2ece15a6a997e50808b0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 2 Jun 2023 11:41:40 +0200 Subject: [PATCH] detach-md: similar to the DM case, also don't try to detach MD device backing /usr/ --- src/shutdown/detach-md.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/shutdown/detach-md.c b/src/shutdown/detach-md.c index d5188ea822..ae592f6f31 100644 --- a/src/shutdown/detach-md.c +++ b/src/shutdown/detach-md.c @@ -129,15 +129,18 @@ static int delete_md(RaidDevice *m) { static int md_points_list_detach(RaidDevice **head, bool *changed, bool last_try) { int n_failed = 0, r; - dev_t rootdev = 0; + dev_t rootdev = 0, usrdev = 0; assert(head); assert(changed); (void) get_block_device("/", &rootdev); + (void) get_block_device("/usr", &usrdev); LIST_FOREACH(raid_device, m, *head) { - if (major(rootdev) != 0 && rootdev == m->devnum) { + if ((major(rootdev) != 0 && rootdev == m->devnum) || + (major(usrdev) != 0 && usrdev == m->devnum)) { + log_debug("Not detaching MD %s that backs the OS itself, skipping.", m->path); n_failed ++; continue; }