Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jul 2014 13:43:25 +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: r269122 - head/sys/cam/ctl
Message-ID:  <201407261343.s6QDhP5h028726@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sat Jul 26 13:43:25 2014
New Revision: 269122
URL: http://svnweb.freebsd.org/changeset/base/269122

Log:
  Fix infinite loop, when doing WRITE SAME on file-backed LUN.
  
  MFC after:	3 days

Modified:
  head/sys/cam/ctl/ctl_backend_block.c

Modified: head/sys/cam/ctl/ctl_backend_block.c
==============================================================================
--- head/sys/cam/ctl/ctl_backend_block.c	Sat Jul 26 13:37:25 2014	(r269121)
+++ head/sys/cam/ctl/ctl_backend_block.c	Sat Jul 26 13:43:25 2014	(r269122)
@@ -722,10 +722,11 @@ ctl_be_block_dispatch_file(struct ctl_be
 	}
 
 	/*
-	 * If this is a write, we're all done.
+	 * If this is a write or a verify, we're all done.
 	 * If this is a read, we can now send the data to the user.
 	 */
-	if (ARGS(io)->flags & (CTL_LLF_WRITE | CTL_LLF_VERIFY)) {
+	if ((beio->bio_cmd == BIO_WRITE) ||
+	    (ARGS(io)->flags & CTL_LLF_VERIFY)) {
 		ctl_set_success(&io->scsiio);
 		ctl_complete_beio(beio);
 	} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407261343.s6QDhP5h028726>