Joe Thornber [Mon, 16 Dec 2002 01:17:21 +0000 (17:17 -0800)]
[PATCH] dm: bio split fix
The block layer does not honour bio->bi_size when issuing io, instead
it performs io to the complete bvecs. This means we have to change
the bio splitting code slightly.
Given a bio we repeatedly apply one of the following three operations
until there is no more io left in the bio:
1) The remaining io does not cross an io/target boundary, so just
create a clone and issue all of the io.
2) There are some bvecs at the start of the bio that are not split by
a target boundary. Create a clone for these bvecs only.
3) The first bvec needs splitting, use bio_alloc() to create *two*
bios, one for the first half of the bvec, the other for the second
half. A bvec can never contain more than one boundary.
Joe Thornber [Mon, 16 Dec 2002 01:15:43 +0000 (17:15 -0800)]
[PATCH] dm: move ioctl numbers to a sane place
Four constants:
DM_DIR,
DM_MAX_TYPE_NAME,
DM_NAME_LEN,
DM_UUID_LEN
Were being declared in device-mapper.h, these are all specific to
the ioctl interface, so they've been moved to dm-ioctl.h. Nobody
in userland should ever include <linux/device-mapper.h> so remove
ifdef __KERNEL guards.
Greg Ungerer [Sun, 15 Dec 2002 09:00:07 +0000 (01:00 -0800)]
[PATCH] m68knommu definition of TASK_UNMAPPED_BASE
This patch adds a definition for TASK_UNMAPPED_BASE in m68knommu
process.h. Recent changes need a definition for this, although its
value is unsed for nommu targets.
Greg Ungerer [Sun, 15 Dec 2002 08:59:55 +0000 (00:59 -0800)]
[PATCH] m68knommu current include thread_info.h
This changes m68knommu current.h to include the linux/thread_info.h
instead of asm/thread_info.h. This is needed to get the restart_block
definition from linux/thread_info.h first.
Greg Ungerer [Sun, 15 Dec 2002 08:59:50 +0000 (00:59 -0800)]
[PATCH] m68knommu fix ELF_CORE_COPY_REGS macro
This fixes the broken ELF_CORE_COPY_REGS macro for m68knommu arch. It
is missing a ";" after the pr_reg[16] setting, and attempts to set the
non-existant a2 field.
Stelian Pop [Sun, 15 Dec 2002 08:59:25 +0000 (00:59 -0800)]
[PATCH] sonypi driver update
This little patch changes the way button release events are reported
by the sonypi driver to the application: previously, separate
release events were detected for each button. However, many buttons
(example: the jogdial, the capture button, the back button etc) share
the same release event.
The attached patch propagates a single 'ANYBUTTON_RELEASED' event
to the userspace, leaving all state machine intelligence to the
application.
Kunihiko IMAI should be credited for his ideas and tests.
Ben Collins [Sun, 15 Dec 2002 08:27:06 +0000 (00:27 -0800)]
[PATCH] IEEE-1394/Firewire update
This covers a lot of ground in the Linux1394 SVN tree. I haven't had
time to keep in sync with you in a more granular way, so here's a
bohemoth patch. However, consider it well tested.
Trond Myklebust [Sun, 15 Dec 2002 08:11:24 +0000 (00:11 -0800)]
[PATCH] Add helper routines for fixing up page alignment on xdr_buf
In order to speed up NFS reads, we attempt to copy directly from
skbuffs into the pagecache pages. As we cannot do XDR decoding in the
soft interrupts, we attempt to estimate the size of the RPC header (+
attributes,...) that will precede the actual data that goes in the
pagecache. If we get the estimate wrong, the XDR decode routines
perform a realignment of the data into the pagecache.
In the existing code, we do a multi-page kmap() from the xdr_buf into
an iovec array, in order to do the shift.
The following patch adds tools for doing the realigment without going
through the iovec array (and without having to do the deadlock-prone
multi-page kmap()).
It also adds the 2 helper routines xdr_read_pages()/xdr_write_pages()
which will be needed for NFSv4 reads/writes in order to add pre/post
operation GETATTR calls.
Trond Myklebust [Sun, 15 Dec 2002 08:11:18 +0000 (00:11 -0800)]
[PATCH] NFSv4 cleanups
- Move the encoding/decoding of the actual COMPOUND XDR header out of
encode_compound()/decode_compound().
- Make each NFSv4 operation 'decode_' routine also take care of
decoding its own header, and checking it for correctness.
Also allows us to get rid of the 'nfserr' parameter...
Trond Myklebust [Sun, 15 Dec 2002 08:11:12 +0000 (00:11 -0800)]
[PATCH] Fix buffer reservations in nfs4xdr.c
This fixes a couple of incorrect XDR buffer reservations. The values
passed to RESERVE_SPACE() must reflect precisely the number of bytes
that we wish to send down the wire.
Ingo Molnar [Sun, 15 Dec 2002 07:48:05 +0000 (23:48 -0800)]
[PATCH] ptrace-sigfix-2.5.51-A1
This fixes a threading/ptrace bug noticed by the gdb people: when a
thread is ptraced but other threads in the thread group are not then a
SIGTRAP (via int3 or any of the other debug traps) causes the child
thread(s) to die unexpectedly. This is because the default behavior for
a no-handler SIGTRAP is to broadcast it.
The solution is to make all such signals specific, then the ptracer (gdb)
can filter the signal and upon continuation it's being handled properly
(or put on the shared signal queue). SIGKILL and SIGSTOP are an exception.
The patch only affects threaded and ptrace-d processes.
Rusty Russell [Sun, 15 Dec 2002 04:13:23 +0000 (20:13 -0800)]
[PATCH] MODULE_PARM support for older modules
This is the backwards compatibility code for MODULE_PARM, and moves
__MODULE_STRING() down to the graveyard at the bottom of module.h.
It's complicated by the fact that many modules place MODULE_PARM()
before the declaration (some do MODULE_PARM() for non-existant
variables, too). To avoid breaking them, we have to do the name
lookups at load time, rather than just storing a pointer 8(
CONFIG_OBSOLETE_MODPARM is set to y without prompting: it's a useful
marker for deprecating in 2.7.
Rusty Russell [Sun, 15 Dec 2002 04:13:11 +0000 (20:13 -0800)]
[PATCH] Module Parameter Core Patch
This patch is a rewrite of the insmod and boot parameter handling,
to unify them.
The new format is fairly simple: built on top of __module_param_call there
are several helpers, eg "module_param(foo, int, 000)". The final argument
is the permissions bits, for exposing parameters in sysfs (if
non-zero) at a later stage.
Warning fixes: remove an unused variable and make bitops complain if the
pointer isn't of type long. Make 31 bit BUG() emit 4 0-bytes instead of 2.
This improves the readability of the listing.
Makefile changes by Sam Ravnborg. Summary of changes:
o Added FORCE prerequisite in boot/Makefile
o Do not use shorthand targets when calling the boot/Makefile
o No longer use BOOT_IMAGE, not needed now
o Use kbuild clean infrastructure when cleaning up in boot
o Offset generation shrinked with one rule
o removed inclusion of Rules.make in all Makefiles
o no longer use the descend macro, use $(Q)$(MAKE) as replacement
This patch moves some basic per-CPU static information (minimum frequency,
maximum frequency and maximum transition latency) into a struct
cpufreq_cpuinfo. This offers a much cleaner struct cpufreq_driver and
struct cpufreq_policy.
sr_ioctl.c uses virt_to_phys, which is defined in asm/io.h.
On x86, this accidentally works, due to other indirect includes,
but on Alpha results in a link error.
Ingo Molnar [Sun, 15 Dec 2002 03:44:20 +0000 (19:44 -0800)]
[PATCH] threaded coredumps, tcore-fixes-2.5.51-A0
This fixes one more threaded-coredumps detail reported by the glibc
people: all threads taken down by the coredump code should report the
proper exit code. We can do this rather easily via the group_exit
mechanism. 'Other' threads used to report SIGKILL, which was highly
confusing as the shell often displayed the 'Killed' message instead of a
'Segmentation fault' message.
Another missing bit was the 0x80 bit set in the exit status for all
threads, if the coredump was successful. (it's safe to set this bit in
->sig->group_exit_code in an unlocked way because all threads are
artificially descheduled by the coredump code.)
Brian Gerst [Sun, 15 Dec 2002 03:41:56 +0000 (19:41 -0800)]
[PATCH] Remove Rules.make from Makefiles (3/3)
Makefiles no longer need to include Rules.make, which is currently an
empty file. This patch removes it from the remaining Makefiles, and
removes the empty Rules.make file.