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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812161657.mBGGvmvU097271>