Trond Myklebust [Sat, 8 Jun 2002 10:50:55 +0000 (03:50 -0700)]
[PATCH] Reduce number of LOOKUP calls in nfs_lookup_revalidate()
fs/nfs/inode.c:
- Ensure that we initialize NFS_MTIME_UPDATE(inode).
- If a directory's mtime changed due to some action on our part
(file creation/deletion/...) don't force a dcache revalidation by
changing NFS_MTIME_UPDATE(inode).
Third patch of the s/390 update. Everything from drivers/s390. This patch
contains the main bunch of changes. Major changes are: 1) the restructured
dasd driver, 2) the new tape driver, 3) the start of the common io layer
rework, 4) the gpl'ed lcs driver and 5) the gpl'ed qdio layer
Petr Vandrovec [Sat, 8 Jun 2002 09:28:33 +0000 (02:28 -0700)]
[PATCH] matroxfb dies when you try to use secondary head in 2.5.x
James introduced bad bug which causes NULL pointer dereference as soon
as you'll try to use secondary head because of screen_base is not
initialized (it is initialized on wrong head).
Robert Love [Sat, 8 Jun 2002 09:26:14 +0000 (02:26 -0700)]
[PATCH] set_cpus_allowed fix
Mike Kravetz pointed out that the set_cpus_allowed optimization he
suggested has a small but possible race condition wherein the system
could still be operating in the context of the task but it is not
running. On top of this, the runqueue lock can be dropped in
load_balance and thus we can race and set task->cpu at a very unpleasant
time.
Robert Love [Sat, 8 Jun 2002 09:26:01 +0000 (02:26 -0700)]
[PATCH] capability.c thinko
Apparently my understanding of C brace rules was blurred and there is a
thinko in kernel/capability.c - what we want is what the indention
reflects but what we get is an unconditional return of -EINVAL.
Matthew Wilcox [Sat, 8 Jun 2002 09:18:04 +0000 (02:18 -0700)]
[PATCH] fs/locks.c: more cleanup
Define the for_each_lock macro and start replacing ugly special for loops
with it. Rejig the interface between sys_flock and flock_lock_file to
always pass a struct file_lock rather than a command. Eliminate some
gotos by simplifying the logic. Remove some redundant initialisation.
Tom Rini [Sat, 8 Jun 2002 09:13:15 +0000 (02:13 -0700)]
[PATCH] Remove <linux/mm.h> from <linux/vmalloc.h>
This removes <linux/mm.h> from <linux/vmalloc.h>.
This then goes and fixes all of the files (x86 and PPC) which relied on
implicit includes which don't happen anymore. This also takes
<linux/kdev_t.h> out of fs/mpage.c and puts it into include/linux/bio.h
where it belongs since <linux/bio.h> references 'kdev_t' directly.
A quick summary of the of the added includes:
arch/i386/kernel/microcode.c: needs extern for num_physpages, in linux/mm.h
include/linux/spinlock.h: local_irq* is defined in <asm/system.h> but
this was never directly included.
Matthew Wilcox [Sat, 8 Jun 2002 09:09:24 +0000 (02:09 -0700)]
[PATCH] fs/locks.c: Only yield once for flocks
This patch removes the annoying and confusing `wait' argument from
many places. The only change in behaviour is that we now yield once
when unblocking other BSD-style flocks instead of once for each lock.
This slightly improves the semantics for userspace. Before, when we
had two tasks waiting on a lock, the first one would receive the lock.
Now, the one with the highest priority receives the lock.
Martin Devera [Sat, 8 Jun 2002 08:10:59 +0000 (01:10 -0700)]
[PATCH] USB pwc webcam patch
thanks to suggestions from David Brownell I modified
pwc driver to compile and work under 2.5.18.
Also it fixes mas ISO transfer sizes which could
potentionaly affect older kernels too.
With these changes it works - I'll test stability and
post results later.
Dave Kleikamp [Fri, 7 Jun 2002 08:54:51 +0000 (03:54 -0500)]
JFS: Fix structure alignment problem on 64-bit machines
The code in xtLog assumes that the structures xdlistlock_t and
maplock_t are the same size, as they are overlaid. On 64-bit
machines, this was not the case.
Ensure that the xdlistlock_t is 16 bytes in length regardless of
the size of a pointer.
IBM PCI Hotplug driver: polling thread locking cleanup
removed a lot of bizzare polling locking logic, causing the driver to not sleep
for 2 seconds with some locks held. This improves userspace interaction by
a few orders of magnitude :)
David Brownell [Fri, 7 Jun 2002 03:40:00 +0000 (20:40 -0700)]
[PATCH] relocate error checks
As was discussed a few weeks back, this moves most of the
sanity checks and input conditioning for the HCD framework's
usb_submit_urb() support directly into usb_submit_urb(), so
that all HCDs (not just those using the sharable HCD framework
support) can rely on them.
This patch allows ov511 to build again by removing references to
urb->next. It now resubmits in the completion handler and properly sets
urb->interval.
ISDN: Export all hisax symbols from drivers/isdn/hisax/config.o
As a courtesy to s390, remove drivers/isdn/hisax/fsm.o from
$(export-objs), so that it doesn't clash with the S390 fsm.o, which
is exporting symbols as well ;)
fixdep, when adding dependencies to config entires fails to take into account
the last part of a config entry, if it contains more than one underscore.
Example:
CONFIG_PROC_FS generates
$(wildcard include/config/proc.h)
but should generate
$(wildcard include/config/proc/fs.h)
kbuild: Add rules for compiling programs on the host
At a couple of places, we need to build programs which run on the
compile host during building the kernel.
Add a new variable "host-progs" to declare such programs. Rules.make will
automatically provide rules to compile these programs with appropriate
command lines etc.
Compared to having explicit rules spread around for doing so, this has
the following advantages:
o shorter
o automatically figures out dependencies and handles changing command
lines
o Nicer output in quiet mode ;-)
Compiling host programs from multiple sources is also possible, analogous
to multi-part objects. E.g. scripts/Makefile has
kbuild: Enforce UTS limit, use LANG=C for date/time
Patch by Keith Owens, ported to 2.5.
If the length of $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
exceeds 64 characters it silently corrupts the utsname data, resulting
in garbage for uname -r and problems running the kernel and modules.
Abort if KERNELRELEASE is too long. Truncation is not good enough, it
results in ambiguous /lib/modules/`uname -r` contents.
Ensure that the date/time in uname are always in LANG=C. Users with
other languages report that 8 bit values cause the boot messages to go
haywire.
- add comment about the vmlinux link components
- get rid of DRIVERS-y - always linking in sound/sound.o doesn't harm
- sort SUBDIRS in link order
- always use := to assign
- remove supeflous $(TOPDIR) for lib/lib.a
David S. Miller [Wed, 5 Jun 2002 20:22:35 +0000 (13:22 -0700)]
Fix generic device layer init sequence.
Generic BUS objects have to be registered before
devices assosciated with them are probed. Therefore
subsys_initcall is inappropriate for such setups.
It does not work to use core_initcall for this because
the generic device layer bits need to be setup first too.
So we rename unused_initcall to postcore_initcall and use
this new initcall level for generic BUS object init.
This fixes bootup on Alpha, and Sparc64. X86 was working
by what looks to be luck in link order.
Kernel code should not include userspace headers. To avoid that
happening by mistake, ask gcc not to look into the usual places
when looking for headers. We still need to find gcc headers for
vararg and similar, though - achieved by the "-iwithprefix include"
which will look into <gcc-path>/include, as proposed by Russell
King.
A similar patch went into 2.4, so not much breakage expected.
For consistency, it makes a lot of sense to add -DMODULE (plus
the other special switches with CONFIG_MODVERSIONS) to .S files
which get assembled. It surely fixes an ugly workaround for
sparc64, guess we'll see if it breaks something for other archs
(I wouldn't think so, though)
For some cases, we cannot decide if a target would change just by looking
at its prequisites, i.e. it's quite likely that it remains the same
even though a prequisite changed. The updated timestamp would cause
a lot of unnecessary recompiles. In this case, we actually generate
a temporary file, compare it to the old file and only the contents
are different do overwrite the old file.
The "update-if-changed" snippet remains always the same, so let's
put it into a macro instead of duplicating it. After that change,
scripts/mkversion_h is so small that we rather put the three remaining
lines directly into the Makefile.