]> git.neil.brown.name Git - history.git/log
history.git
22 years ago[netdrvr amd8111e] fix spinlock recursion / if close failure
Reeja John [Thu, 19 Jun 2003 18:17:32 +0000 (14:17 -0400)]
[netdrvr amd8111e] fix spinlock recursion / if close failure

22 years ago[PATCH] Remove copied inet_aton code in bond_main.c
Andi Kleen [Thu, 19 Jun 2003 18:09:54 +0000 (14:09 -0400)]
[PATCH] Remove copied inet_aton code in bond_main.c

According to a report the my_inet_aton code in bond_main.c is copied
from 4.4BSD, but it doesn't carry a BSD copyright license. In addition
it is somewhat redundant with the standard in_aton.  Convert it
to use the linux function.

Error handling is a bit worse than before, but not much.

Patch for 2.5 bonding. The 2.4 version has the same problem, but afaik
it is scheduled to be replaced by the 2.5 codebase anyways.

-Andi

22 years agoMerge bk://kernel.bkbits.net/davem/net-2.5
Linus Torvalds [Thu, 19 Jun 2003 07:50:16 +0000 (00:50 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[NET]: Size hh_cache->hh_data more appropriately.
David S. Miller [Thu, 19 Jun 2003 07:25:36 +0000 (00:25 -0700)]
[NET]: Size hh_cache->hh_data more appropriately.

22 years ago[PATCH] init_thread_union really needed by modules?
David Mosberger [Thu, 19 Jun 2003 06:35:01 +0000 (23:35 -0700)]
[PATCH] init_thread_union really needed by modules?

init_thread_union doesn't need to be exported to modules.

We haven't exported the symbol on ia64 for ages, and we should be able
to make the init_thread_union local to arch/ARCH/kernel/init_task.c and
that in turn would let us remove its declaration from
include/linux/sched.h altogether (i.e., no more ugly #ifdefs).

22 years ago[PATCH] Add 2 HP PCI ids
David Mosberger [Thu, 19 Jun 2003 06:34:45 +0000 (23:34 -0700)]
[PATCH] Add 2 HP PCI ids

Trivial addition needed for the hp Itanium machines.

22 years agoMerge bk://ldm.bkbits.net/linux-2.5-core
Linus Torvalds [Thu, 19 Jun 2003 06:31:22 +0000 (23:31 -0700)]
Merge bk://ldm.bkbits.net/linux-2.5-core
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.isdn
Linus Torvalds [Thu, 19 Jun 2003 06:26:49 +0000 (23:26 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.isdn
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years agoMerge bk://are.twiddle.net/axp-2.5/
Linus Torvalds [Thu, 19 Jun 2003 06:19:19 +0000 (23:19 -0700)]
Merge bk://are.twiddle.net/axp-2.5/
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[NET]: Let arptables see bridged arp traffic.
Bart De Schuymer [Thu, 19 Jun 2003 05:42:20 +0000 (22:42 -0700)]
[NET]: Let arptables see bridged arp traffic.

22 years ago[NET]: Use unlikely and BUG_ON in SKB assertions.
Stephen Hemminger [Thu, 19 Jun 2003 05:41:06 +0000 (22:41 -0700)]
[NET]: Use unlikely and BUG_ON in SKB assertions.

22 years ago[NET]: Missing owner field on pppoe /proc
Stephen Hemminger [Thu, 19 Jun 2003 05:39:51 +0000 (22:39 -0700)]
[NET]: Missing owner field on pppoe /proc

22 years ago[NET]: Add prefetch to skb_queue_walk.
Stephen Hemminger [Thu, 19 Jun 2003 05:38:19 +0000 (22:38 -0700)]
[NET]: Add prefetch to skb_queue_walk.

22 years ago[NET]: Fix jiffies races in net/sched/sch_htb.c
Martin Devera [Thu, 19 Jun 2003 05:37:10 +0000 (22:37 -0700)]
[NET]: Fix jiffies races in net/sched/sch_htb.c

22 years ago[NET]: Remove duplicate linux/interrupt.h include in net/core/flow.c
Herbert Xu [Thu, 19 Jun 2003 05:29:14 +0000 (22:29 -0700)]
[NET]: Remove duplicate linux/interrupt.h include in net/core/flow.c

22 years ago[NET]: Check for flow cache allocation failure.
David S. Miller [Thu, 19 Jun 2003 05:27:10 +0000 (22:27 -0700)]
[NET]: Check for flow cache allocation failure.

22 years ago[NET]: Fix per-cpu flow cache initialization.
Herbert Xu [Thu, 19 Jun 2003 05:16:51 +0000 (22:16 -0700)]
[NET]: Fix per-cpu flow cache initialization.

22 years agoMerge bk://kernel.bkbits.net/gregkh/linux/firmware-2.5
Patrick Mochel [Thu, 19 Jun 2003 03:32:39 +0000 (20:32 -0700)]
Merge bk://kernel.bkbits.net/gregkh/linux/firmware-2.5
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core

22 years agoDRIVER: add drivers/base/Kconfig to all arch main Kconfig files.
Greg Kroah-Hartman [Thu, 19 Jun 2003 03:23:36 +0000 (20:23 -0700)]
DRIVER: add drivers/base/Kconfig to all arch main Kconfig files.

22 years ago[ALPHA] Implement execve entirely in assembly. Force KSP to
Richard Henderson [Thu, 19 Jun 2003 03:20:13 +0000 (20:20 -0700)]
[ALPHA] Implement execve entirely in assembly.  Force KSP to
the top of the kernel stack space before entering userland.

22 years ago[ALPHA] Fix memmove/memset GP interaction.
Richard Henderson [Thu, 19 Jun 2003 03:17:36 +0000 (20:17 -0700)]
[ALPHA] Fix memmove/memset GP interaction.

22 years agoDRIVER: make generic driver menu option, and move firmware selection there.
Greg Kroah-Hartman [Thu, 19 Jun 2003 03:07:02 +0000 (20:07 -0700)]
DRIVER: make generic driver menu option, and move firmware selection there.

22 years ago[PATCH] DRIVER: request_firmware() vmalloc patch
Manuel Estrada Sainz [Thu, 19 Jun 2003 02:45:51 +0000 (19:45 -0700)]
[PATCH] DRIVER: request_firmware() vmalloc patch

 Kay Sievers tried with his ~500kB firmware image and kmalloc was not
 capable of getting that much memory. He suggested using vmalloc which
 sound reasonable.

22 years ago[PATCH] DRIVER: request_firmware() hotplug interface documentation
Manuel Estrada Sainz [Thu, 19 Jun 2003 02:45:11 +0000 (19:45 -0700)]
[PATCH] DRIVER: request_firmware() hotplug interface documentation

22 years agoDRIVER: firmware class build cleanups
Greg Kroah-Hartman [Thu, 19 Jun 2003 02:44:14 +0000 (19:44 -0700)]
DRIVER: firmware class build cleanups

Made variables static that were global, and cleaned up some sparse warnings.

22 years ago[PATCH] DRIVER: request_firmware() hotplug interface
Manuel Estrada Sainz [Thu, 19 Jun 2003 02:34:11 +0000 (19:34 -0700)]
[PATCH] DRIVER: request_firmware() hotplug interface

22 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Thu, 19 Jun 2003 02:09:25 +0000 (19:09 -0700)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core

22 years ago[PATCH] any_online_cpu for arch/alpha/kernel/smp.h
Jay Estabrook [Thu, 19 Jun 2003 01:59:31 +0000 (18:59 -0700)]
[PATCH] any_online_cpu for arch/alpha/kernel/smp.h

22 years ago[PATCH] C99 initializers for asm-alpha/include/xor.h
Art Haas [Thu, 19 Jun 2003 01:58:08 +0000 (18:58 -0700)]
[PATCH] C99 initializers for asm-alpha/include/xor.h

This patch converts the file to C99 initializers. The patch is against
the current BK. The patch is untested as I don't have access to an Alpha
machine.

Art Haas

22 years ago[PATCH] alpha oprofile fix
Ivan Kokshaysky [Thu, 19 Jun 2003 01:57:29 +0000 (18:57 -0700)]
[PATCH] alpha oprofile fix

The oprofile_arch_exit() in discarded .exit.text section is being
called from oprofile_init() in retained .init.text section.
This causes final link failure with oprofile compiled in.

Ivan.

22 years ago[PATCH] alpha srmcons fix
Ivan Kokshaysky [Thu, 19 Jun 2003 01:54:54 +0000 (18:54 -0700)]
[PATCH] alpha srmcons fix

Add missing tty_set_operations().

Ivan.

22 years agoMerge bk://linux-pnp.bkbits.net/pnp-2.5
Linus Torvalds [Thu, 19 Jun 2003 01:49:10 +0000 (18:49 -0700)]
Merge bk://linux-pnp.bkbits.net/pnp-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[PNP] Important Resource Parsing Fixes
Adam Belay [Wed, 18 Jun 2003 22:38:55 +0000 (22:38 +0000)]
[PNP] Important Resource Parsing Fixes

In some cases, we're reading the wrong bits for large tags.  This patch corrects
the issue by setting the affected bits forward by an offset of 2 (skipping over
the size portion of the tag).

22 years ago[PNP] Remove some leftover resource config options in isapnp
Adam Belay [Wed, 18 Jun 2003 22:37:29 +0000 (22:37 +0000)]
[PNP] Remove some leftover resource config options in isapnp

Must have missed it earlier, but the pci module parameter is not needed.

22 years ago[PNP] Trivial Typo fix regarding DMAs
Adam Belay [Wed, 18 Jun 2003 22:36:19 +0000 (22:36 +0000)]
[PNP] Trivial Typo fix regarding DMAs

The irq index is used instead of the dma index when parsing dmas.

22 years ago[PNP] re-add the previously removed "get" command in interface.c.
Adam Belay [Wed, 18 Jun 2003 22:34:14 +0000 (22:34 +0000)]
[PNP] re-add the previously removed "get" command in interface.c.

This patch adds the "get" command because at this point it is needed
for debugging.

22 years ago[PNP] PnPBIOS resource setting fix
Adam Belay [Wed, 18 Jun 2003 22:31:55 +0000 (22:31 +0000)]
[PNP] PnPBIOS resource setting fix

If a device is disabled when initially read, its blank resource data will not
be cleared and the pnp layer will assume incorrectly that the device has
already been configured.  This patch resolves the issue by initializing the
resource table if the device is found to be disabled.

22 years ago[PNP] Module Compilation Fix
Adam Belay [Wed, 18 Jun 2003 22:28:13 +0000 (22:28 +0000)]
[PNP] Module Compilation Fix

Fixes a trivial typo in an export symbol macro.

22 years ago[PNP] /drivers/pnp/resource.c check_region warning fix
Adam Belay [Wed, 18 Jun 2003 22:26:10 +0000 (22:26 +0000)]
[PNP] /drivers/pnp/resource.c check_region warning fix

This patch resolves the compiler warning caused by the depreciated check_region
function.  It may not be the best solution but check_region really is what is
needed here because we never actually have to call "request_region".  If prefered,
I could alternatively request and release but doing so would be less efficient.

22 years ago[PNP] Resource Management Cleanups and Updates
Adam Belay [Wed, 18 Jun 2003 22:23:14 +0000 (22:23 +0000)]
[PNP] Resource Management Cleanups and Updates

This patch does the following...
1.) changes struct pnp_resources to pnp_option for clarity
2.) greatly cleans up resource option registration
3.) removes some of the current conflict prevention code in
order to increase flexibility, (users will have more control)
4.) various manager cleanups, resulting code is more efficient
5.) fixes the locking bugs many have reported (now uses a mutex)
6.) removes the conflict displaying interface
 - it is better to handle such things in user space
7.) also many misc. cleanups

22 years agoISDN: Protect ipc_head list
Kai Germaschewski [Wed, 18 Jun 2003 18:57:08 +0000 (13:57 -0500)]
ISDN: Protect ipc_head list

Make sure that the ipc_head list cannot change under us by
protecting it with a spin lock.

22 years agoISDN: Use standard list for PPP compressors
Kai Germaschewski [Wed, 18 Jun 2003 18:48:17 +0000 (13:48 -0500)]
ISDN: Use standard list for PPP compressors

replace the somewhat weird open-coded doubly-linked list with
a <linux/list.h> list.

22 years agoISDN: Make PPP compressors unload-safe.
Kai Germaschewski [Wed, 18 Jun 2003 18:40:27 +0000 (13:40 -0500)]
ISDN: Make PPP compressors unload-safe.

Remove MOD_{INC,DEC}_USE_COUNT and introduce .owner instead.

22 years agoISDN: Make isdn_tty.c compile again
Kai Germaschewski [Wed, 18 Jun 2003 18:31:27 +0000 (13:31 -0500)]
ISDN: Make isdn_tty.c compile again

The tty changes introduced some typos. These are now fixed, this
doesn't really address probably still existing races, though.

22 years ago[PATCH] re-enable the building of 8250_hcdp and 8250_acpi
David Mosberger [Wed, 18 Jun 2003 15:46:57 +0000 (08:46 -0700)]
[PATCH] re-enable the building of 8250_hcdp and 8250_acpi

This adds a separate SERIAL_8250_ACPI config option and makes the
8250_acpi.c code dependent on ACPI_BUS (since acpi_bus_register_driver()
is a prerequisite).

22 years agoMerge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5
Kai Germaschewski [Wed, 18 Jun 2003 13:57:34 +0000 (08:57 -0500)]
Merge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn

22 years agoMerge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
David S. Miller [Wed, 18 Jun 2003 11:15:24 +0000 (04:15 -0700)]
Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
into kernel.bkbits.net:/home/davem/net-2.5

22 years agoMerge bk://kernel.bkbits.net/acme/net-2.5
David S. Miller [Wed, 18 Jun 2003 12:22:13 +0000 (05:22 -0700)]
Merge bk://kernel.bkbits.net/acme/net-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

22 years agoo llc: don't use inverted logic
Arnaldo Carvalho de Melo [Wed, 18 Jun 2003 20:15:25 +0000 (17:15 -0300)]
o llc: don't use inverted logic

I don't understand what was on the mind of Procom programmers,
why do all this inverted logic? Its plain confusing, revert it.
Thanks to DaveM for asking if the logic was inverted, I should
have killed this weird stuff a long time ago :-\

22 years agoo hlist change on sctp not quite right.
Jon Grimm [Wed, 18 Jun 2003 19:59:48 +0000 (16:59 -0300)]
o hlist change on sctp not quite right.

22 years agoo net: make sk_{add,del}_node functions take care of sock refcounting
Arnaldo Carvalho de Melo [Wed, 18 Jun 2003 15:01:44 +0000 (12:01 -0300)]
o net: make sk_{add,del}_node functions take care of sock refcounting

With this we make it easier to write correct network families as less
details need to be taken into account, as well in the current state we
make the non-refcounting protocols (the ones still keeping deliver_to_old_ones
in the tree) suck less. 8)

Left a WARN_ON in sk_del_node_init for a while, so that we can catch cases
where we're using __sock_put on a struct sock that has refcnt == 1, which
is not the case for all the ones I tested.

22 years agoMerge bk://kernel.bkbits.net/acme/net-2.5
David S. Miller [Wed, 18 Jun 2003 11:10:48 +0000 (04:10 -0700)]
Merge bk://kernel.bkbits.net/acme/net-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

22 years ago[ATM]: Fix possible unlock of a non-locked lock in HE driver.
Chas Williams [Wed, 18 Jun 2003 11:08:28 +0000 (04:08 -0700)]
[ATM]: Fix possible unlock of a non-locked lock in HE driver.

22 years ago[NET]: Export netdev_boot_setup_check.
Jeff Smith [Wed, 18 Jun 2003 11:06:31 +0000 (04:06 -0700)]
[NET]: Export netdev_boot_setup_check.

22 years ago[IPV4/IPV6]: Fix IGMP device refcount leaks, with help from yoshfuji@linux-ipv6.org.
David Stevens [Wed, 18 Jun 2003 11:01:12 +0000 (04:01 -0700)]
[IPV4/IPV6]: Fix IGMP device refcount leaks, with help from yoshfuji@linux-ipv6.org.

22 years ago[NET]: Mark skb_linearize() as deprecated.
David S. Miller [Wed, 18 Jun 2003 10:58:20 +0000 (03:58 -0700)]
[NET]: Mark skb_linearize() as deprecated.

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.5-rmk
Linus Torvalds [Wed, 18 Jun 2003 10:05:12 +0000 (03:05 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.5-rmk
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[ARM] Fix SECURITY_INIT in linker script.
Russell King [Thu, 19 Jun 2003 01:34:34 +0000 (02:34 +0100)]
[ARM] Fix SECURITY_INIT in linker script.

SECURITY_INIT doesn't work when it is placed inside an output section.
Use our own version instead.

22 years ago[ARM] Allow ECC and cache write allocations on ARMv5 and higher CPUs.
Russell King [Thu, 19 Jun 2003 01:28:53 +0000 (02:28 +0100)]
[ARM] Allow ECC and cache write allocations on ARMv5 and higher CPUs.

All current CPUs of ARMv5 or later can have ECC memory and can
support write allocations.

22 years ago[ARM] Fix flush_cache_page address parameter.
Russell King [Thu, 19 Jun 2003 01:24:09 +0000 (02:24 +0100)]
[ARM] Fix flush_cache_page address parameter.

Noticed by Jun Sun.

22 years ago[ARM] Fix sa1100 irq.c build errors.
Russell King [Thu, 19 Jun 2003 01:18:58 +0000 (02:18 +0100)]
[ARM] Fix sa1100 irq.c build errors.

Fix a couple of minor build errors caused by the recent system device
changes.

22 years ago[ARM] Tighten virt_addr_valid(), add comments for __pa and friends.
Russell King [Thu, 19 Jun 2003 01:14:04 +0000 (02:14 +0100)]
[ARM] Tighten virt_addr_valid(), add comments for __pa and friends.

Ensure virt_addr_valid(x) works correctly for pointers.
Add comments indicating that drivers should not use virt_to_phys
and/or __pa to obtain an address for DMA.

22 years ago[ARM] Convert ambakmi.c to AMBA device driver.
Russell King [Thu, 19 Jun 2003 00:45:53 +0000 (01:45 +0100)]
[ARM] Convert ambakmi.c to AMBA device driver.

This cset makes use of our AMBA device model, thereby allowing the
"KMI" PrimeCell driver to become ARM platform independent.

22 years ago[ARM] Add AMBA bus type for ARM PrimeCells on Integrator.
Russell King [Thu, 19 Jun 2003 00:24:31 +0000 (01:24 +0100)]
[ARM] Add AMBA bus type for ARM PrimeCells on Integrator.

22 years ago[ARM] Separate ICS525 VCO calculation code.
Russell King [Thu, 19 Jun 2003 00:01:26 +0000 (01:01 +0100)]
[ARM] Separate ICS525 VCO calculation code.

The ICS525 clock chip is used in several different parts of the
Integrator platform.  Rather than duplicate the code, separate it
out so everyone can use it.

22 years agoMerge flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5
Russell King [Wed, 18 Jun 2003 22:03:34 +0000 (23:03 +0100)]
Merge flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5
into flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5-rmk

22 years ago[NET]: Kill unused function in Red Creek VPN driver.
Stephen Hemminger [Wed, 18 Jun 2003 09:37:06 +0000 (02:37 -0700)]
[NET]: Kill unused function in Red Creek VPN driver.

22 years ago[NET]: Move Red Creek VPN drier to alloc_etherdev().
Stephen Hemminger [Wed, 18 Jun 2003 09:36:16 +0000 (02:36 -0700)]
[NET]: Move Red Creek VPN drier to alloc_etherdev().

22 years ago[NET]: Use alloc_netdev in bonding driver.
Stephen Hemminger [Wed, 18 Jun 2003 09:34:13 +0000 (02:34 -0700)]
[NET]: Use alloc_netdev in bonding driver.

22 years ago[SPARC]: ESP scsi driver already has a release method, do not add a second one :-)
David S. Miller [Wed, 18 Jun 2003 09:17:24 +0000 (02:17 -0700)]
[SPARC]: ESP scsi driver already has a release method, do not add a second one :-)

22 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Wed, 18 Jun 2003 08:46:22 +0000 (01:46 -0700)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

22 years agoMerge bk://kernel.bkbits.net/gregkh/linux/i2c-2.5
Linus Torvalds [Wed, 18 Jun 2003 05:13:48 +0000 (22:13 -0700)]
Merge bk://kernel.bkbits.net/gregkh/linux/i2c-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Wed, 18 Jun 2003 05:10:06 +0000 (22:10 -0700)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core

22 years agoMerge kroah.com:/home/greg/linux/BK/bleed-2.5
Greg Kroah-Hartman [Wed, 18 Jun 2003 04:01:37 +0000 (21:01 -0700)]
Merge kroah.com:/home/greg/linux/BK/bleed-2.5
into kroah.com:/home/greg/linux/BK/i2c-2.5

22 years agomerge
Greg Kroah-Hartman [Wed, 18 Jun 2003 03:51:29 +0000 (20:51 -0700)]
merge

22 years ago[PATCH] USB: usbnet talks to boot loader (blob)
David Brownell [Wed, 18 Jun 2003 03:31:58 +0000 (20:31 -0700)]
[PATCH] USB: usbnet talks to boot loader (blob)

Boot ROMs have talked TFTP forever.  Some do it over USB now.

22 years ago[PATCH] USB: convert kaweth to usb_buffer_alloc
Oliver Neukum [Wed, 18 Jun 2003 03:27:49 +0000 (20:27 -0700)]
[PATCH] USB: convert kaweth to usb_buffer_alloc

  - switch to usb_buffer_alloc

22 years ago[PATCH] ext3: disable O_DIRECT in journalled-data mode
Andrew Morton [Wed, 18 Jun 2003 01:33:17 +0000 (18:33 -0700)]
[PATCH] ext3: disable O_DIRECT in journalled-data mode

We cannot sensibly support O_DIRECT reads or writes when all writes are
journalled.

This is because the VFS explicitly avoids syncing the file metadata during
O_DIRECT reads and writes.  ext3 with journalled data will leave pending
changes in memory and they will overwrite the results of O_DIRECT writes, and
O_DIRECT reads will not return the latest data.

Setting the a_op to null will cause opens and fcntl(F_SETFL) to return
-EINVAL if O_DIRECT is requested.

22 years ago[PATCH] JBD: hold onto j_state_lock after
Andrew Morton [Wed, 18 Jun 2003 01:33:10 +0000 (18:33 -0700)]
[PATCH] JBD: hold onto j_state_lock after

Minro tweak: once log_wait_for_space() has created sufficient space in the
journal to start the new handle, hang onto the spinlock as
start_this_handle() loops around to reevaluate the journal's state.

It prevents anyone else from zooming in and stealing the space we just made.

22 years ago[PATCH] JBD: fix locking around log_start_commit()
Andrew Morton [Wed, 18 Jun 2003 01:33:04 +0000 (18:33 -0700)]
[PATCH] JBD: fix locking around log_start_commit()

There are various places in which JBD is starting a commit against a
transaction without sufficient locking in place to ensure that that
transaction is still alive.

Change it so that log_start_commit() takes a transaction ID instead.  Make
the caller take a copy of that ID inside the appropriate locks.

22 years ago[PATCH] JBD: log_do_checkpoint() locking fixes
Andrew Morton [Wed, 18 Jun 2003 01:32:57 +0000 (18:32 -0700)]
[PATCH] JBD: log_do_checkpoint() locking fixes

log_do_checkpoint is playing around with a transaction pointer without enough
locking to ensure that it is valid.  Fix that up by revalidating the
transaction after acquiring the right locks.

22 years ago[PATCH] ext3: explicitly free truncated pages
Andrew Morton [Wed, 18 Jun 2003 01:32:47 +0000 (18:32 -0700)]
[PATCH] ext3: explicitly free truncated pages

With data=ordered it is often the case that a quick write-and-truncate will
leave large numbers of pages on the page LRU with no ->mapping, and attached
buffers.  Because ext3 was not ready to let the pages go at the time of
truncation.

These pages are trivially reclaimable, but their seeming absence makes the VM
overcommit accounting confused (they don't count as "free", nor as
pagecache).  And they make the /proc/meminfo stats look odd.

So what we do here is to try to strip the buffers from these pages as the
buffers exit the journal commit.

22 years ago[PATCH] JBD: remove j_commit_timer_active
Andrew Morton [Wed, 18 Jun 2003 01:32:40 +0000 (18:32 -0700)]
[PATCH] JBD: remove j_commit_timer_active

This was a flag which said "the transaction's time is active".
timer_pending() could have told us that, but in fact there is no need to
query it at all.

22 years ago[PATCH] ext3: fix data=journal for small blocksize
Andrew Morton [Wed, 18 Jun 2003 01:32:33 +0000 (18:32 -0700)]
[PATCH] ext3: fix data=journal for small blocksize

Fix various problems which cropped up due to MAP_SHARED traffic on
data=journal with blocksize < PAGE_CACHE_SIZE.

All relate to handling the "pending truncate" buffers outside i_size.

22 years ago[PATCH] JBD: fix race between journal_commit_transaction and
Andrew Morton [Wed, 18 Jun 2003 01:32:27 +0000 (18:32 -0700)]
[PATCH] JBD: fix race between journal_commit_transaction and

start_this_handle() can decide to add this handle to a transaction, but
kjournald then moves the handle into commit phase.

Extend the coverage of j_state_lock so that start_this_transaction()'s
examination of journal->j_state is atomic wrt journal_commit_transaction().

22 years ago[PATCH] JBD: journal_dirty_metadata diagnostics
Andrew Morton [Wed, 18 Jun 2003 01:32:20 +0000 (18:32 -0700)]
[PATCH] JBD: journal_dirty_metadata diagnostics

Try to trap some more state when an assertion which cannot happen happens.

22 years ago[PATCH] JBD: journal_dirty_metadata() speedup
Andrew Morton [Wed, 18 Jun 2003 01:32:11 +0000 (18:32 -0700)]
[PATCH] JBD: journal_dirty_metadata() speedup

Before taking the highly-taken j_list_lock, take a peek to seem if this
buffer is already journalled and in the appropriate state.

22 years ago[PATCH] ext3: remove mount-time diagnostic messages
Andrew Morton [Wed, 18 Jun 2003 01:32:05 +0000 (18:32 -0700)]
[PATCH] ext3: remove mount-time diagnostic messages

ext3 no longer keeps the filesystem-wide free blocks counter and free inodes
counter up to date all the time in the superblock.  Because that requires
fs-wide locking.  These counters are only needed at runtime for the Orlov
allocator heuristics, and we are now using a fuzzy per-cpu coutner for that.

These counters are rather unnecessary: the same info is present in the file
allocation maps and inode tables, the group descriptor blocks and the
bitmaps.

e2fsck will be changed to downgrade the seriousness of this inconsistency.

The filesystem _will_ write these numbers out in the superblock on a clean
unmount, based on the sum of the free block and inode counts in the group
descriptors.

22 years ago[PATCH] ext3: Fix leak in ext3_acl_chmod()
Andrew Morton [Wed, 18 Jun 2003 01:31:58 +0000 (18:31 -0700)]
[PATCH] ext3: Fix leak in ext3_acl_chmod()

From: Andreas Gruenbacher <agruen@suse.de>

This function can leak a posix_acl on an error path.

22 years ago[PATCH] ext3: fix error-path handle leak
Andrew Morton [Wed, 18 Jun 2003 01:31:51 +0000 (18:31 -0700)]
[PATCH] ext3: fix error-path handle leak

The ioctl handler can leave a transaction open on an error path.  That
will wedge up the filesystem.

22 years ago[PATCH] ext3: add a dump_stack()
Andrew Morton [Wed, 18 Jun 2003 01:31:46 +0000 (18:31 -0700)]
[PATCH] ext3: add a dump_stack()

add a dump_stack() to a can't-happen path which happened during development.

22 years ago[PATCH] JBD: journal_try_to_free_buffers race fix
Andrew Morton [Wed, 18 Jun 2003 01:31:36 +0000 (18:31 -0700)]
[PATCH] JBD: journal_try_to_free_buffers race fix

There is a race between transaction commit's attempt to free journal_heads
and journal_try_to_free_buffers' attempt.

Fix that by taking a ref against the journal_head in
journal_try_to_free_buffers().

22 years ago[PATCH] ext3: fix data=journal mode
Andrew Morton [Wed, 18 Jun 2003 01:31:29 +0000 (18:31 -0700)]
[PATCH] ext3: fix data=journal mode

ext3's fully data-journalled mode has been broken for a year.  This patch
fixes it up.

The prepare_write/commit_write/writepage implementations have been split up.
Instead of having each function handle all three journalling mode we now have
three separate sets of address_space_operations.

The problematic part of data=journal is MAP_SHARED writepage traffic: pages
which don't have buffers.  In 2.4 these were cheatingly treated as
data-ordered buffers and that caused several nasty problems.

Here we do it properly: writepage traffic is fully journalled.  This means
that the various workarounds for the 2.4 scheme can be removed, when I
remember where they all are.

The PG_checked flag has been borrowed: it it set in the atomic set_page_dirty
a_op to tell the subsequent writepage() that this page needs to have buffers
attached, dirtied and journalled.

This rather defines PG_checked as "fs-private info in page->flags" and it
should be renamed sometime.

22 years ago[PATCH] JBD: do_get_write_access() speedup
Andrew Morton [Wed, 18 Jun 2003 01:31:22 +0000 (18:31 -0700)]
[PATCH] JBD: do_get_write_access() speedup

Avoid holding the journal's j_list_lock while copying the buffer_head's data.
We hold jbd_lock_bh_state() during the copy, which is all that is needed.

22 years ago[PATCH] JBD: fix log_start_commit race
Andrew Morton [Wed, 18 Jun 2003 01:31:15 +0000 (18:31 -0700)]
[PATCH] JBD: fix log_start_commit race

In start_this_handle() the caller does not have a handle ref pinning the
transaction open, and so the call to log_start_commit() is racy because some
other CPU could take the transaction into commit state independently.

Fix that by holding j_state_lock (which pins j_running_transaction) across
the log_start_commit() call.

22 years ago[PATCH] JBD: additional transaction shutdown locking
Andrew Morton [Wed, 18 Jun 2003 01:31:08 +0000 (18:31 -0700)]
[PATCH] JBD: additional transaction shutdown locking

Plug a conceivable race with the freeing up of trasnactions, and add some
more debug checks.

22 years ago[PATCH] JBD: add some locking assertions
Andrew Morton [Wed, 18 Jun 2003 01:30:59 +0000 (18:30 -0700)]
[PATCH] JBD: add some locking assertions

Drop in a few assertions to ensure that the locking rules are being adhered
to.

22 years ago[PATCH] JBD: buffer freeing non-race comment
Andrew Morton [Wed, 18 Jun 2003 01:30:52 +0000 (18:30 -0700)]
[PATCH] JBD: buffer freeing non-race comment

Add a comment describing why a race isn't there.

22 years ago[PATCH] ext3: ext3_writepage race fix
Andrew Morton [Wed, 18 Jun 2003 01:30:45 +0000 (18:30 -0700)]
[PATCH] ext3: ext3_writepage race fix

After ext3_writepage() has called block_write_full_page() it will walk the
page's buffer ring dropping the buffer_head refcounts.

It does this wrong - on the final loop it will dereference the buffer_head
which it just dropped the refcount on.  Poisoned oopses have been seen
against bh->b_this_page.

Change it to take a local copy of b_this_page prior to dropping the bh's
refcount.

22 years ago[PATCH] JBD: journal_unmap_buffer race fix
Andrew Morton [Wed, 18 Jun 2003 01:30:38 +0000 (18:30 -0700)]
[PATCH] JBD: journal_unmap_buffer race fix

We need to check that buffer is still journalled _after_ taking the right
locks.