From owner-freebsd-scsi@FreeBSD.ORG Wed Jul 11 19:17:16 2012 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79AEB1065676; Wed, 11 Jul 2012 19:17:16 +0000 (UTC) (envelope-from seanbru@yahoo-inc.com) Received: from mrout1-b.corp.bf1.yahoo.com (mrout1-b.corp.bf1.yahoo.com [98.139.253.104]) by mx1.freebsd.org (Postfix) with ESMTP id 365308FC14; Wed, 11 Jul 2012 19:17:16 +0000 (UTC) Received: from [IPv6:::1] (rideseveral.corp.yahoo.com [10.73.160.231]) by mrout1-b.corp.bf1.yahoo.com (8.14.4/8.14.4/y.out) with ESMTP id q6BJGIRb072054; Wed, 11 Jul 2012 12:16:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yahoo-inc.com; s=cobra; t=1342034179; bh=KqPDAGENBg4uy2apjLk1xKhWgFArK0cCr3tP67JdB6g=; h=Subject:From:To:Cc:In-Reply-To:References:Content-Type:Date: Message-ID:Mime-Version:Content-Transfer-Encoding; b=tD6zhUc1BUjNgBn91SDG/Vn0ItxS9DB5qEMtkTwLanMg6NfZNAlpldSPtKmWRIQXJ 1Saf9uZfGOIzQiJ40F0qzZjakTNUFPMWhvT15kYn/zb1V0jPRqUfLJ4NoB18k44KP+ /vVa7xmpGRMu9euvWowpHFHT9slWEYodvllnbShw= From: Sean Bruno To: Scott Long In-Reply-To: <1341950347.63294.YahooMailNeo@web45701.mail.sp1.yahoo.com> References: <909AAC62-7BB4-43E7-B04B-27466B038A07@averesystems.com> <1341340916.3370.6.camel@powernoodle.corp.yahoo.com> <2936EBFD-CA1E-4EC4-9790-80D1A5DC5567@averesystems.com> <1341938629.2573.7.camel@powernoodle.corp.yahoo.com> <1341950347.63294.YahooMailNeo@web45701.mail.sp1.yahoo.com> Content-Type: text/plain; charset="UTF-8" Date: Wed, 11 Jul 2012 12:16:18 -0700 Message-ID: <1342034178.9662.8.camel@powernoodle.corp.yahoo.com> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit X-Milter-Version: master.31+4-gbc07cd5+ X-CLX-ID: 034178002 Cc: "freebsd-scsi@freebsd.org" , "ambrisko@FreeBSD.ORG" , "scottl@freebsd.org" Subject: Re: [patch] MFI should set bio_resid on command failure X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jul 2012 19:17:16 -0000 > >> >> When an MFI command fails, the driver needs to set > > bio->bio_resid so that the upper levels notice. Otherwise we see commands > > silently failing leading to data corruption. This mirrors dadone(). > >> >> > >> >> -Andrew > >> >> > >> >> Index: sys/dev/mfi/mfi_disk.c > >> >> > > =================================================================== > >> >> --- sys/dev/mfi/mfi_disk.c (revision 238071) > >> >> +++ sys/dev/mfi/mfi_disk.c (working copy) > >> >> @@ -298,6 +298,7 @@ > >> >> hdr = bio->bio_driver1; > >> >> > >> >> if (bio->bio_flags & BIO_ERROR) { > >> >> + bio->bio_resid = bio->bio_bcount; > >> >> if (bio->bio_error == 0) > >> >> bio->bio_error = EIO; > >> >> disk_err(bio, "hard error", -1, 1); > >> >> > >> >> -------------------------------------------------- > >> >> Andrew Boyer aboyer@averesystems.com Committed at svn r238371 Sean