Date: Tue, 17 Nov 2009 20:49:26 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/cam cam_xpt.c cam_xpt_internal.h src/sys/cam/ata ata_xpt.c src/sys/cam/scsi scsi_xpt.c Message-ID: <200911172049.nAHKnaRT077418@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mav 2009-11-17 20:49:26 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/cam cam_xpt.c cam_xpt_internal.h sys/cam/ata ata_xpt.c sys/cam/scsi scsi_xpt.c Log: SVN rev 199435 on 2009-11-17 20:49:26Z by mav MFC r198748, r198782: Fix reference counting bug, when device unreferenced before invalidated. To do it, do not handle validity flag as another reference, but explicitly modify reference count each time flag is modified. The async callback could free the device. If it is a broadcast async, it doesn't hold device reference, so take our own reference. Revision Changes Path 1.3.2.9 +6 -1 src/sys/cam/ata/ata_xpt.c 1.217.2.13 +31 -22 src/sys/cam/cam_xpt.c 1.1.2.4 +3 -3 src/sys/cam/cam_xpt_internal.h 1.3.2.4 +17 -5 src/sys/cam/scsi/scsi_xpt.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911172049.nAHKnaRT077418>