'df' uninterruptible (kern_getfsstat -> vfs_busy -> sleep)
Peter Eriksson <[email protected]> Mon, 27 Jul 2026 15:17:11 +0200
| Newsgroups | gmane.os.freebsd.devel.file-systems |
|---|---|
| Message-ID | <[email protected]> |
I just noticed (FreeBSD 15.1) that it seems that df is uninterruptible = in the kernel if vfs_busy() is waiting for some lock/sleeping.=20 Output from procstat: 54468 105116 df - mi_switch+0xbc = _sleep+0x19e vfs_busy+0x203 kern_getfsstat+0x1e8 sys_getfsstat+0x22 = amd64_syscall+0x126 fast_syscall_common+0xf8=20 I=E2=80=99m running a =E2=80=9Czpool destroy=E2=80=9D on a pretty large = ZFS spool which is taking some time so it=E2=80=99s probably waiting for = some internal lock, but I don=E2=80=99t see why df/kern_getfsstat has to = uninterruptible? (I originally did =E2=80=9Czfs destroy -t $POOL=E2=80=9D then after some = time aborted that an run =E2=80=9Czpool destroy $POOL=E2=80=9D instead = so there are probably a lot of internal zfs deletions running, =E2=80=9Czp= ool get freeing $POOL=E2=80=9D gives that there are around 10TB being = deleted.) - Peter