mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-11-06 14:24:51 +03:00
The existing taskq_wait_id() function can incorrectly block indefinitely. Reimplement it more simply using wait_event() in a similar fashion to taskq_wait_all(). This flaw was uncovered in the context of moving vn_rdwr() to a taskq. Previously taskq_wait_id() had no consumers outside the SPLAT task framework which is why the issue went unnoticed. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> |
||
|---|---|---|
| .. | ||
| Makefile.in | ||
| spl-atomic.c | ||
| spl-condvar.c | ||
| spl-cred.c | ||
| spl-debug.c | ||
| spl-err.c | ||
| spl-generic.c | ||
| spl-kmem.c | ||
| spl-kobj.c | ||
| spl-kstat.c | ||
| spl-mutex.c | ||
| spl-proc.c | ||
| spl-rwlock.c | ||
| spl-taskq.c | ||
| spl-thread.c | ||
| spl-time.c | ||
| spl-tsd.c | ||
| spl-vnode.c | ||
| spl-xdr.c | ||
| spl-zlib.c | ||