Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 1997 20:32:02 -0700
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        scsi@FreeBSD.org
Subject:   CAM Update.
Message-ID:  <199712120333.UAA27134@pluto.plutotech.com>

next in thread | raw e-mail | index | archive | help
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



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