Andrew Morton [Tue, 18 Feb 2003 13:24:42 +0000 (05:24 -0800)]
[PATCH] export add_to_page_cache() and __pagevec_lru_add to
CIFS is using these.
Given that the readpages() address_space op is supposed to add the pages to
pagecache, it makes sense to make these functions available to modules.
I can't say that I put a lot of though into the readpages API. It was
designed as just enough functionality to be able to stuff a bunch of
readahead pages into a single BIO. The only reason I made it an a_op at all
was because we have toi enter the fs to pick up the ->get_block callback's
address.
But a couple of filesystems seem to be making use of it now. Reiser4 will
need access at the do_page_cache_readahead() level too.
Andrew Morton [Tue, 18 Feb 2003 13:24:33 +0000 (05:24 -0800)]
[PATCH] fix for uninitialized timer in drm_drv.h
Patch from Martin Josefsson <gandalf@wlug.westbo.se>
Here's a fix for an uninitialized timer in drm_drv.h, for some reason it
initilizes the timer when the device is opened, not at init. It moves
the initilization for the waitqueue to init aswell.
This gets rid of the port semaphore, and the serialization caused by
that, and replaces it with the proper reference counting logic for
the usb serial object.
[PATCH] USB: add "present" flag to usb_device structure.
This solves lots of races when drivers hold a reference to the usb_device
after the device is physically removed from the system (like when a user
has a open handle.) This now prevents any new urbs being submitted or
canceled for the device.
Ivan Kokshaysky [Tue, 18 Feb 2003 07:48:40 +0000 (23:48 -0800)]
[PATCH] numa fixes
As Jeff pointed out, reserve_bootmem() in core_irongate.c
breaks build of generic discontiguous memory kernels because
this function doesn't exist in such kernels.
Ditto free_bootmem().
Also, here's fixes for NUMA+initrd and memory info printk.
George Anzinger [Tue, 18 Feb 2003 06:41:13 +0000 (22:41 -0800)]
[PATCH] POSIX clocks & timers
This is version 23 or so of the POSIX timer code.
Internal changelog:
- Changed the signals code to match the new order of things. Also the
new xtime_lock code needed to be picked up. It made some things a lot
simpler.
- Fixed a spin lock hand off problem in locking timers (thanks
to Randy).
- Fixed nanosleep to test for out of bound nanoseconds
(thanks to Julie).
- Fixed a couple of id deallocation bugs that left old ids
laying around (hey I get this one).
- This version has a new timer id manager. Andrew Morton
suggested elimination of recursion (done) and I added code
to allow it to release unused nodes. The prior version only
released the leaf nodes. (The id manager uses radix tree
type nodes.) Also added is a reuse count so ids will not
repeat for at least 256 alloc/ free cycles.
- The changes for the new sys_call restart now allow one
restart function to handle both nanosleep and clock_nanosleep.
Saves a bit of code, nice.
- All the requested changes and Lindent too :).
- I also broke clock_nanosleep() apart much the same way
nanosleep() was with the 2.5.50-bk5 changes.
TIMER STORMS
The POSIX clocks and timers code prevents "timer storms" by
not putting repeating timers back in the timer list until
the signal is delivered for the prior expiry. Timer events
missed by this delay are accounted for in the timer overrun
count. The net result is MUCH lower system overhead while
presenting the same info to the user as would be the case if
an interrupt and timer processing were required for each
increment in the overrun count.
Alan Cox [Tue, 18 Feb 2003 03:43:37 +0000 (19:43 -0800)]
[PATCH] ide-proc - fix crash on identify
We cannot do an identify on a drive with no driver loaded. The kernel
has a ton of half backed "if no driver" cases but they dont cover all
cases and its a mess.
For now we rely on the probe time identify unless a driver is loaded. A
proper fix (an 'ide-unassigned' driver) will follow later
Alan Cox [Tue, 18 Feb 2003 03:43:22 +0000 (19:43 -0800)]
[PATCH] ide-probe updates
Fix crash with slave and no master
Fix crash with hdb=noprobe hdb=cdrom
Fix crash with pre ATA devices refusing IDENTIFY
Fix flash slave making master disappear
Add interfaces that the PPC uses to do disk spin up when the BIOS has not
Add framework to allow hdparm -d1 on a box built with IDE_DMA_ONLYDISK
Fix identify framework so we can fix the proc identify crash too
Duncan Sands [Tue, 18 Feb 2003 00:43:30 +0000 (16:43 -0800)]
[PATCH] USB speedtouch: replace speedtouch crc routines
Use the kernel CRC routines rather than a do-it-yourself version.
By the way, I created a common USB Makefile.lib, rather than having
one for the class drivers, and one for speedtouch.
From the maintainer, Elmer Joandi(sp?):
aironet4500 is superseded by cisco340 drivers (airo.c) by Ben Reed
and the only strenght of my driver is that it allows to access absolutely
all registers on card. Which is useful for developers only. Besides there
is no normal interface to configure crypto in my driver, as the general
interface is not userfriendly at all. So in fact, I use Bens driver for my
ISP bussiness in general cases and my driver for troubleshooting.
Neil Brown [Mon, 17 Feb 2003 11:17:51 +0000 (03:17 -0800)]
[PATCH] Provide a 'safe-mode' for soft raid.
When a raid1 or raid5 array is in 'safe-mode', then the array
is marked clean whenever there are no outstanding write requests,
and is marked dirty again before allowing any write request to
proceed.
This means than an unclean shutdown while no write activity is happening
will NOT cause a resync to be required. However it does mean extra
updates to the superblock.
Currently safe-mode is turned on by sending SIGKILL to the raid thread
as would happen at a normal shutdown. This should mean that the
reboot notifier is no longer needed.
After looking more at performance issues I may make safemode be on
all the time. I will almost certainly make it on when RAID5 is degraded
as an unclean shutdown of a degraded RAID5 means data loss.
This code was provided by Angus Sawyer <angus.sawyer@dsl.pipex.com>
Neil Brown [Mon, 17 Feb 2003 11:17:16 +0000 (03:17 -0800)]
[PATCH] Fix bug in md superblock sanity checking.
This call the super_90_load is meant to make sure that the new
superblock is consistant with a pre-exisitnig one (on rdev0)... but
rdev0 was not passed :-(
Neil Brown [Mon, 17 Feb 2003 11:17:07 +0000 (03:17 -0800)]
[PATCH] Convert fs/nfsctl.c to use C99 named initiailzers
From Art Haas <ahaas@airmail.net>:
This converts the file to use C99 named initializers. These change make
the file compile with fewer warnings if '-W' is added to the compile
flags, and may enhance code readability. Let me know if you think this
should be sent to Linus.
Neil Brown [Mon, 17 Feb 2003 11:17:00 +0000 (03:17 -0800)]
[PATCH] Make kNFSd pre/post_[acm]time use struct timespec
From Trond:
When the nanosecond resolution on [acm]time was introduced to 2.5.x,
the knfsd GETATTR responses were converted to make use of the
nanosecond field, but the pre/post WCC attributes were not. This will
lead to a lot of unnecessary cache invalidations on the clients.
The following trivial patch should fix up knfsd so that it stores and
encodes the full 'struct timespec' in both pre and post attribute
fields.
Neil Brown [Mon, 17 Feb 2003 11:16:52 +0000 (03:16 -0800)]
[PATCH] Fix problem where knfsd wouldn't release filesystem on unexport.
Problem was that the cache was being updated inplace, rather
than swapping in a new entry, so old filesystem pointers
were overwritten without being released.