Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 May 1999 23:16:40 -0600 (MDT)
From:      "Kenneth D. Merry" <ken@plutotech.com>
To:        eivind@FreeBSD.org (Eivind Eklund)
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sbin/camcontrol camcontrol.8 camcontrol.c src/sys/cam cam_ccb.h cam_sim.c cam_sim.h cam_xpt.c src/sys/cam/sc
Message-ID:  <199905100516.XAA74004@panzer.plutotech.com>
In-Reply-To: <19990510054516.V76212@bitbox.follo.net> from Eivind Eklund at "May 10, 1999  5:45:17 am"

next in thread | previous in thread | raw e-mail | index | archive | help

--ELM926313400-73939-0_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Eivind Eklund wrote...
> On Sat, May 08, 1999 at 01:09:36PM -0600, Kenneth D. Merry wrote:
> > Eivind Eklund wrote...
> > > I wasn't saying that it wasn't the right decision - I was just
> > > registering surprise.
> > > 
> > > I think it would be appropriate to send a message to -announce, and it
> > > definately needs to go into the release notes for 3.2.  Breaking
> > > binary compatibility in -stable is supposed to be an event.
> > 
> > I don't think it's a big enough event to bother people on -announce.  If
> > people are running -stable, they should read the -stable list.  I sent mail
> > there, so those folks should be informed of the situation.
> 
> This does not match with the guidelines we've given to our users
> previously.  We've said that they were adviced to read the -stable
> list, but it wasn't a requirement for following the branch.  Adding it
> as a requirement makes -stable much less useful; IMO, we don't even
> *want* all users of -stable to read the -stable list, as that would
> create much too much noise on the list.

You might be right, there already seems to be lots of noise on that list. :)
(at least it isn't as bad as -questions yet)

> I will repeat myself: Breaking binary compatibility in -stable is
> *supposed to be an event*.  This means that if you are doing it, you'd
> better be doing it for a reason that is good enough to send a message
> to -announce.

I think the reasons are certainly good, although I'm not sure stuff like
this should really go to -announce.  I think that bugging people on
-announce should generally be for for big things like release announcements
and such, but who am I to say what it's for?

> > And this isn't the only thing that'll break binary compatibility in
> > 3.2.  I fixed some problems in the devstat code back in February (just
> > after 3.1 went out, I think) that will also break ports that use the
> > devstat code.
> 
> Ouch.
> 
> > I think people should probably expect some interfaces to be broken between
> > releases, since a completely stagnant userland<->kernel interface for
> > everything would probably indicate a dead branch.
> 
> Then all of RELENG_2_2 was dead.  AFAIR, the only breaks of binary
> compatibility there was ipfw (broken twice, due to people ignoring the
> requirement not to break binary compatibility); at no time was
> anything done that would break the installed packages.

Just out of curiosity, will a ps binary from 2.2 work on 2.2.8?  (I really
don't know the answer, but if it won't, my guess is lsof would be broken as
well.)

> People, we are not supposed to be creating interfaces that *need* to
> break binary compatibility.  It isn't as if the techniques for
> creating extensible interfaces weren't well known 20 years ago; there
> is no reason not to use them today.

I've been on both sides of the argument with this one.  On one hand, it's
difficult to be on the receiving end of interface changes that break
existing software.  The temptation is to flog the developer who broke the
interface until he puts in backwards-compatibility code.

On the other hand, continually having to make your code 100% backwards
compatible is a real drag.

As a practical matter, these changes won't break any commercial software
that I know of.  The only commercial product I know of that has ever used
FreeBSD's SCSI-passthrough interface was xvscan.  And, as far as I know, it
still hasn't been updated for CAM.  (at least their web page hasn't
changed)

As for the ports, people can generally recompile them or reinstall the
package.  It may be inconvenient, but I think it's worth it for the bug
fixes and feature enhancements.

> > It might be worth mentioning this stuff in the release notes, though.
> 
> It is 100% necessary that this be mentioned in the release notes or
> backed out; if it isn't worth mentioning in the release notes, it
> definately isn't worth breaking binary compatibility for.

diffs are attached.  I think they explain things sufficiently.

Ken
-- 
Kenneth Merry
ken@plutotech.com

--ELM926313400-73939-0_
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: attachment; filename=relnotes.diffs.050999
Content-Description: relnotes.diffs.050999
Content-Transfer-Encoding: 7bit

==== //depot/cam/release/texts/HARDWARE.TXT#11 - /a/ken/perforce/cam/release/texts/HARDWARE.TXT ====
*** /tmp/tmp.73933.0	Sun May  9 22:56:37 1999
--- /a/ken/perforce/cam/release/texts/HARDWARE.TXT	Sun May  9 22:13:40 1999
***************
*** 329,335 ****
  Adaptec 1535 ISA SCSI controllers
  Adaptec 154x series ISA SCSI controllers
  Adaptec 174x series EISA SCSI controller in standard and enhanced mode.
! Adaptec 274X/284X/2920C/294x/2950/3940/3950 (Narrow/Wide/Twin) series
  EISA/VLB/PCI SCSI controllers.
  Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers.
  
--- 329,335 ----
  Adaptec 1535 ISA SCSI controllers
  Adaptec 154x series ISA SCSI controllers
  Adaptec 174x series EISA SCSI controller in standard and enhanced mode.
! Adaptec 274X/284X/2920C/2930U2/294x/2950/3940/3950 (Narrow/Wide/Twin) series
  EISA/VLB/PCI SCSI controllers.
  Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers.
  
==== //depot/cam/release/texts/RELNOTES.TXT#16 - /a/ken/perforce/cam/release/texts/RELNOTES.TXT ====
*** /tmp/tmp.73933.1	Sun May  9 22:56:37 1999
--- /a/ken/perforce/cam/release/texts/RELNOTES.TXT	Sun May  9 22:54:35 1999
***************
*** 68,73 ****
--- 68,84 ----
  adapters based on the Lucent Hermes chipset, including the Lucent
  WaveLAN/IEEE 802.11 and the Cabletron RoamAbout.
  
+ There have been a couple of kernel changes that will break the binary
+ interface for clients of the CAM passthrough interface or the devstat(9)
+ statistics interface.  These changes were made to fix some interface
+ deficiencies.  We regret any inconvenience this will cause, but we
+ anticipate that this will have minimal impact as there are no known
+ commercial binary-only applications that use either interface.  This will
+ require that programs that use those two interfaces be recompiled.  Ports
+ that use the CAM interface include xmcd, tosha, SANE, cdrecord and cdda2wav.
+ Ports that use the devstat interface include xsysinfo and xperfmon.
+ 
+ 
  1.2. SECURITY FIXES
  -------------------
  
***************
*** 89,94 ****
--- 100,117 ----
  
  Groff/troff/eqn has been updated to version 1.11.
  
+ camcontrol now allows users to view the number of tagged openings for any
+ given device, and allows users to set the number of tagged openings for any
+ device that supports tagged queueing.
+ 
+ camcontrol also now allows users to change SCSI negotiation parameters
+ (e.g. sync rate, offset, bus width, disconnection) for devices on certain
+ controllers.  Note that this feature is only fully functional for Adaptec
+ 7xxx series controllers, Advansys narrow controllers and NCR/Symbios
+ controllers.
+ 
+ systat, vmstat, and iostat now print out statistics in a more "interesting"
+ order than before.
  
  2. Supported Configurations
  ---------------------------
***************
*** 113,119 ****
  Adaptec 1535 ISA SCSI controllers
  Adaptec 154x series ISA SCSI controllers
  Adaptec 174x series EISA SCSI controller in standard and enhanced mode.
! Adaptec 274X/284X/2920C/294x/2950/3940/3950 (Narrow/Wide/Twin) series
  EISA/VLB/PCI SCSI controllers.
  Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers.
  
--- 136,142 ----
  Adaptec 1535 ISA SCSI controllers
  Adaptec 154x series ISA SCSI controllers
  Adaptec 174x series EISA SCSI controller in standard and enhanced mode.
! Adaptec 274X/284X/2920C/2930U2/294x/2950/3940/3950 (Narrow/Wide/Twin) series
  EISA/VLB/PCI SCSI controllers.
  Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers.
  

--ELM926313400-73939-0_--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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