]> git.hungrycats.org Git - linux/log
linux
22 years agoIEEE1394: Revision sync
Ben Collins [Fri, 20 Feb 2004 13:44:21 +0000 (08:44 -0500)]
IEEE1394: Revision sync

22 years agoIEEE1394/SBP2(r1144): Convert sbp2 to do one scsi_host per unit-directory.
Ben Collins [Fri, 20 Feb 2004 13:37:15 +0000 (08:37 -0500)]
IEEE1394/SBP2(r1144): Convert sbp2 to do one scsi_host per unit-directory.

22 years agoIEEE1394(r1143): Fix FCP requests, broken by my change for list_for_each_entry().
Ben Collins [Thu, 19 Feb 2004 14:06:00 +0000 (09:06 -0500)]
IEEE1394(r1143): Fix FCP requests, broken by my change for list_for_each_entry().

22 years agoMerge
Ben Collins [Thu, 19 Feb 2004 11:07:21 +0000 (06:07 -0500)]
Merge

22 years agoIEEE1394(r1142): Use a kernel thread to rescan devices so we don't block the writer.
Ben Collins [Thu, 19 Feb 2004 09:08:49 +0000 (04:08 -0500)]
IEEE1394(r1142): Use a kernel thread to rescan devices so we don't block the writer.

22 years agoIEEE1394(r1141): Add an "ignore_drivers" global default.
Ben Collins [Thu, 19 Feb 2004 08:33:50 +0000 (03:33 -0500)]
IEEE1394(r1141): Add an "ignore_drivers" global default.

22 years agoIEEE1394(r1140): Add a bus rescan bus_attr file, and an ignore_driver attr for ud's
Ben Collins [Thu, 19 Feb 2004 05:48:54 +0000 (00:48 -0500)]
IEEE1394(r1140): Add a bus rescan bus_attr file, and an ignore_driver attr for ud's

22 years agoIEEE1394/SBP2(r1139): Some cleanups, and a better, more unique id for ieee1394_id...
Ben Collins [Thu, 19 Feb 2004 05:45:39 +0000 (00:45 -0500)]
IEEE1394/SBP2(r1139): Some cleanups, and a better, more unique id for ieee1394_id attribute.

22 years ago[PATCH] show_task() is not SMP safe
Andrew Morton [Thu, 19 Feb 2004 00:40:04 +0000 (16:40 -0800)]
[PATCH] show_task() is not SMP safe

From: Arnd Bergmann <arnd@arndb.de>

Christian Bornträger noticed that the kernel can crash after <SysRq>-T.  It
appears that the show_task function gets called for all tasks, which does
not work if one of the tasks is running in a system call on another CPU.
In that case the result of thread_saved_pc and show_stack is undefined and
likely to cause a crash.

For tasks running in user space on other CPUs, show_task() is probably
harmless, but I'm not sure if that's true on all architectures.

The patch below is still racy for tasks that are about to sleep, but it
demonstrates the problem.

22 years ago[PATCH] show_task() fix and cleanup
Andrew Morton [Thu, 19 Feb 2004 00:39:53 +0000 (16:39 -0800)]
[PATCH] show_task() fix and cleanup

show_task() is preinting negative numbers for free stack due to arithmetic
against the wrong pointer.

Fix that up, and clean up a few related things.

show_task still has bogus code which atempts to work out how much stack the
task has ever used - it cannot work because we don't actually zero out the
stack pages when allocating them.  We should fix that, or take it out.

22 years ago[PATCH] print some x86 build options during oopses
Andrew Morton [Thu, 19 Feb 2004 00:39:43 +0000 (16:39 -0800)]
[PATCH] print some x86 build options during oopses

I find this handy sometimes: it makes the oops output include info as to
whether the user has selected CONFIG_PREEMPT, CONFIG_SMP or, particularly,
CONFIG_DEBUG_PAGEALLOC.  It can save one email round-trip.

22 years ago[PATCH] config option for irqbalance
Andrew Morton [Thu, 19 Feb 2004 00:39:33 +0000 (16:39 -0800)]
[PATCH] config option for irqbalance

From: "Martin J. Bligh" <mbligh@aracnet.com>

Make irqbalance into a config option - some people (jgarzik, arjan, etc)
wanted to be able to disable it and do things from userspace instead.  This
patch allows each camp to do their own thing, which seems fair ;-)

22 years ago[PATCH] ia32: disallow NUMA on PC subarch
Andrew Morton [Thu, 19 Feb 2004 00:39:22 +0000 (16:39 -0800)]
[PATCH] ia32: disallow NUMA on PC subarch

From: "Martin J. Bligh" <mbligh@aracnet.com>

Disallow NUMA on the i386 PC subarch (it doesn't work, nor was it intended
to).

22 years ago[PATCH] ia32: pfn_to_nid fix
Andrew Morton [Thu, 19 Feb 2004 00:39:12 +0000 (16:39 -0800)]
[PATCH] ia32: pfn_to_nid fix

From: "Martin J. Bligh" <mbligh@aracnet.com>

Makes sure pfn_to_nid is defined for all combinations of subarches, and that
it's defined before it's used so we don't run into implicit declaration
problems.

22 years ago[PATCH] fix pfn_valid on ia32 discontigmem
Andrew Morton [Thu, 19 Feb 2004 00:39:02 +0000 (16:39 -0800)]
[PATCH] fix pfn_valid on ia32 discontigmem

From: "Martin J. Bligh" <mbligh@aracnet.com>

Fix pfn_valid for architctures with discontiguous memory.  This only
changes the NUMA definition, and it leaves the NUMA-Q definition as was,
because it's faster that way, it's in hotpaths, and our memory is always
contiguous.

22 years ago[PATCH] fix access() POSIX compliance
Andrew Morton [Thu, 19 Feb 2004 00:38:51 +0000 (16:38 -0800)]
[PATCH] fix access() POSIX compliance

From: Andreas Gruenbacher <agruen@suse.de>

The fix for permission() that makes it compliant with POSIX.1-2001
apparently was lost.  Here is the patch I sent before.  (The relevant lines
from the standard text are cited in
http://www.ussg.iu.edu/hypermail/linux/kernel/0310.2/0286.html.  The fix
proposed in that posting did not handle directories without execute
permissions correctly.)

Make permission check conform to POSIX.1-2001

The access(2) function does not conform to POSIX.1-2001: For root
and a file with no permissions, access(file, MAY_READ|MAY_EXEC)
returns 0 (it should return -1).

22 years ago[PATCH] gcc-3.5: bonding
Andrew Morton [Thu, 19 Feb 2004 00:38:40 +0000 (16:38 -0800)]
[PATCH] gcc-3.5: bonding

drivers/net/bonding/bond_alb.c: In function `bond_alb_xmit':
drivers/net/bonding/bond_alb.c:1188: error: invalid lvalue in assignment

22 years ago[PATCH] use noinline for rest_init()
Andrew Morton [Thu, 19 Feb 2004 00:38:29 +0000 (16:38 -0800)]
[PATCH] use noinline for rest_init()

gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to
crash when the .text.init section gets unloaded.  Use noinline to prevent
that.

22 years ago[PATCH] Add noinline attribute
Andrew Morton [Thu, 19 Feb 2004 00:38:18 +0000 (16:38 -0800)]
[PATCH] Add noinline attribute

From: Andi Kleen <ak@muc.de>

This patch adds the `noinline' function attribute.  It can be used to
explicitly tell the compiler to not inline functions.

We need this due to what is, IMO, a bug present in gcc-3.4 and current
gcc-3.5 CVS: the compiler is inlining init/main.c:rest_init() inside
init/main.c:start_kernel(), despite the fact that thay are declared to be
placed in different text sections.

22 years ago[PATCH] Use -funit-at-a-time on ia32
Andrew Morton [Thu, 19 Feb 2004 00:38:07 +0000 (16:38 -0800)]
[PATCH] Use -funit-at-a-time on ia32

From: Andi Kleen <ak@muc.de>

The upcomming gcc 3.4 has a new compilation mode called unit-at-a-time.
What it does is to first load the whole file into memory and then generate
the output. This allows it to use a better inlining strategy, drop unused
static functions and use -mregparm automatically for static functions.

It does not seem to compile significantly slower.

This is also available in some of the 3.3 based "hammer branch"
compilers used in distributions (at least in SuSE and Mandrake)

Some tests show impressive .text shrinkage from unit-at-a-time.

e.g. here is the same kernel compiled with -fno-unit-at-a-time and
-funit-at-a-time with a gcc 3.4 snapshot. The gains are really
impressive:

   text    data     bss     dec     hex filename
4129346  708629  207240 5045215  4cfbdf vmlinux-nounitatatime
3999250  674853  207208 4881311  4a7b9f vmlinux-unitatatime

.text shrinks by over 130KB!. And .data shrinks too.

At first look the numbers look nearly too good to be true, but they have been
verified with several configurations and seem to be real. It looks like
we have a lot of stupid inlines or dead functions. I'm really not
sure why it is that much better. But it's hard to argue with hard
numbers.

[A bloat-o-meter comparision between the two vmlinuxes can be found in
http://www.firstfloor.org/~andi/unit-vs-no-unit.gz . It doesn't show
any obvious candidates unfortunately, just lots of small changes]

With the gcc 3.3-hammer from SuSE 9.0 the gains are a bit smaller, but
still noticeable (>100KB on .text)

This patch enables -funit-at-a-time on ia32 if the compiler is gcc-3.4 or
later.  We had several reports of gcc-3.3 producing very early lockups.

22 years ago[PATCH] Add CONFIG for -mregparm=3
Andrew Morton [Thu, 19 Feb 2004 00:37:55 +0000 (16:37 -0800)]
[PATCH] Add CONFIG for -mregparm=3

From: Andi Kleen <ak@muc.de>, me.

Using -mregparm=3 shrinks the kernel further:

(compiled with gcc 3.4, without -funit-at-a-time, using the later and
together with -Os shrinks .text even more, making over 700KB difference)

4129346  708629  207240 5045215  4cfbdf vmlinux
3892905  708629  207240 4808774  496046 vmlinux-regparm

This one helps even more, >236KB .text difference. Clearly worth
the effort.

This patch adds an option to use -mregparm=3 while compiling the kernel.  I
did an LTP run and it showed no additional failures over an non regparm
kernel.

According to some gcc developers it should be safe to use in all gccs that
are still supports (2.95 and up)

I didn't make it the default because it will break all binary only modules
(although they can be fixed by adding a wrapper that calls them with
"asmlinkage").  Actually it may be a good idea to make this default with
2.7.1 or somesuch.

We add new kbuild infrastructure: the command

scripts/gcc-version.sh $(CC)

will print out the version of gcc in a canonical 4-digit form suitable for
performing numerical tests against.
DESC
arch/i386/Makefile,scripts/gcc-version.sh,Makefile small fixes
EDESC
From: Serge Belyshev <33554432@mtu-net.ru>

arch/i386/Makefile:
*  omitted $(KBUILD_SRC)/ in script call.

scripts/gcc-version.sh:
*  GNU tail no longer supports 'tail -1' syntax.

We should consider adding -fweb option:

   vanilla:
   $ size vmlinux
      text    data     bss     dec     hex filename
   3056270  526780  386056 3969106  3c9052 vmlinux

   with -fweb:
   $ size vmlinux
      text    data     bss     dec     hex filename
   3049523  526780  386056 3962359  3c75f7 vmlinux

   Also note 0.1 ... 1.0% speedup in various benchmarks.
   This option is not enabled by default at -O2 because it
   (like -fomit-frame-pointer) makes debugging impossible.

22 years ago[PATCH] page_add_rmap(): remove meaningless test
Andrew Morton [Thu, 19 Feb 2004 00:37:44 +0000 (16:37 -0800)]
[PATCH] page_add_rmap(): remove meaningless test

Remove page validity test.  I had a warning in there for a few weeks, no
reports of it happening.

22 years ago[PATCH] slab: hexdump for check_poison
Andrew Morton [Thu, 19 Feb 2004 00:37:32 +0000 (16:37 -0800)]
[PATCH] slab: hexdump for check_poison

From: Manfred Spraul <manfred@colorfullife.com>

The patch is designed improve the diagnostics which are presented when the
slab memory poison detector triggers.

check_poison_obj checks for write accesses after kfree by comparing the
object contents with the poison value.  The current implementation contains
several flaws:

- it accepts both POISON_BEFORE and POISON_AFTER.  check_poison_obj is
  only called with POISON_AFTER poison bytes.  Fix: only accept
  POISON_AFTER.

- the output is unreadable.  Fix: use hexdump.

- if a large objects is corrupted, then the relevant lines can scroll of
  the screen/dmesg buffer.  Fix: line limit.

- it can access addresses behind the end of the object, which can oops
  with CONFIG_DEBUG_PAGEALLOC.  Fix: bounds checks.

Additionally, the patch contains the following changes:

- rename POISON_BEFORE and POISON_AFTER to POISON_FREE and POISON_INUSE.
  The old names are ambiguous.

- use the new hexdump object function in ptrinfo.

- store_stackinfo was called with wrong parameters: it should store
  caller, i.e.  __builtin_return_address(0), not POISON_AFTER in the
  object.

- dump both the object before and after the corrupted one, not just the
  one after.

Example output:
<<<
Slab corruption: start=194e708c, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<02399d7c>](dummy_init_module+0x1c/0xb0)
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 7b
030: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 63
Prev obj: start=194e6880, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<00000000>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
<<<

22 years ago[PATCH] prevent ptrace from altering page permissions
Andrew Morton [Thu, 19 Feb 2004 00:37:22 +0000 (16:37 -0800)]
[PATCH] prevent ptrace from altering page permissions

From: Roland McGrath <roland@redhat.com>

Under some circumstances, ptrace PEEK/POKE_TEXT can cause page permissions
to be permanently changed.  Thsi causes changes in application behaviour
when run under gdb.

Fix that by only marking the pte as writeable if the vma is marked for
writing.  A write fault thus unshares the page but doesn't necessarily make
it writeable.

22 years ago[PATCH] slab: print slab name in kmem_cache_init()
Andrew Morton [Thu, 19 Feb 2004 00:37:12 +0000 (16:37 -0800)]
[PATCH] slab: print slab name in kmem_cache_init()

Print the name of the offending slab if we're going to go BUG in
kmem_cache_init().

22 years ago[PATCH] ramdisk cleanup
Andrew Morton [Thu, 19 Feb 2004 00:37:00 +0000 (16:37 -0800)]
[PATCH] ramdisk cleanup

Fairly pointless coding-style cleanups which I've been sitting on for ages.
The ramdisk driver is still buggy: it drops pagecache when unmounted.  I
still need to fix this.

Apparently it also displays data corruption under load even when not
unmounted.

22 years agoIEEE1394(r1138): Cleanup nodemgr probe, and fix a bug with the driver update.
Ben Collins [Wed, 18 Feb 2004 14:38:06 +0000 (09:38 -0500)]
IEEE1394(r1138): Cleanup nodemgr probe, and fix a bug with the driver update.

22 years ago[PATCH] fixes to ColdFire/5407 startup code
Greg Ungerer [Wed, 18 Feb 2004 14:15:10 +0000 (06:15 -0800)]
[PATCH] fixes to ColdFire/5407 startup code

Correct the cache setup bits for the 5407. This enables the write
buffers properly (despite what the previous comment said). This
combined with fixed cache flushing code provides a nice performance
boost on the 5407.

Also fix the ROMfs setup to only move the ROMfs region if it is actually
configured.

22 years ago[PATCH] add m68k elf relocation types to elf.h
Greg Ungerer [Wed, 18 Feb 2004 13:45:08 +0000 (05:45 -0800)]
[PATCH] add m68k elf relocation types to elf.h

Added ELF relocation type defines.  These are needed by the module
loading code for m68knommu.

22 years ago[PATCH] allow configuration for shared flat binary support
Greg Ungerer [Wed, 18 Feb 2004 13:41:28 +0000 (05:41 -0800)]
[PATCH] allow configuration for shared flat binary support

This adds the configuration option to enable the uClinux shared flat
binary support.  The code support is already in the binfmt_load code,
just the config option is missing.

22 years ago[PATCH] fix memory leaks in binfmt_flat loader
Greg Ungerer [Wed, 18 Feb 2004 13:41:19 +0000 (05:41 -0800)]
[PATCH] fix memory leaks in binfmt_flat loader

Fix a number of memory leaks in the uClinux binfmt_flat loader.  All are
related to not cleaning up properly on failure conditions.

22 years agoIEEE1394(r1137): Check to make sure we have a hostinfo in sbp2_host_reset.
Ben Collins [Wed, 18 Feb 2004 13:24:55 +0000 (08:24 -0500)]
IEEE1394(r1137): Check to make sure we have a hostinfo in sbp2_host_reset.

22 years ago[PATCH] aio sysctl parms
Andrew Morton [Wed, 18 Feb 2004 13:00:18 +0000 (05:00 -0800)]
[PATCH] aio sysctl parms

From: Janet Morgan <janetmor@us.ibm.com>

It looks like aio_nr and aio_max_nr were intended to be sysctl parameters.

22 years ago[PATCH] mark ftape un-removable
Andrew Morton [Wed, 18 Feb 2004 13:00:09 +0000 (05:00 -0800)]
[PATCH] mark ftape un-removable

From: Christoph Hellwig <hch@lst.de>

I've just grepped over the tree for reamining MOD_INC_USE_COUNT users, and
ftape is a really horrible one, it relies on MOD_{INC,DEV}_USE_COUNT in the
most horrible places + it's own bookkepping and the <= 2.4 may unload
hooks.  And although I don't have the hardware I can guarantee it doesn't
work as expected.

So let's just remove the module_exit handler and mark it unremovable, if
someone wants to fix up ftape later it's fine with me, but it's a really
scary driver..

22 years ago[PATCH] Add C99 initializers to arch/i386/pci/fixup.c
Andrew Morton [Wed, 18 Feb 2004 13:00:00 +0000 (05:00 -0800)]
[PATCH] Add C99 initializers to arch/i386/pci/fixup.c

From: "Art Haas" <ahaas@airmail.net>

Here's a small patch that adds C99 initializers to the file.

22 years ago[PATCH] crc32.c copyright fix
Andrew Morton [Wed, 18 Feb 2004 12:59:51 +0000 (04:59 -0800)]
[PATCH] crc32.c copyright fix

From: Matt Domsch <Matt_Domsch@dell.com>

Patch below applies to both 2.4.25 and 2.6.3, and replaces the public
domain statement and non-warranty with the GPL, as is permitted by the code
being in the public domain, and is done with legal advice.

22 years ago[PATCH] tuner driver fixes
Andrew Morton [Wed, 18 Feb 2004 12:59:42 +0000 (04:59 -0800)]
[PATCH] tuner driver fixes

From: Gerd Knorr <kraxel@bytesex.org>

"options tuner type=2" is just there for historical reasons and should
only be used/needed if the main driver doesn't allow to configure the
tuner type.  I'm not sure whenever I can remove that altogether without
breaking anything.  There are several users of the tuner module, some
outside the standard kernel tree ...

> >         if (type < TUNERS) {
> > +               t->type = type;
> >                 printk("tuner: type forced to %d (%s) [insmod]\n",
> >                        t->type,tuners[t->type].name);
> >                 set_type(client,type);

That is wrong, it will break in other corner cases, it may cause the
set_type() function not doing the initializations.

The prink can also be dropped because set_type does that too.  The patch
below removes that.  It also makes the kernel messages a bit more verbose
and adds support for two new tuners.

22 years ago[PATCH] wireless/Kconfig enable/select complete replacement
Andrew Morton [Wed, 18 Feb 2004 12:59:33 +0000 (04:59 -0800)]
[PATCH] wireless/Kconfig enable/select complete replacement

From: mcgrof@studorgs.rutgers.edu (Luis R. Rodriguez)

Complete the migration from Kconfig's undocumented "enable" to "select".

22 years ago[PATCH] Fix sprintf modifiers in usr/gen_init_cpio.c for cygwin
Andrew Morton [Wed, 18 Feb 2004 12:59:24 +0000 (04:59 -0800)]
[PATCH] Fix sprintf modifiers in usr/gen_init_cpio.c for cygwin

From: Pragnesh Sampat <pragnesh.sampat@timesys.com>

The file initramfs_data.cpio is slightly different when generated on
cygwin, compared to linux, which causes the kernel to panic with the
message "no cpio magic" (See Documentation/early-userspace/README).

The problem in cpio generation is due to the difference in sprintf
modifiers on cygwin.  The code uses "%08ZX" for strlen of a device node.
printf man pages discourages "Z" and has 'z' instead.  Both of these are
not available on cygwin sprintf (at least some versions of cygwin).  The
net result of all of this is that the generated file literally contains
"ZX" and then the strlen after that and messes up that 110 offset etc.  The
file is 516 bytes long on the system that I tested and on linux it is 512
bytes.

The fix below just uses "%08X" for that field.

22 years ago[PATCH] smbfs: support the loop driver
Andrew Morton [Wed, 18 Feb 2004 12:59:15 +0000 (04:59 -0800)]
[PATCH] smbfs: support the loop driver

From: Urban Widmark <urban@teststation.com>

Add the necessary bits for loop-over-smbfs.

22 years ago[PATCH] Codingstyle update
Andrew Morton [Wed, 18 Feb 2004 12:59:06 +0000 (04:59 -0800)]
[PATCH] Codingstyle update

From: Michael Frank <mhf@linuxmail.org>

22 years ago[PATCH] Remove overenthusiastic BUG in smp_boot_cpus
Andrew Morton [Wed, 18 Feb 2004 12:58:57 +0000 (04:58 -0800)]
[PATCH] Remove overenthusiastic BUG in smp_boot_cpus

From: "Martin J. Bligh" <mbligh@aracnet.com>

There's no real need to BUG and stop the system from booting if the BIOS
spec'ed apicid for the boot CPU isn't correct - we can continue perfectly
well with the real one.

22 years ago[PATCH] sf16fmr2 radio card driver
Andrew Morton [Wed, 18 Feb 2004 12:58:48 +0000 (04:58 -0800)]
[PATCH] sf16fmr2 radio card driver

From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio@vodafone.com>

Add a new driver for the SF16FMR2 Radio card.

22 years ago[PATCH] Inefficient TLB flush fix
Andrew Morton [Wed, 18 Feb 2004 12:58:38 +0000 (04:58 -0800)]
[PATCH] Inefficient TLB flush fix

From: Martin Hicks <mort@wildopensource.com>

This is a patch based on one that Jack Steiner sent to the ia64 list in
November.  The original thread can be found at:

http://marc.theaimsgroup.com/?l=linux-ia64&m=106869606922555&w=2

I created the little wrapper function that was requested.  I think the only
other arch, other than ia64, that doesn't at least include asm-generic/tlb.h
is arm.

Something appears broken in TLB flushing on IA64 (& possibly other
architectures).  Functionally, it works but performance is bad on systems
with large cpu counts.

The result is that TLB flushing in exit_mmap() is frequently being done via
IPIs to all cpus rather than with a "ptc" instruction or with a new
context..

22 years ago[PATCH] menuconfig: fix the check for ncurses-devel
Andrew Morton [Wed, 18 Feb 2004 12:58:29 +0000 (04:58 -0800)]
[PATCH] menuconfig: fix the check for ncurses-devel

From: Sam Ravnborg <sam@ravnborg.org>

Corrected check for missing ncurses-devel when executing "make menuconfig".
Now tell user to install 'ncurses-devel' if check fails.

22 years ago[PATCH] Fix make rpm when using RH9 or Fedora..
Andrew Morton [Wed, 18 Feb 2004 12:58:20 +0000 (04:58 -0800)]
[PATCH] Fix make rpm when using RH9 or Fedora..

From: Thomas Davis <tadavis@lbl.gov>

Doing a 'make rpm' will fail with the current RH9/Fedora RPM macros.

The failure message is this:

Processing files: kernel-debuginfo-2.6.3rc1mm1-12
error: Could not open %files file /usr/src/redhat/BUILD/kernel-2.6.3rc1mm1/debugfiles.list: No such file or directory

The fix is this patch:

22 years ago[PATCH] dm-crypt
Andrew Morton [Wed, 18 Feb 2004 12:58:11 +0000 (04:58 -0800)]
[PATCH] dm-crypt

From: Christophe Saout <christophe@saout.de>

Adds a crypto module for device-mapper.  The intent here is to remove
cryptoloop ASAP, to pull the remapping gunk out of the loops driver and to
migrate people onto dm-crypt.  It is on-disk compatible with existing
cryptolop installations.

See http://www.saout.de/misc/dm-crypt/ for usage details.

22 years ago[PATCH] Disable bootmem warning
Andrew Morton [Wed, 18 Feb 2004 12:58:01 +0000 (04:58 -0800)]
[PATCH] Disable bootmem warning

From: Andi Kleen <ak@suse.de>

Make the "hm, page reserved twice" message dependent on CONFIG_DEBUG_BOOTMEM.

22 years ago[PATCH] ide-tape: remove obsolete onstream support
Andrew Morton [Wed, 18 Feb 2004 12:57:52 +0000 (04:57 -0800)]
[PATCH] ide-tape: remove obsolete onstream support

From: Willem Riede <wrlk@riede.org>

The onstream drives, be they scsi, atapi, ieee1394 or usb, are supported by the
osst driver.  When the drives were new, code was introduced in ide-tape
independently, but never really maintained since.  There are issues with the
drives I found and dealt with in osst, that ide-tape doesn't address.

So this code in ide-tape is both redundant and imperfect.  I assumed from
http://marc.theaimsgroup.com/?l=linux-kernel&m=107550547613846&w=2 that there
was buy in for removing it.

When this patch is applied, ide-tape will refuse to attach to an onstream DI
drive, and will write to syslog to use ide-scsi + osst instead.

22 years ago[PATCH] do_swap_page() return value fix
Andrew Morton [Wed, 18 Feb 2004 12:57:43 +0000 (04:57 -0800)]
[PATCH] do_swap_page() return value fix

From: BlaisorBlade <blaisorblade_spam@yahoo.it>

An exhausted do_swap_page() should return VM_FAULT_OOM rather than -ENOMEM.

22 years ago[PATCH] slab: remove extraneous printk
Andrew Morton [Wed, 18 Feb 2004 12:57:34 +0000 (04:57 -0800)]
[PATCH] slab: remove extraneous printk

From: "David S. Miller" <davem@redhat.com>

From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

If I create some kmem cache on 64-bit with like 3 u32's in it, it should
silently just work and not warn.

22 years ago[PATCH] Fix race in epoll_ctl(EPOLL_CTL_MOD)
Andrew Morton [Wed, 18 Feb 2004 12:57:25 +0000 (04:57 -0800)]
[PATCH] Fix race in epoll_ctl(EPOLL_CTL_MOD)

From: Davide Libenzi <davidel@xmailserver.org>

A potential race can happen in epoll_ctl(EPOLL_CTL_MOD) where an event can
happen in between f_op->poll() and the lock on ep->lock (we cannot call
f_op->poll() inside a lock, and the f_op->poll() callback does not carry
any info at the current time - missing wake_up_info() already ;).  In that
case the event would be removed.  We can easily leave the event inside the
ready list and have the ep_send_events() logic do the job for us at later
time.  (Thanks to david.lee@teracruz.com for reporting the thing, since it
shouldn't have been a nice one ;)

22 years ago[PATCH] add clock_was_set() to all architectures
Andrew Morton [Wed, 18 Feb 2004 12:57:16 +0000 (04:57 -0800)]
[PATCH] add clock_was_set() to all architectures

From: Anton Blanchard <anton@samba.org>

Add clock_was_set to all architectures.  I'm disappointed this wasnt done by
whoever wrote the code.

(It is a callback which the arch-specific RTC-updating code must make when
someone sets the time).

22 years ago[PATCH] Module headers cleanup
Andrew Morton [Wed, 18 Feb 2004 12:57:07 +0000 (04:57 -0800)]
[PATCH] Module headers cleanup

From: Brian Gerst <bgerst@didntduck.org>

Cleans up some leftovers from the old module loader:

- Remove unused defines from modules.h

- Remove unused file modsetver.h

22 years ago[PATCH] Documentation on how to debug modules
Andrew Morton [Wed, 18 Feb 2004 12:56:58 +0000 (04:56 -0800)]
[PATCH] Documentation on how to debug modules

From: Alex Goddard <agoddard@purdue.edu>

How to debug module loading problems.  The wording is a slightly changed
version of what Rusty said.

22 years ago[PATCH] Fix __release_region() race
Andrew Morton [Wed, 18 Feb 2004 12:56:48 +0000 (04:56 -0800)]
[PATCH] Fix __release_region() race

From: MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>

I am testing PCI hot-plug in 2.6.2 kernel, but sometimes a struct resource
tree in kernel/resource.c was broken if multiple hot-plug requests are
issued at the same time.

The reason is lots of drivers call release_region() on hot removal, and
__release_region(), which is invoked by release_region() macro, changes the
tree without holding a writer lock for resource_lock.

I think __release_region() must hold a writer lock as well as
__request_region() does.

A following patch fixes the issue in my environment.

22 years ago[PATCH] remove max_anon limit
Andrew Morton [Wed, 18 Feb 2004 12:56:39 +0000 (04:56 -0800)]
[PATCH] remove max_anon limit

From: Tim Hockin <thockin@sun.com>

Remove the max_anon via dynamically allocation.  We also change the
idr_pre_get() interface to take a gfp mask, which should have always been
there.

22 years ago[PATCH] oprofile: add Pentium Mobile support
Andrew Morton [Wed, 18 Feb 2004 12:56:30 +0000 (04:56 -0800)]
[PATCH] oprofile: add Pentium Mobile support

From: Philippe Elie <phil.el@wanadoo.fr>

From: Will Cohen <wcohen@redhat.com>

Add oprofile support for Pentium Mobile (P6 core).  Pentium Mobile needs to
unmask LVPTC vector, since it doesn't hurt other P6 core based cpus we do
it unconditionally for all these.

This patch require userspace tools >= 0.8 (only in sourceforge cvs currently)

22 years ago[PATCH] oprofile: ARM infrastructure
Andrew Morton [Wed, 18 Feb 2004 12:56:21 +0000 (04:56 -0800)]
[PATCH] oprofile: ARM infrastructure

From: Philippe Elie <phil.el@wanadoo.fr>

From: Zwane Mwaikambo <zwane@arm.linux.org.uk>

This patch adds infrastructure code and enables ARM to utilise the timer
int oprofile driver.  There is PMU code under development for the XScale
but that is still forthcoming.  In the meantime you can use the timer int
driver with an updated Oprofile-CVS userspace (SF is a bit slow, please
allow 24hrs).

22 years ago[PATCH] Oprofile: fix nmi_timer_int detection
Andrew Morton [Wed, 18 Feb 2004 12:56:11 +0000 (04:56 -0800)]
[PATCH] Oprofile: fix nmi_timer_int detection

From: Philippe Elie <phil.el@wanadoo.fr>

From: Zwane Mwaikambo <zwane@arm.linux.org.uk>

The nmi_timer_int oprofile driver was enabling itself unconditionally if an
SMP kernel was being used on a UP system without an IOAPIC.

Tested on a P5 using NMI timer int driver and UP system using timer int
driver both running an SMP kernel.

2004-02-11  Zwane Mwaikambo <zwane@arm.linux.org.uk>

* arch/i386/kernel/nmi.c: export nmi_active
* arch/i386/oprofile/nmi_timer_int.c: use it to check if owe can use
  an nmi interrupt

22 years ago[PATCH] 3c59x: bring back the `enable_wol' option
Andrew Morton [Wed, 18 Feb 2004 12:56:02 +0000 (04:56 -0800)]
[PATCH] 3c59x: bring back the `enable_wol' option

Some machines appear to have BIOS problems which are causing 3c59x adapters
to come up in a powered-off state when WOL and PM are enabled.

So bring back the 2.4 `enable_wol' module option which disables wake-on-lan
unless the user specifically asked for it.

22 years ago[PATCH] cleanup patch that prepares for 4Kb stacks
Andrew Morton [Wed, 18 Feb 2004 12:55:53 +0000 (04:55 -0800)]
[PATCH] cleanup patch that prepares for 4Kb stacks

From: Arjan van de Ven <arjanv@redhat.com>

I have 4Kb stacks + IRQ stacks working in my tree.  The biggest part of the
4K-stacks work is changing hardcoded 8Kb assumptions to the proper,
pre-existing define for this.  That part of the patch is appropriate in
general, even when 4Kb stacks might not be.

22 years ago[PATCH] fix display of NBD in /proc/partitions
Andrew Morton [Wed, 18 Feb 2004 12:55:44 +0000 (04:55 -0800)]
[PATCH] fix display of NBD in /proc/partitions

The recent change to /proc/partitions which prevents it from displaying
removeable media accidentally caused 128 NBD and 16 ramdisk partitions to
appear in /proc/partitions instead.

So add a specific gendisk flag which says "don't show me in /proc/partitions"
and use that.

22 years ago[PATCH] skip offline CPUs in show_free_areas
Andrew Morton [Wed, 18 Feb 2004 12:55:35 +0000 (04:55 -0800)]
[PATCH] skip offline CPUs in show_free_areas

From: Christoph Hellwig <hch@lst.de>

Don't try to display the per-cpu information for CPUs which aren't there.

22 years ago[PATCH] off_t in nfsd_commit needs to be loff_t
Andrew Morton [Wed, 18 Feb 2004 12:55:26 +0000 (04:55 -0800)]
[PATCH] off_t in nfsd_commit needs to be loff_t

From: Neil Brown <neilb@cse.unsw.edu.au>,

From: Miquel van Smoorenburg <miquels@cistron.nl>

While I was stress-testing NFS/XFS on 2.6.1/2.6.2-rc, I found that
sometimes my "dd" would exit with:

#  dd if=/dev/zero bs=4096 > /mnt/file
dd: writing `standard output': Invalid argument
1100753+0 records in
1100752+0 records out

After adding some debug printk's to the server and client code and some
tcpdump-ing, I found that the NFSERR_INVAL was returned by nfsd_commit on
the server.

Turns out that the "offset" argument is off_t instead of loff_t.  It isn't
used at all (unfortunately), but it _is_ checked for sanity, so that's
where the error came from.

22 years ago[PATCH] drivers/char/vt possible race
Andrew Morton [Wed, 18 Feb 2004 12:55:17 +0000 (04:55 -0800)]
[PATCH] drivers/char/vt possible race

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

I falled again on the crash in con_do_write() with driver->data beeing
NULL.  It happens during boot, when userland is playing open/close games
with tty's, I was intentionally typing keys like mad during boot trying to
trigger another problem when this one poped up.

Looking at the code, I'm not sure how protected we are by the above (tty)
layer, paulus told me to not rely on anything like locking coming from
there, so I decided to extend the scope of the console semaphore one more
bit to cover races between calls to con_open, con_close and con_write.
Note that in con_do_write, I intentionally drop the semaphore to avoid
keeping it held when waiting on the local buffer, and I added some sanity
checks on tty->driver_data with some printk's in case we still have an open
race by the tty layer.  At least, now, the couple vc_allocated &
tty->driver_data should be protected though.

22 years ago[PATCH] /proc thread visibility fixes
Andrew Morton [Wed, 18 Feb 2004 12:55:08 +0000 (04:55 -0800)]
[PATCH] /proc thread visibility fixes

From: Kingsley Cheung <kingsley@aurema.com>

Is is possible to examine the data of tasks currently existing in the system
which are not threads of the same thread group.

For example, the only task in the group where init is group leader is itself:

gen2 02:50:44 ~: ls /proc/1/task
1

However, I can then read the contents of 'stat' for any other task in the
system:

gen2 02:49:45 ~: cat /proc/1/task/$$/stat
1669 (bash) S 1668 1669 1669 34816 1730 256 1480 6479 12 4 8 5 5 17 15 0 1 0
+8065 3252224 451 4294967295 134512640 134955932 3221225104 3221222840
+4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0

I had a look at fs/proc/base.c and found that the 'lookup' functions for
these directories were checking that the task in question existed, but
overlooked the following:

1.  In the function proc_pid_lookup, a check is required to ensure that
    the task in question is a thread group leader.  Without the check, any
    task can have its data retrieved accordingly.  Consider the following.
    There is a multithreaded process 1777.

gen2 23:22:47 /proc/1777: ls task
1777  1778  1779  1780  1781  1782  1783  1784  1785  1786  1787  1788

However, I can read the stat file for its thread 1778 as follows:

gen2 23:22:50 /proc/1777: cat /proc/1778/stat
1778 (multithreadtest) T 1777 1777 1672 34816 1672 64 0 0 0 0 14 17 0 0 15 0 12 0 8871 24727552 104 4294967295 134512640 134515104 3221222496 1077365276 4294960144 0 0 0 0 3222479248 0 0 -1 1 0 0

But 1778 is not meant to show up in /proc/, as intended right?:

gen2 23:22:56 /proc/1777: ls /proc/
1     1365  1661  1793  881        dma          kcore       scsi
10    1371  1662  18    9          driver       kmsg        self
1014  1372  1663  2     909        execdomains  loadavg     slabinfo
1032  14    1664  3     963        fb           locks       stat
1062  15    1665  4     966        filesystems  mdstat      swaps
1066  16    1666  5     buddyinfo  fs           meminfo     sys
1067  1605  1669  6     bus        ide          misc        sysrq-trigger
1087  1610  1670  7     cmdline    interrupts   modules     sysvipc
1095  1611  1671  736   cpuinfo    iomem        mounts      tty
11    1641  1672  8     crypto     ioports      mtrr        uptime
12    1658  17    807   devices    irq          net         version
13    1660  1777  810   diskstats  kallsyms     partitions  vmstat

2.  The other part of the bug is in the function proc_task_lookup.  Here
    there needs to be a check that the task X is indeed a thread of the
    thread group Y when we read /proc/<Y>/task/<X>.

Right now, this check does not exist, which allows for any existing
task to have its data read from another thread group directory.  The
following reads the stat directory of my bash shell from the thread
group 1.

gen2 23:28:07 ~: cd /proc/1
gen2 23:28:10 /proc/1: ls
auxv     cwd      exe  maps  mounts  stat   status  wchan
cmdline  environ  fd   mem   root    statm  task
gen2 23:28:11 /proc/1: ls task
1
gen2 23:28:27 /proc/1: cat task/$$/stat
1671 (bash) S 1670 1671 1671 34817 1802 256 1953 8101 12 4 10 6 9 26 15 0 1 0 5789 3252224 454 4294967295 134512640 134955932 3221225104 3221222840 4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0

22 years ago[PATCH] Minor cross-compile issues
Andrew Morton [Wed, 18 Feb 2004 12:54:59 +0000 (04:54 -0800)]
[PATCH] Minor cross-compile issues

From: Pratik Solanki <pratik.solanki@timesys.com>

- Fix include path for build.c so that it finds asm/boot.h.
  /usr/include/asm/boot.h may not be present when cross-compiling on a
  non-Linux machine.

- $(CONFIG_SHELL) instead of sh.

22 years ago[PATCH] cpufreq_scale() fixes
Andrew Morton [Wed, 18 Feb 2004 12:54:50 +0000 (04:54 -0800)]
[PATCH] cpufreq_scale() fixes

From: Dominik Brodowski <linux@dominikbrodowski.de>

Use do_div on 32-bit archs in cpufreq_scale, and native "/" on 64-bit
archs.

22 years ago[PATCH] defer panic for too many items in boot parameter line
Andrew Morton [Wed, 18 Feb 2004 12:54:41 +0000 (04:54 -0800)]
[PATCH] defer panic for too many items in boot parameter line

From: Werner Almesberger <werner@almesberger.net>

When passing too many unrecognized boot command line options (which become
arguments or environment variables), the 2.6 kernel panics (unlike 2.4,
which just ignores the extra items).  Unfortunately, this happens before
the console is initialized, so all you get is a kernel that dies quickly,
for no apparent reason.

This is particularly irritating if using UML with
init=something wi th a lot of ar gu men t s

The patch below delays the panic until after console_init.

(akpm: I mainly added this in because we have other places where the
panic-later-on machinery is needed).

22 years ago[PATCH] adfs: remove a kernel 2.2 #ifdef
Andrew Morton [Wed, 18 Feb 2004 12:54:32 +0000 (04:54 -0800)]
[PATCH] adfs: remove a kernel 2.2 #ifdef

From: Adrian Bunk <bunk@fs.tum.de>

The patch below removes a kernel 2.2 #ifdef from fs/adfs/adfs.h .

Note that this #ifdef was only present in the header, the implementation
of adfs_bmap was already removed.

22 years ago[PATCH] kbuild documentation fix
Andrew Morton [Wed, 18 Feb 2004 12:54:23 +0000 (04:54 -0800)]
[PATCH] kbuild documentation fix

From: Ryan Boder <icanoop@bitwiser.org>

Explains how to compile external modules in
Documentation/kbuild/modules.txt.

22 years ago[PATCH] remove kernel 2.2 #ifdef's from {i,}stallion.h
Andrew Morton [Wed, 18 Feb 2004 12:54:14 +0000 (04:54 -0800)]
[PATCH] remove kernel 2.2 #ifdef's from {i,}stallion.h

From: Adrian Bunk <bunk@fs.tum.de>

The patch below removeskernel 2.2 #ifdef's from {i,}stallion.h .

22 years ago[PATCH] OSS: remove #ifdef's for kernel 2.0
Andrew Morton [Wed, 18 Feb 2004 12:54:05 +0000 (04:54 -0800)]
[PATCH] OSS: remove #ifdef's for kernel 2.0

From: Adrian Bunk <bunk@fs.tum.de>

The patch below removes two #ifdef's for kernel 2.0 from OSS.

22 years ago[PATCH] Rename bitmap_snprintf() and cpumask_snprintf() to *_scnprintf()
Andrew Morton [Wed, 18 Feb 2004 12:53:55 +0000 (04:53 -0800)]
[PATCH] Rename bitmap_snprintf() and cpumask_snprintf() to *_scnprintf()

From: Joe Korty <joe.korty@ccur.com>

Rename bitmap_snprintf() to bitmap_scnprintf() and cpumask_snprintf() to
cpumask_scnprintf(), as these functions now belong to the scnprintf family
of functions.

22 years ago[PATCH] MCE fixes and cleanups
Andrew Morton [Wed, 18 Feb 2004 12:53:46 +0000 (04:53 -0800)]
[PATCH] MCE fixes and cleanups

Andi notes that the

smp_call_function(foo);
foo();

in there is incorrect on preemptible kernels.

Fix that by using on_each_cpu(), which takes care of such things.

Also, remove the open-coded timer from here.  We have
schedule_delayed_work().

And remove the `timerset' variable, which doesn't do anything.

22 years ago[PATCH] Fix printk level on non fatal MCEs
Andrew Morton [Wed, 18 Feb 2004 12:53:37 +0000 (04:53 -0800)]
[PATCH] Fix printk level on non fatal MCEs

From: Andi Kleen <ak@suse.de>

For various reasons non fatal Machine Checks can happen on Athlons (e.g.
we have reports that laptops like to trigger them on suspend/resume)

They are not necessarily fatal and often only minor hardware glitches.

But what's annoying is that they're KERN_EMERG and pollute your console and
scare the user into writing confused kernel bug reports.

This patch just replaces the KERN_EMERGs with KERN_INFO for now.  Longer
term I think it would be better to log this stuff into a separate log.

22 years ago[PATCH] 8259 timer ack fix
Andrew Morton [Wed, 18 Feb 2004 12:53:28 +0000 (04:53 -0800)]
[PATCH] 8259 timer ack fix

From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>

Fix up the 8259 ack handling for buggy SMM firmware.

See http://www.ussg.iu.edu/hypermail/linux/kernel/0203.2/0956.html

Apparently the embedded 8259A-compatible core is not fully functional.
This patch lets the I/O APIC-driven NMI watchdog to function correctly.
Credit to Ross Dickson for discovering this.

22 years ago[PATCH] dm: drop BIO_SEG_VALID bit
Andrew Morton [Wed, 18 Feb 2004 12:53:19 +0000 (04:53 -0800)]
[PATCH] dm: drop BIO_SEG_VALID bit

From: Joe Thornber <thornber@redhat.com>

I just noticed that bio_clone copies the BIO_SEG_VALID bit from the original
bio when it was set.  When we modify bi_idx or bi_vcnt afterwards the segment
counts are invalid and the bit must be dropped (though it is fairly unlikely
that it has already been set).  [Christophe Saout]

22 years ago[PATCH] dm: Remove redundant spin lock in dec_pending()
Andrew Morton [Wed, 18 Feb 2004 12:53:10 +0000 (04:53 -0800)]
[PATCH] dm: Remove redundant spin lock in dec_pending()

From: Joe Thornber <thornber@redhat.com>

Remove redundant spin lock in dec_pending()

22 years ago[PATCH] dm: Zero size target sanity check
Andrew Morton [Wed, 18 Feb 2004 12:53:01 +0000 (04:53 -0800)]
[PATCH] dm: Zero size target sanity check

From: Joe Thornber <thornber@redhat.com>

Add sanity check to dm_table_add_target() against zero length targets.
[Christophe Saout]

22 years ago[PATCH] dm: Correct GFP flag in dm_table_create()
Andrew Morton [Wed, 18 Feb 2004 12:52:52 +0000 (04:52 -0800)]
[PATCH] dm: Correct GFP flag in dm_table_create()

From: Joe Thornber <thornber@redhat.com>

For some reason dm_table_create() was allocating GFP_NOIO rather than
GFP_KERNEL.

22 years ago[PATCH] dm: Tidy up the error path for alloc_dev()
Andrew Morton [Wed, 18 Feb 2004 12:52:43 +0000 (04:52 -0800)]
[PATCH] dm: Tidy up the error path for alloc_dev()

From: Joe Thornber <thornber@redhat.com>

Tidy up the error path for alloc_dev()

22 years ago[PATCH] dm: Maintain ordering when deferring bios
Andrew Morton [Wed, 18 Feb 2004 12:52:34 +0000 (04:52 -0800)]
[PATCH] dm: Maintain ordering when deferring bios

From: Joe Thornber <thornber@redhat.com>

Make sure that we maintain ordering when deferring bios.

22 years ago[PATCH] dm: Get rid of struct dm_deferred_io in dm.c
Andrew Morton [Wed, 18 Feb 2004 12:52:25 +0000 (04:52 -0800)]
[PATCH] dm: Get rid of struct dm_deferred_io in dm.c

From: Joe Thornber <thornber@redhat.com>

Remove struct dm_deferred_io from dm.c.  [Christophe Saout]

22 years ago[PATCH] dm: Move to_bytes() and to_sectors() into dm.h
Andrew Morton [Wed, 18 Feb 2004 12:52:16 +0000 (04:52 -0800)]
[PATCH] dm: Move to_bytes() and to_sectors() into dm.h

From: Joe Thornber <thornber@redhat.com>

Move to_bytes() and to_sectors() into dm.h

22 years ago[PATCH] dm: Export dm_vcalloc()
Andrew Morton [Wed, 18 Feb 2004 12:52:07 +0000 (04:52 -0800)]
[PATCH] dm: Export dm_vcalloc()

From: Joe Thornber <thornber@redhat.com>

Export dm_vcalloc()

22 years ago[PATCH] md: Allow partitioning of MD devices.
Andrew Morton [Wed, 18 Feb 2004 12:51:58 +0000 (04:51 -0800)]
[PATCH] md: Allow partitioning of MD devices.

From: NeilBrown <neilb@cse.unsw.edu.au>

With this patch, md used two major numbers for arrays.

One Major is number 9 with name 'md' have unpartitioned md arrays, one per
minor number.

The other Major is allocated dynamically with name 'mdp' and had on array for
every 64 minors, allowing for upto 63 partitions.

The arrays under one major are completely separate from the arrays under the
other.

The preferred name for devices with the new major are of the form:

  /dev/md/d1p3  # partion 3 of device 1 - minor 67

When a paritioned md device is assembled, the partitions are not recognised
until after the whole-array device is opened again.  A future version of
mdadm will perform this open so that the need will be transparent.

22 years ago[PATCH] md: Dynamically limit size of bio requests used for raid1 resync
Andrew Morton [Wed, 18 Feb 2004 12:51:49 +0000 (04:51 -0800)]
[PATCH] md: Dynamically limit size of bio requests used for raid1 resync

From: NeilBrown <neilb@cse.unsw.edu.au>

Currently raid1 uses PAGE_SIZE read/write requests for resync, as it doesn't
know how to honour per-device restrictions.  This patch uses to bio_add_page
to honour those restrictions and ups the limit on request size to 64K.  This
has a measurable impact on rebuild speed (25M/s -> 60M/s)

22 years ago[PATCH] md: Avoid unnecessary bio allocation during raid1 resync
Andrew Morton [Wed, 18 Feb 2004 12:51:40 +0000 (04:51 -0800)]
[PATCH] md: Avoid unnecessary bio allocation during raid1 resync

From: NeilBrown <neilb@cse.unsw.edu.au>

For each resync request, we allocate a "r1_bio" which has a bio "master_bio"
attached that goes largely unused.  We also allocate a read_bio which is
used.  This patch removes the read_bio and just uses the master_bio instead.

This fixes a bug wherein bi_bdev of the master_bio wasn't being set, but was
being used.

We also introduce a new "sectors" field into the r1_bio as we can no-longer
rely in master_bio->bi_sectors.

22 years ago[PATCH] md: Remove some un-needed fields from r1bio_s
Andrew Morton [Wed, 18 Feb 2004 12:51:31 +0000 (04:51 -0800)]
[PATCH] md: Remove some un-needed fields from r1bio_s

From: NeilBrown <neilb@cse.unsw.edu.au>

next_r1 is never used, so it can just go.

read_bio isn't needed as we can easily use one of the pointers in the
write_bios array - write_bios[->read_disk].  So rename "write_bios" to "bios"
and store the pointer to the read bio in there.

22 years ago[PATCH] md: Discard the cmd field from r1_bio structure
Andrew Morton [Wed, 18 Feb 2004 12:51:22 +0000 (04:51 -0800)]
[PATCH] md: Discard the cmd field from r1_bio structure

From: NeilBrown <neilb@cse.unsw.edu.au>

The only time it is really needed is to differentiate a retry-on-fail from a
write-after-read-for-resync request to raid1d.  So we use a bit in 'state'
for that.

22 years ago[PATCH] md: Split read and write end_request handlers
Andrew Morton [Wed, 18 Feb 2004 12:51:13 +0000 (04:51 -0800)]
[PATCH] md: Split read and write end_request handlers

From: NeilBrown <neilb@cse.unsw.edu.au>

Instead of having a single end_request handler that must determine whether it
was a read or a write request, we have two separate handlers, which makes
each of them easier to follow.

22 years ago[PATCH] md: Print "deprecated" warning when START_ARRAY is used.
Andrew Morton [Wed, 18 Feb 2004 12:51:04 +0000 (04:51 -0800)]
[PATCH] md: Print "deprecated" warning when START_ARRAY is used.

From: NeilBrown <neilb@cse.unsw.edu.au>

The "START_ARRAY" ioctl depends on major/minor numbers (as stored in the raid
superblock) are stable over reboots, which is increasingly untrue.

There are better ways to start an array (e.g.  with mdadm) so we mark the
ioctl as deprecated for 2.6, and will remove it in 2.7.

22 years ago[PATCH] kNFSd:fix build problems in nfs w/o proc_fs on 2.6.0-test5
Andrew Morton [Wed, 18 Feb 2004 12:50:55 +0000 (04:50 -0800)]
[PATCH] kNFSd:fix build problems in nfs w/o proc_fs on 2.6.0-test5

From: NeilBrown <neilb@cse.unsw.edu.au>

From: Stephen Hemminger <shemminger@osdl.org>
Date: Fri, 12 Sep 2003 11:31:06 -0700

NFS won't build w/o CONFIG_PROC_FS.  Looks like typo's (or a C++
programmer) in stats.h

22 years ago[PATCH] kNFSd: convert NFS /proc interfaces to seq_file
Andrew Morton [Wed, 18 Feb 2004 12:50:46 +0000 (04:50 -0800)]
[PATCH] kNFSd: convert NFS /proc interfaces to seq_file

From: NeilBrown <neilb@cse.unsw.edu.au>

From: shemminger@osdl.org Sat Sep  6 09:19:50 2003
Date: Fri, 5 Sep 2003 16:19:30 -0700

Converts /proc/net/rpc/nfs and /proc/net/rpc/nfsd to use the simpler
seq_file interface.

22 years ago[PATCH] kNFSd: ip_map_init does a kmalloc which isn't checked...
Andrew Morton [Wed, 18 Feb 2004 12:50:37 +0000 (04:50 -0800)]
[PATCH] kNFSd: ip_map_init does a kmalloc which isn't checked...

From: NeilBrown <neilb@cse.unsw.edu.au>

There is no way to return an error from a cache init routine, so instead we
make sure to pre-allocate the memory needed, and free it after the lookup
if the lookup failed.

22 years ago[PATCH] kNFSd: Allow sunrpc/svc cache init function to modify the "key"
Andrew Morton [Wed, 18 Feb 2004 12:50:28 +0000 (04:50 -0800)]
[PATCH] kNFSd: Allow sunrpc/svc cache init function to modify the "key"

From: NeilBrown <neilb@cse.unsw.edu.au>

When adding a item to a sunrpc/svc cache that contains kmalloced data it is
usefully to move the malloced data out of the key object into the new cache
object rather than copying (as then we would need to cope with kmalloc
failure and such).  This means modifying the original.

If the kmalloced data forms part of the key, then we must not move the data
out until after the key isn't needed any more.  So this patch moves the
call to "INIT" on a new item (which fills in the key) to *after* the item
has been found (or not), and also makes sure we only call the HASH function
once.

Thanks to "J.  Bruce Fields" <bfields@fieldses.org>

also

 1/ remove unnecessary assignment
 2/ fix comments that lag behind implementation.

22 years ago[PATCH] kNFSd: Fix possible scheduling_while_atomic in cache.c
Andrew Morton [Wed, 18 Feb 2004 12:50:19 +0000 (04:50 -0800)]
[PATCH] kNFSd: Fix possible scheduling_while_atomic in cache.c

From: NeilBrown <neilb@cse.unsw.edu.au>

We currently call cache_put, which can schedule(), under a spin_lock.  This
patch moves that call outside the spinlock.

22 years ago[PATCH] #if versus #ifdef cleanup
Andrew Morton [Wed, 18 Feb 2004 12:50:10 +0000 (04:50 -0800)]
[PATCH] #if versus #ifdef cleanup

From: Valdis.Kletnieks@vt.edu

15 changes of #if to #ifdef and 2 places CONFIG_FOO should be
defined(CONFIG_FOO).  This gets rid of spurious warnings if you build with
"-Wundef" so you get a warning if you have a preprocessor command like:

#if CONFIG_ETRAX_DS1302_RSTBIT == 27

and you'll be told if it's substituting a zero rather than silent
weirdness and unexpected code generation.