NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/57263: vnd locks up when using vn_rdwr
>Number: 57263
>Category: kern
>Synopsis: vnd locks up when using vn_rdwr
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Mar 08 13:00:00 +0000 2023
>Originator: Frank Kardel
>Release: NetBSD 9.99.100
>Organization:
>Environment:
System: NetBSD pip.kardel.name 9.99.100 NetBSD 9.99.100 (PIPGEN) #0: Fri Feb 17 20:19:40 CET 2023 ...
Architecture: x86_64
Machine: amd64
>Description:
vndX stalls on following setups
- ffs on raidX
- zfs
the wchan is "vndpc" which is only used when
vnd uses vn_rdwr() for I/O.
vnd will work when vnd can use strategy() and the block mapping functions.
thus, currently vnd is of limited use
>How-To-Repeat:
configure vnd device off of ffs on raidX or zfs files systems. Do some
heavy I/O and get stuck on "vndpc".
the waiting code fragment in vndstrategy is:
if ((vnd->sc_flags & VNF_USE_VN_RDWR)) {
KASSERT(vnd->sc_pending >= 0 &&
vnd->sc_pending <= VND_MAXPENDING(vnd));
while (vnd->sc_pending == VND_MAXPENDING(vnd))
tsleep(&vnd->sc_pending, PRIBIO, "vndpc", 0);
vnd->sc_pending++;
}
>Fix:
find the root cause why vnd->sc_pending is stuck at VND_MAXPENDING(vnd)
Home |
Main Index |
Thread Index |
Old Index