Date: Tue, 8 Jul 2014 08:34:35 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r268387 - head/sys/cam/ctl Message-ID: <201407080834.s688YZlx029132@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Tue Jul 8 08:34:34 2014 New Revision: 268387 URL: http://svnweb.freebsd.org/changeset/base/268387 Log: Fix task management functions status: task not found is not an error, while not implemented function is. Modified: head/sys/cam/ctl/ctl.c Modified: head/sys/cam/ctl/ctl.c ============================================================================== --- head/sys/cam/ctl/ctl.c Tue Jul 8 08:18:44 2014 (r268386) +++ head/sys/cam/ctl/ctl.c Tue Jul 8 08:34:34 2014 (r268387) @@ -11944,7 +11944,7 @@ ctl_abort_task(union ctl_io *io) lun = ctl_softc->ctl_luns[targ_lun]; else { mtx_unlock(&ctl_softc->ctl_lock); - goto bailout; + return (1); } #if 0 @@ -12047,8 +12047,6 @@ ctl_abort_task(union ctl_io *io) } mtx_unlock(&lun->lun_lock); -bailout: - if (found == 0) { /* * This isn't really an error. It's entirely possible for @@ -12064,9 +12062,8 @@ bailout: io->io_hdr.nexus.targ_lun, io->taskio.tag_num, io->taskio.tag_type); #endif - return (1); - } else - return (0); + } + return (0); } /* @@ -12076,15 +12073,12 @@ bailout: static void ctl_run_task(union ctl_io *io) { - struct ctl_softc *ctl_softc; - int retval; + struct ctl_softc *ctl_softc = control_softc; + int retval = 1; const char *task_desc; CTL_DEBUG_PRINT(("ctl_run_task\n")); - ctl_softc = control_softc; - retval = 0; - KASSERT(io->io_hdr.io_type == CTL_IO_TASK, ("ctl_run_task: Unextected io_type %d\n", io->io_hdr.io_type)); @@ -12133,7 +12127,6 @@ ctl_run_task(union ctl_io *io) case CTL_TASK_LUN_RESET: { struct ctl_lun *lun; uint32_t targ_lun; - int retval; targ_lun = io->io_hdr.nexus.targ_mapped_lun; mtx_lock(&ctl_softc->ctl_lock); @@ -12190,12 +12183,6 @@ ctl_run_task(union ctl_io *io) io->io_hdr.status = CTL_SUCCESS; else io->io_hdr.status = CTL_ERROR; - - /* - * This will queue this I/O to the done queue, but the - * work thread won't be able to process it until we - * return and the lock is released. - */ ctl_done(io); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407080834.s688YZlx029132>