Neil Brown [Mon, 22 Sep 2003 12:22:37 +0000 (05:22 -0700)]
[PATCH] knfsd: idempotent replay cache for OPEN state
This implements the idempotent replay cache need for NFSv4 OPEN state.
each state owner (open owner or lock owner) is required to store the
last sequence number mutating operation, and retransmit it when replayed
sequence number is presented for the operation.
I've implemented the cache as a static buffer of size 112 bytes
(NFSD4_REPLAY_ISIZE) which is large enough to hold the OPEN, the largest
of the sequence mutation operations. This implements the cache for
OPEN, OPEN_CONFIRM, OPEN_DOWNGRADE, and CLOSE. LOCK and UNLOCK will be
added when byte-range locking is done (soon!).
Neil Brown [Mon, 22 Sep 2003 12:22:28 +0000 (05:22 -0700)]
[PATCH] knfsd: NFS4XDR get rid of warning
There is a warning because of calling return with an argument on a void
function. The root cause is putting a return statement in a macro (evil
side effect).
Change ENCODE_SEQID_OP_TAIL to be a more proper macro, change all
calling functions to return void.
> That's what you are going to have to set the name file to in the
> i2c_client structure, much like your patch did. Then look at the
> different name files in each device directory to see what kind of device
> it is (chip, subclient, etc.)
OK attached patch sets all names to just chip name for chips themselves and
"chipname subclient" when subclient ios registered.
Adam Belay [Sun, 21 Sep 2003 19:02:08 +0000 (19:02 +0000)]
[PNP] remove DMA 0 restrictions
The original argument for blocking DMA 0 was to avoid conflicts with
"memory refresh" but such configurations are only found on very old
8-bit systems that are likely not supported by the linux kernel.
This patch allows dma 0 to be assigned to PnP devices by default. If
for whatever reason dma 0 cannot be used, one can avoid allocating it
by setting the pnp_reserve_dma= kernel parameter.
Adam Belay [Sun, 21 Sep 2003 18:25:50 +0000 (18:25 +0000)]
[PNP] release card devices on probe failure
When a driver's probe routine fails, it may not release all of the
card devices it requested. This patch allows the pnp layer to ensure
that all devices claimed by the failing driver are released properly.
Adam Belay [Sun, 21 Sep 2003 17:55:37 +0000 (17:55 +0000)]
[PNPBIOS] compilation fix for pnpbios without proc support
Here's an updated patch that will correct the compile error when PROC
FS is disabled. It also introduces better proc error recovery and
moves the local proc functions to the local include file. Thanks to
Daniele Bellucci for finding the problem and contributing to this
patch.
Randy Dunlap [Sun, 21 Sep 2003 09:43:09 +0000 (02:43 -0700)]
[PATCH] floppy I/O error handling => Oops
bad_flp_intr() in floppy.c can cause an Oops if the I/O request is freed
but <errors> still points into the I/O request block. Get the error
count out of the request block before ending the IO.
Andrew Morton [Sun, 21 Sep 2003 08:42:54 +0000 (01:42 -0700)]
[PATCH] AS oops fix
From: Nick Piggin <piggin@cyberone.com.au>
If a request is merged with another, it sometimes has to be repositioned on
the rbtree - you just do a delete then an add. This is a quite uncommon
case though.
I changed the way adding works, so collisions must be handled by the caller
instead of being dumbly fixed by the add routine. Unfortunately the
uncommon callers weren't handling it properly.
Andrew Morton [Sun, 21 Sep 2003 08:42:46 +0000 (01:42 -0700)]
[PATCH] zoran driver documentation fix
From: Ronald Bultje <rbultje@ronald.bitfreak.net>
the zoran kernel driver is called 'zoran.o' in its CVS (historical thing, I
don't know why), and it's called zr36067.o in the kernel tree. The
documentation in the kernel tree refers to zoran.o, though, which is (in
the kernel tree) the driver for zr36120-based cards, rather than the driver
for zr360x7-based cards.
The attached patch fixes the documentation and makes it refer to
zr36067.o instead.
Andrew Morton [Sun, 21 Sep 2003 08:42:39 +0000 (01:42 -0700)]
[PATCH] Fix sem_lock deadlock
From: Anton Blanchard <anton@samba.org>
I saw a lockup where 2 cpus were stuck in sem_lock(). It seems like we can
loop back to retry_undos with the lock held. That path takes the lock so
we will deadlock.
Andrew Morton [Sun, 21 Sep 2003 08:42:31 +0000 (01:42 -0700)]
[PATCH] Handle init_new_context failures
From: Anton Blanchard <anton@samba.org>
If init_new_context fails we definitely do not want to call mmput, because
that will call destroy_context against an uninitialised context. Instead
we should back out what we did in init_mm. Fixes some weird failures on
ppc64 when running a fork bomb.
Andrew Morton [Sun, 21 Sep 2003 08:42:22 +0000 (01:42 -0700)]
[PATCH] Speed up direct-io hugetlbpage handling
This patch short-circuits all the direct-io page dirtying logic for
higher-order pages. Without this, we pointlessly bounce BIOs up to keventd
all the time.
Andrew Morton [Sun, 21 Sep 2003 08:42:05 +0000 (01:42 -0700)]
[PATCH] deadline insert_here fix
From: Nick Piggin <piggin@cyberone.com.au>
Fix fallout from Jens' insert_here removal. Without it its possible that a
request on the dispatch list is on the merge hash as well which is bad. I
don't _think_ this would happen in any code paths, but I haven't looked too
closely. It makes the API a bit less fragile anyway.
Andrew Morton [Sun, 21 Sep 2003 08:41:56 +0000 (01:41 -0700)]
[PATCH] x445: setup_ioapic_ids_from_mpc fix
From: James Cleverdon <jamesclv@us.ibm.com>
32-way IBM x445s will have I/O xAPICs with IDs greater than 0xF (0x8 to 0xE
isn't enough). This breaks the code in setup_ioapic_ids_from_mpc.
However, the entire unique ID check is unnecessary. Only I/O APICs using
the serial APIC bus need the unique numbers. Those sending messages
through the system bus simply don't use them.
Andrew Morton [Sun, 21 Sep 2003 08:41:47 +0000 (01:41 -0700)]
[PATCH] Incorrect value for SIGRTMAX
From: Corey Minyard <minyard@acm.org>
I was having a problem with signals with POSIX timers, and it turns out
that the value of SIGRTMAX is incorrect. Remember that there is no
signal 0, so the signals should go from 1-_NSIG. However, SIGRTMAX is
defined as (_NSIG-1) in all architectures. The following patch fixes this.
This define is only used in drivers/usb/core/devio.c and
kernel/posix-timers.c, and both are incorrect without this fix. There's
also no check for zero in posix-timers.c, that fix is part of the diff.
Also, shouldn't do_sigaction() use this value instead of _NSIG? It's
not a big deal, but some architectures have different values for _NSIG
and SIGRTMAX.
Andrew Morton [Sun, 21 Sep 2003 08:41:38 +0000 (01:41 -0700)]
[PATCH] NCR5380 timeout fix
From: Wagner_Volanin <fadinha.mail@terra.com.br>
I have an old Genius Colorpage-SP2 SCSI scanner. It is shipped with a
MS-PNR 8bit ISA non-pnp proprietary SCSI card from Microtek.
Although its chipset is a NCR53c400a, it wouldn't work with the appropriate
driver, always accusing timeout, whatever settings I passed to it.
Today I messed a little with the NCR5380.c file in drivers/scsi which is
included by the g_NCR5380 driver and I couldn't understand one thing:
Why the function NCR5380_poll_politely() returned the value 'r' on success
if this value should be '0' case everything went ok...
So I changed "return r;" to "return 0;" and after that my scanner worked
fine, and was easily detected by SANE, without a single error message. :)
I have not the time to delve into the problem further, but I wanted to
report this. I couldn't find any counter-effects caused by changing these
return values.
Andrew Morton [Sun, 21 Sep 2003 08:41:29 +0000 (01:41 -0700)]
[PATCH] hangcheck compile fix
From: john stultz <johnstul@us.ibm.com>
Since monotonic_clock() is not defined on every arch yet, this patch
insures the hangcheck-timer module (currently the only user of
monotonic-clock) is not built where it will not compile.
I know, I know. Ideally monotonic_clock() would be implemented on all
arches, but I've just not had the time. If any of the non x86/x86-64
folks feel bored, drop me a line. It'd be a fairly easy project.
Andrew Morton [Sun, 21 Sep 2003 08:41:21 +0000 (01:41 -0700)]
[PATCH] Export new char dev functions
From: Jonathan Corbet <corbet@lwn.net>
Nobody told me that the failure to export these (like their block
counterparts) was anything but an oversight; modules will not be able to
use larger device numbers without them. So...this patch exports the new
char device functions.
Andrew Morton [Sun, 21 Sep 2003 08:40:58 +0000 (01:40 -0700)]
[PATCH] access_ok is likely
From Manfred
While trying to figure out why sysv msg is around 30% slower than pipes for
data transfers I noticed that gcc's autodetection (3.2.2) guesses the
"if(access_ok())" tests in uaccess.h wrong and puts the error memset into the
direct path and the copy out of line.
So tell the compiler that access_ok() is likely to be true.
Andrew Morton [Sun, 21 Sep 2003 08:40:26 +0000 (01:40 -0700)]
[PATCH] Summit sub-arch: Make logical IDs independent of BIOS numbering scheme
From: James Cleverdon <jamesclv@us.ibm.com>
In forthcoming IBM x445 systems, the physical APIC ID will not follow the
simple rule laid out by Intel and encoded into xapic_phys_to_log_apicid.
(The BIOS code that sets IDs doesn't work right above 16 CPUs if HT is turned
on, so for > 16-way the BIOS will disable HT and repack the physical CPUs
into APIC clusters.)
Anyway, it's a good idea to make the APIC code more independent of any
particular BIOS numbering scheme. This patch allocates logical IDs based on
how many CPUs have already been onlined in a particular APIC cluster.