Date: Tue, 16 Dec 2008 16:57:33 +0000 (UTC) From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/cam cam_sim.c cam_sim.h cam_xpt.c Message-ID: <200812161657.mBGGvmvU097271@repoman.freebsd.org>
index | next in thread | raw e-mail
trasz 2008-12-16 16:57:33 UTC
FreeBSD src repository
Modified files:
sys/cam cam_sim.c cam_sim.h cam_xpt.c
Log:
SVN rev 186185 on 2008-12-16 16:57:33Z by trasz
Add SIM refcounting. This is slightly different from what DragonFly
does - in DragonFly, it's cam_sim_release() what actually frees the
SIM; cam_sim_free does nothing more than calling cam_sim_release().
Here, we drain in cam_sim_free, waiting for refcount to drop to zero.
We cannot do the same think DragonFly does, because after cam_sim_free
returns, client would destroy the sim->mtx, and CAM would trip over
an initialized mutex.
Reviewed by: scottl
Approved by: rwatson (mentor)
Sponsored by: FreeBSD Foundation
Revision Changes Path
1.12 +29 -0 src/sys/cam/cam_sim.c
1.9 +3 -0 src/sys/cam/cam_sim.h
1.200 +2 -0 src/sys/cam/cam_xpt.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812161657.mBGGvmvU097271>
