Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[7.1.4] libvirt prevented unmounting the SSD cache pool

Featured Replies

Hi, I was attempting the upgrade from 7.1.4 to 7.2.0 and encountered this issue while trying to stop the array, after the updater finished expanding the new image onto the flash drive. I decided to stop the array before restarting the server because I've had instances where the array didn't cleanly unmount before, and the built-in timeout caused the reboot attempt to be marked as an unclean shutdown.

Sure enough, the array would not cleanly unmount today, with the "Retry unmounting disk share(s)" message printed in the lower-left corner. I checked via SSH and while the main array had already unmounted, Unraid was stuck unmounting the cache pool:

Oct 31 23:58:47 dipper emhttpd: shcmd (40096042): umount /mnt/cache
Oct 31 23:58:47 dipper root: umount: /mnt/cache: target is busy.
Oct 31 23:58:47 dipper emhttpd: shcmd (40096042): exit status: 32
Oct 31 23:58:47 dipper emhttpd: Retry unmounting disk share(s)...
Oct 31 23:58:52 dipper emhttpd: Unmounting disks...
Oct 31 23:58:52 dipper emhttpd: shcmd (40096043): umount /mnt/cache
Oct 31 23:58:52 dipper root: umount: /mnt/cache: target is busy.
Oct 31 23:58:52 dipper emhttpd: shcmd (40096043): exit status: 32
Oct 31 23:58:52 dipper emhttpd: Retry unmounting disk share(s)...

I checked what was using the cache pool, and found some processes using /etc/libvirt and not allowing the cache pool to unmount. After sending SIGTERM to all of those processes, Unraid proceeded with the rest of the array stop procedure and I was able to stop and restart the server.

root@dipper:/mnt# mount | grep cache
/dev/mapper/nvme0n1p1 on /mnt/cache type btrfs (rw,noatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
/mnt/cache/system/libvirt/libvirt.img on /etc/libvirt type btrfs (rw,noatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
root@dipper:/mnt# umount /etc/libvirt
umount: /etc/libvirt: target is busy.
root@dipper:/mnt# lsof /etc/libvirt
COMMAND       PID USER FD   TYPE DEVICE SIZE/OFF NODE NAME
notify_po 3754678 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
session_c 3754681 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
system_te 3754683 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
device_li 3754688 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
disk_load 3754696 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
parity_li 3754700 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
sleep     3879329 root 31r   REG   0,53      547  260 /etc/libvirt/libvirt.conf
root@dipper:/mnt# kill 3754678
root@dipper:/mnt# kill 3754681
root@dipper:/mnt# kill 3754683
root@dipper:/mnt# kill 3754688
root@dipper:/mnt# kill 3754696
root@dipper:/mnt# kill 3754700
root@dipper:/mnt# kill 3879329
-bash: kill: (3879329) - No such process
root@dipper:/mnt# lsof /etc/libvirt
root@dipper:/mnt# umount /etc/libvirt
root@dipper:/mnt# 

I was wondering if this was a known defect? Was there a reason why all of those processes were running in /etc/libvirt? I don't remember running any active VMs at the moment on my server.

Attached diagnostics.

dipper-diagnostics-20251031-1100-anonymized.zip

23 minutes ago, ericswpark said:

I was wondering if this was a known defect?

Nope, does it do that every time you stop the array?

  • Author
Just now, JorgeB said:

Nope, does it do that every time you stop the array?

No, it occasionally does this. I will post here if I encounter the same issue on 7.2.0.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.