Changes from 1.1.27 to 1.1.28
These changes are archived on ftp.crynwr.com:pub/kchanges
and http://www.crynwr.com/kchanges.
I cannot answer questions about Linux -- I merely summarize the kernel
patches after reading them. I try to make them useful to everyone,
but kernel hackers should take them with a grain of salt and read the
patches themselves. The patch file is patch28.gz
- Improved sardonic lp error message. Some over-literal person must have
gotten one.
- Remember the pointer to the driver for serial drivers.
- NFS buffer file size was just a little too big.
- Handle dead sockets properly in /proc/net/{tcp,udp,raw}.
- Include TCP fastpath again.
- Add a missing release_sock call.
- SCSI changes from Eric Youngdale:
- More changes to eventually support loadable modules. Mainly
we want to use linked lists instead of arrays because it is easier
to dynamically add and remove things this way.
- Quite a bit more work is needed before loadable modules are
possible (and usable) with scsi, but this is most of the grunge
work.
- * Linux 1.1.28 released.
- scsi.c, scsi.h (allocate_device, request_queueable): Change
argument from index into scsi_devices to a pointer to the
Scsi_Device struct.
- Throughout: Change all calls to allocate_device,
request_queueable to use new calling sequence.
- Throughout: Use SCpnt->device instead of
scsi_devices[SCpnt->index]. Ugh - the pointer was there all along
- much cleaner this way.
- scsi.c (scsi_init_malloc, scsi_free_malloc): New functions -
allow us to pretend that we have a working malloc when we
initialize. Use this instead of passing memory_start, memory_end
around all over the place.
- scsi.h, st.c, sr.c, sd.c, sg.c: Change *_init1 functions to use
scsi_init_malloc, remove all arguments, no return value.
- scsi.h: Remove index field from Scsi_Device and Scsi_Cmnd
structs.
- scsi.c (scsi_dev_init): Set up for scsi_init_malloc.
(scan_scsis): Get SDpnt from scsi_init_malloc, and refresh
when we discover a device. Free pointer before returning.
Change scsi_devices into a linked list.
- scsi.c (scan_scsis): Change to only scan one host.
(scsi_dev_init): Loop over all detected hosts, and scan them.
- hosts.c (scsi_init_free): Change so that number of extra bytes
is stored in struct, and we do not have to pass it each time.
- hosts.h: Change Scsi_Host_Template struct to include "next" and
"release" functions. Initialize to NULL in all low level
adapters.
- hosts.c: Rename scsi_hosts to builtin_scsi_hosts, create linked
list scsi_hosts, linked together with the new "next" field.