freebsd-nq/sys
Matt Jacob 499d2a2a5c Extend unit numbers to a full 10 bits (split into sections
of the minor). Establish and use a control mode open. Control
mode opens may open the device without locking, but are prohibited
from all but some ioctls. MTIOCGET always works. MTIOCERRSTAT
works, but the clearing of latched error status is contingent
upon whether another application has the device open, in which
case an interruptible perip acquire is done. MTSETBSIZ, MTSETDNSTY
and MTCOMP also require a periph aquire.

Relative fileno and blkno are tracked. Note that just about any
error will make these undefined, and if you space to EOD or use
hardware block positioning, these are also lost until the next
UNLOAD or REWIND.

Driver state is also tracked and recorded in the unit softc
to be passed back in mt_dsreg for a MTIOCGET call.
Thanks to Dan Strick for suggesting this.

Reintroduce 2 filemarks at EOD for all but QIC devices. I
really think it's wrong, but there is a lot of 3rd party
software that depends upon this (not the least of which is
tcopy). Introduce a SA_QUIRK_1FM to ensure that some devices
can be marked as only being able to do 1 FM at EOD.

At samount time force a load to BOT if we aren't mounted. If the
LOAD command fails, use the REWIND command (e.g., for the IBM 3590
which for some gawdawful reason doesn't support the LOAD (to BOT)
command).

Also at samount time, if you don't know fixed or variable, try to
*set* to one of the known fixed (or variable, for special case)
density codes. We only have to do this once per boot, so it's not
that painful. This is another way to try and figure out the wierd
QIC devices without having to quirk everything in the universe.

A substantial amount of cleanup as to what operations can and what
operations cannot be retried. Don't retry space operations if they
fail- it'll just lead to lossage.

Not yet done is invalidating mounts correctly after errors. ENOTIME.
1999-02-05 07:32:52 +00:00
..
alpha Added call to elf_brand_inuse() to prevent you from cutting your own 1999-02-04 21:20:13 +00:00
amd64 replace previous stupid comment with one more appropriate 1999-02-04 22:34:23 +00:00
boot Make FICL_TRACE default. 1999-02-04 17:13:49 +00:00
cam Extend unit numbers to a full 10 bits (split into sections 1999-02-05 07:32:52 +00:00
coda Removed a bogus cast to c_caddr_t. This is part of terminating 1999-01-29 07:23:53 +00:00
compat svr4 emulator will refuse to unload itself if it is currently in use. 1999-02-04 12:43:17 +00:00
compile
conf replace previous stupid comment with one more appropriate 1999-02-04 22:34:23 +00:00
contrib/softupdates Gutted softdep_deallocate_dependencies and replaced it with a panic. It 1999-01-22 09:07:32 +00:00
ddb Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 23:45:44 +00:00
dev Remove some dead debug code 1999-02-05 05:09:22 +00:00
fs Correct a format mismatch on 64-bit architectures. This should 1999-02-05 06:18:54 +00:00
geom Fix warnings preparing for -Wall -Wcast-qual 1999-01-27 20:09:21 +00:00
gnu Use suser() to check for super user rather than examining cr_uid directly. 1999-01-30 12:17:38 +00:00
i4b Update the pccard hooks to use a module style declaration instead. 1999-01-19 00:21:53 +00:00
i386 replace previous stupid comment with one more appropriate 1999-02-04 22:34:23 +00:00
isa Fix compile warnings about missing braces around static initialization of unions. 1999-01-31 11:52:04 +00:00
isofs/cd9660 Don't comment out dead code; remove it. 1999-01-31 11:54:29 +00:00
kern Additional note on last rev: The rationale for this is to allow you 1999-02-05 03:47:47 +00:00
libkern Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 02:26:20 +00:00
miscfs Correct a format mismatch on 64-bit architectures. This should 1999-02-05 06:18:54 +00:00
modules Split .gdbinit file into two versions, on suitable for remote 1999-02-04 04:59:52 +00:00
msdosfs Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 22:42:27 +00:00
net Get rid of IFF_BROADCAST from default IFF_ slip options. This accidently 1999-02-02 00:28:29 +00:00
netatalk Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 22:42:27 +00:00
netatm Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
netinet Nuke all the stupid ffs() stuff and use powerof2() instead. 1999-02-04 03:27:43 +00:00
netipx Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
netkey #ifdef out unused function key_freetables. 1999-01-12 12:38:31 +00:00
netnatm Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
netns Make INET a proper option. 1998-01-08 23:42:31 +00:00
nfs Fix warnings related to -Wall -Wcast-qual 1999-01-28 17:32:05 +00:00
nfsclient Fix warnings related to -Wall -Wcast-qual 1999-01-28 17:32:05 +00:00
nfsserver Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 22:42:27 +00:00
ntfs First version. 1999-02-03 04:07:38 +00:00
pc98 Sync with sys/i386/i386/userconfig.c revision 1.129. 1999-02-04 13:58:44 +00:00
pccard Allow the interrupt allocated to the PCIC to be tuned from the kernel 1999-01-29 01:18:15 +00:00
pci Remember to initialize ifp->if_snd.ifq_maxlen. 1999-02-01 21:25:52 +00:00
posix4 Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
powerpc Mostly remove the VM_STACK OPTION. 1999-01-26 02:49:52 +00:00
rpc
svr4 svr4 emulator will refuse to unload itself if it is currently in use. 1999-02-04 12:43:17 +00:00
sys Add driver states that will be reported (for SCSI) in mt_dsreg. 1999-02-05 02:47:30 +00:00
tools Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
ufs Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
vm Fix bug in a KASSERT I introduced in vm_page_qcollapse() rev 1.139. 1999-02-04 17:47:52 +00:00
Makefile Backed out previous commit. It depends on a.out utilities and libraries 1998-12-30 12:06:08 +00:00