> From: Bryan Cantrill <[EMAIL PROTECTED]>
> Subject: Re: [osol-discuss] Etymology of BFU
> To: [EMAIL PROTECTED] (Rich Teer)
> Date: Sun, 24 Jul 2005 12:59:39 -0700 (PDT)
> Cc: opensolaris-discuss@opensolaris.org, [EMAIL PROTECTED] (Jeff 
Bonwick), [EMAIL PROTECTED] (Roger A. Faulkner)
> 
> > Hi all,
> > 
> > A quick question for you: what definition of BFU came first:
> > Blindingly Fast Upgrade, or Bonwick Faulkner Upgrade?  Just
> > curious.
> 
> I had always been led to believe that both were just more palatable names
> retrofitted on to BFU after it was in widepread use -- and that the
> original name was (as you'd expect if you know Bonwick) Big F'ing Upgrade.
> But Jeff or Roger can obviously answer for certain; they're cc:'d...
> 
>       - Bryan

It was 1993, during the development of Solaris 2.3,
when Jeff and I came up with bfu.  We needed a faster way
to upgrade people's workstations (otherwise, we had to wait
four weeks between the time we put something back and the time
it became available as a netinstall image).

At that time, the nightly build produced cpio archives
of everything it built that night.  We used these archives
to populate idle disks on test machines, but nothing else.

It occurred to me that, since cpio doesn't overwrite any
files (it creates new files and renames them into place),
I could do this operation to a running system.  I tried
it and it worked (for some definition  of 'worked'), but
the configuration files were a problem.

I told Jeff, and he said "You're doing WHAT?  Are you insane?"
Then he applied his natural talent to the problem and, with
a few back-and-forth iterations between us, we came up with
a shell script to do the job better than just using cpio.
But we needed a name for the script (we came up with a few
pretty lame names that we were unhappy with).

Then, as we were walking with a bunch of irreverent kernel engineers
from Building 5 in the Mountain View campus to Building 12 (the lunch
room), we told them about it.  At this time, there were several
BF* things, including BFM (Big F'ing Make, the nightly build).
[We measured the speed of a machine in units of BFM's per day.]
So Jim Voll (no longer at Sun, but well and fondly remembered)
declared, "So it's a BFU!" and the name received all-around approval.
On that same trip to the lunch room, Jeff and I cleaned it up a bit
to be either "Blinding Fast Upgrade" or "Bonwick-Faulkner Upgrade",
but everyone remembers Jim Voll's original.

At that time, it was a bit of a pain to deal with merging the
old and new (replaced by the upgrade) configuration files, so
bfu was really only usable by experienced engineers.  Also,
Jeff wrote up the documentation for it, including the wonderful
section about "UFS bungee jumping" (what happens if the system
loses power while in the middle of copying in a cpio archive?).

Since that time Jeff has improved bfu a lot and made it more
reliable, and it has become one of the mainstays of Solaris
development, both kernel and user-level.  Everyone is expected
to make appropriate changes to bfu when they integrate some big
wad that requires it, so it's no longer Jeff's or my baby.

Roger

_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to