diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2010-07-23 09:41:17 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2010-07-23 09:41:17 +0000 |
commit | 989db1c3d4476c9dcd0db00e87a2e34715a4a0a9 (patch) | |
tree | f2e49c5f5e4d9d7113ce3040121e4504933e30ed /lib | |
parent | 0d2b45b4760da6d2543d060d458a96016a041f3a (diff) |
matthew@ noted a possible misuse of the rwlock used to protect vscsi
from being opened by multiple processes at the same time. then he
pointed out that pool_get can sleep in the middle of scsi_cmd,
during which time the process processing the vscsi requests can go
away.
this uses a state variable to protect vscsi from multiple opens
which is checked by all the process and scsi midlayer entrypoints.
it avoids a potential sleep in the middle of the scsi_cmd handler
by moving to iopools.
lots of tweaks and feedback by matthew@
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions