From owner-freebsd-scsi Thu Dec 11 19:33:56 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA10583 for freebsd-scsi-outgoing; Thu, 11 Dec 1997 19:33:56 -0800 (PST) (envelope-from owner-freebsd-scsi) Received: from pluto.plutotech.com (mail.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA10576 for ; Thu, 11 Dec 1997 19:33:53 -0800 (PST) (envelope-from gibbs@plutotech.com) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by pluto.plutotech.com (8.8.7/8.8.5) with ESMTP id UAA27134 for ; Thu, 11 Dec 1997 20:33:51 -0700 (MST) Message-Id: <199712120333.UAA27134@pluto.plutotech.com> To: scsi@FreeBSD.org Subject: CAM Update. Date: Thu, 11 Dec 1997 20:32:02 -0700 From: "Justin T. Gibbs" Sender: owner-freebsd-scsi@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk I've uploaded a set of "incremental" diffs that will update a system running the 971209 snapshot to 971211. If you happen to be testing/using CAM, please drop me a line so I can find out what peripherals and adapters you have. For those of you using CAM on an SMP system, you might notice a few timeouts at boot time. It seems that in some systems the clock is running fast causing "bogus" timeouts. The system should recover from these timeouts and the boot proceed normally. Please let me know if that isn't the case for you. The 971211 snapshot includes the following changes: Tape Driver: The driver did not properly set the B_ERROR buffer flag when handling a defered EOF condition. This meant that the client would not see the residual. The driver now returns ENOSPC on writes that hit EOM. CDROM Driver: Correct a stupid logic bug that snuck in just before the last snapshot. This prevented CDROMs from being mounted. Aic7xxx Driver: Correct a bug that caused the driver to never renegotiate sync with wide targets after an automatic request sense. Needless to say, this killed performance. Don't use AAP to deal with the KERNEL_QINPOS scratch ram variable. There are occasions where the AAP write fails and the sequencer doesn't see a new entry in the input queue. Deal with "immediate resets" in the error recovery code correctly. These used to leave the controller queue in the frozen state so that no further I/O occured. XPT Layer: We now probe all device in parallel. This greatly increases the probe stage. The code already performed all device attachments in parallel. Snoop the device control page on devices that say they can perform tagged queuing. This allows us to read the DQUE flag indicating that tagged queuing is disabled on this target and avoid attempting any tagged I/O. Use cam_periph_error during device probes. In the past, the probe code bailed out on most errors. Fix a race condition that might allow a transaction to slip after a device queue or sim queue was placed into the frozen state. iostat: iostat will now report statistics for all CAM devices. It is far from it's final state though. Suggestions to ken@plutotech.com To apply the patches: cd /usr/src zcat cam-971211.incremental.diffs.gz | patch -p0 The patch may be obtain from: ftp://ftp.FreeBSD.org/pub/FreeBSD/cam/cam-971211.incremental.diffs.gz or ftp://ftp.kdm.org/pub/FreeBSD/cam/cam-971211.incremental.diffs.gz -- Justin