Dean Roehrich [Wed, 22 Jun 2005 00:20:44 +0000 (10:20 +1000)]
[XFS] Handle inode semaphores properly for dmapi queues
SGI-PV: 931572
SGI-Modid: xfs-linux-melb:xfs-kern:
189560a
Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:57:57 +0000 (15:57 +1000)]
[XFS] Remove some debugging code from quota syscalls.
SGI-PV: 932952
SGI-Modid: xfs-linux-melb:xfs-kern:22929a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:49:06 +0000 (15:49 +1000)]
[XFS] Merge a few minor fixes to the quota warning code.
SGI-PV: 938145
SGI-Modid: xfs-linux:xfs-kern:22901a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:48:47 +0000 (15:48 +1000)]
[XFS] Merge fixes into realtime quota code, since one/two reported, still
not enabled though.
SGI-PV: 938145
SGI-Modid: xfs-linux:xfs-kern:22900a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:48:04 +0000 (15:48 +1000)]
[XFS] Makes more sense to use the fsxattr interface instead of adding new
ioctls for project IDs.
SGI-PV: 938145
SGI-Modid: xfs-linux:xfs-kern:22899a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:47:39 +0000 (15:47 +1000)]
[XFS] (mostly) remove xfs_inval_cached_pages Since the last round of
direct I/O locking changes it is just a wrapper around
VOP_FLUSHINVAL_PAGES, so it's not nessecary anymore. Keep a simplified
version for kernels < 2.4.22, as these don't have the changed direct I/O
locking.
SGI-PV: 938064
SGI-Modid: xfs-linux:xfs-kern:
194420a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:43:22 +0000 (15:43 +1000)]
[XFS] simplify ASSERT
SGI-PV: 938063
SGI-Modid: xfs-linux:xfs-kern:
194416a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:41:19 +0000 (15:41 +1000)]
[XFS] consolidate extent item freeing
SGI-PV: 938062
SGI-Modid: xfs-linux:xfs-kern:
194415a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:40:48 +0000 (15:40 +1000)]
[XFS] quiesce the filesystem proper when freezing
SGI-PV: 936977
SGI-Modid: xfs-linux:xfs-kern:
193840a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:40:20 +0000 (15:40 +1000)]
[XFS] add XFS_INOBT_IS_FREE_DISK
SGI-PV: 928382
SGI-Modid: xfs-linux:xfs-kern:
193778a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Eric Sandeen [Tue, 21 Jun 2005 05:39:44 +0000 (15:39 +1000)]
[XFS] Fix up some warning fallout from functions made static
SGI-PV: 936255
SGI-Modid: xfs-linux:xfs-kern:
193691a
Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:39:12 +0000 (15:39 +1000)]
[XFS] Add support for project quota inheritance, a merge of Glens changes.
SGI-PV: 932952
SGI-Modid: xfs-linux:xfs-kern:22806a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 05:38:48 +0000 (15:38 +1000)]
[XFS] Add support for project quota, based on Dan Knappes earlier work.
SGI-PV: 932952
SGI-Modid: xfs-linux:xfs-kern:22805a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:38:03 +0000 (15:38 +1000)]
[XFS] remove xfs_incore_relse
SGI-PV: 936977
SGI-Modid: xfs-linux:xfs-kern:
193409a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:37:43 +0000 (15:37 +1000)]
[XFS] simplify XFS_PURGE_INODE
SGI-PV: 936891
SGI-Modid: xfs-linux:xfs-kern:
193408a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:37:17 +0000 (15:37 +1000)]
[XFS] rewrite xfs_iflush_all
SGI-PV: 936890
SGI-Modid: xfs-linux:xfs-kern:
193349a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:36:52 +0000 (15:36 +1000)]
[XFS] mark various symbols static Patch from Adrian Bunk
SGI-PV: 936255
SGI-Modid: xfs-linux:xfs-kern:
192760a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:36:00 +0000 (15:36 +1000)]
[XFS] Remove dead code. Patch from Adrian Bunk
SGI-PV: 936255
SGI-Modid: xfs-linux:xfs-kern:
192759a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:35:24 +0000 (15:35 +1000)]
[XFS] Fix pagebuf slab initialization
SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:
192756a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:33:48 +0000 (15:33 +1000)]
[XFS] fix some more compiler warnings in the vnode tracing code
SGI-PV: 934679
SGI-Modid: xfs-linux:xfs-kern:
192570a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Christoph Hellwig [Tue, 21 Jun 2005 05:14:01 +0000 (15:14 +1000)]
[XFS] rename various pagebuf symbols to xfsbuf
SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:
192348a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Dean Roehrich [Tue, 21 Jun 2005 05:12:20 +0000 (15:12 +1000)]
[XFS] send dmapi events from nopage for mmapped files
SGI-PV: 935317
SGI-Modid: xfs-linux:xfs-kern:
192007a
Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Dean Roehrich [Tue, 21 Jun 2005 04:47:46 +0000 (14:47 +1000)]
[XFS] Undo xfs-linux:xfs-kern:
190622a
SGI-PV: 933551
SGI-Modid: xfs-linux:xfs-kern:
192006a
Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Dean Roehrich [Tue, 21 Jun 2005 04:24:27 +0000 (14:24 +1000)]
[XFS] upate copyrights
SGI-PV: 933765
SGI-Modid: xfs-linux:xfs-kern:
190760a
Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Dean Roehrich [Tue, 21 Jun 2005 04:07:45 +0000 (14:07 +1000)]
[XFS] coordinate mmap calls with xfs_dm_punch_hole
SGI-PV: 933551
SGI-Modid: xfs-linux:xfs-kern:
190622a
Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 21 Jun 2005 03:21:49 +0000 (13:21 +1000)]
[XFS] Add a get/set interface for XFS project identifiers.
SGI-PV: 932952
SGI-Modid: xfs-linux:xfs-kern:21938a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Linus Torvalds [Mon, 20 Jun 2005 18:37:49 +0000 (11:37 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Lennert Buytenhek [Mon, 20 Jun 2005 17:51:08 +0000 (18:51 +0100)]
[PATCH] ARM: 2719/1: enable module support in ixp2000 defconfigs by default
Patch from Lennert Buytenhek
The ixp2000 defconfigs are among the few that do not enable module
support by default. I keep enabling module support by hand for every
new kernel version, so let's just make this change upstream.
Signed-off-by: Lennert Buytenhek
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Richard Purdie [Mon, 20 Jun 2005 17:51:07 +0000 (18:51 +0100)]
[PATCH] ARM: 2716/1: SharpSL Param: Fix typo
Patch from Richard Purdie
Fix typo in sharpsl_param.c so it works correctly on collie.
Signed-off-by: Richard Purdie
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 20 Jun 2005 17:51:07 +0000 (18:51 +0100)]
[PATCH] ARM: 2701/1: free up ixp2000 timer 4 for the watchdog
Patch from Lennert Buytenhek
The IXP2000 has four timers, but if we're on an A-step IXP2800, timer
2 and 3 don't work. We need two timers for timekeeping (one for the
timer interrupt and one for tracking missed jiffies), so on early
IXP2800s we have no other choice but to use timer 1 and 4 for that,
but on all other IXP2000s we'd rather leave timer 4 free since that's
the only timer we can use for the watchdog.
So, on buggy IXP2000s (i.e. the A-step IXP2800) we use timer 4 for
tracking missed jiffies, and on all all non-buggy IXP2000s (i.e.
everything but the A-step IXP2800) we use timer 2.
On a pre-production IXP2800, this patch should print these messages
on boot:
Enabling IXP2800 erratum #25 workaround
Unable to use IXP2000 watchdog due to IXP2800 erratum #25
On any non-buggy IXP2800 (as well as on IXP2400s) you shouldn't see
anything at all, and the watchdog should be usable again.
Signed-off-by: Lennert Buytenhek
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Catalin Marinas [Mon, 20 Jun 2005 17:51:06 +0000 (18:51 +0100)]
[PATCH] ARM: 2693/1: Add PCI support for Versatile/PB
Patch from Catalin Marinas
This patch adds PCI support for the Versatile PB926 platform.
Signed-off-by: Colin King
Signed-off-by: Catalin Marinas
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Bellido Nicolas [Mon, 20 Jun 2005 17:51:05 +0000 (18:51 +0100)]
[PATCH] ARM: 2686/2: AAEC-2000 Core support
Patch from Bellido Nicolas
Core support for AAEC-2000 based platforms.
This is an updated version of the previous patch, and takes
into account Russell's comments.
AAED-2000 default configuration will follow as soon
as some problems with the bootloader are sorted out...
Signed-off-by: Nicolas Bellido
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 17:44:37 +0000 (18:44 +0100)]
[PATCH] ARM: Add iomap support for ARM
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 15:57:17 +0000 (16:57 +0100)]
[PATCH] ARM: Remove nmi_tick() from Integrator.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 15:56:08 +0000 (16:56 +0100)]
[PATCH] ARM: Add missed include for dmabounce.c
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 15:45:32 +0000 (16:45 +0100)]
[PATCH] ARM: Lindent GCC helper functions
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Mon, 20 Jun 2005 15:17:59 +0000 (08:17 -0700)]
Merge /pub/scm/linux/kernel/git/paulus/ppc64-2.6
Russell King [Mon, 20 Jun 2005 14:49:59 +0000 (15:49 +0100)]
[PATCH] ARM: Remove gcc type-isms from GCC helper functions
Convert ugly GCC types to Linux types:
UQImode -> u8
SImode -> s32
USImode -> u32
DImode -> s64
UDImode -> u64
word_type -> int
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 11:56:40 +0000 (12:56 +0100)]
[PATCH] ARM: Remove obsolete arch/arm/kernel/arch.c
This is not used anymore - RiscPC now contains the necessary
supporting code.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
John Rose [Mon, 20 Jun 2005 11:43:48 +0000 (21:43 +1000)]
[PATCH] initialize TCE tables
A fairly recent platform requirement states that the OS must clear the
whole TCE table at setup time, in case firmware left any active
mappings in it. Without this initialization, dynamic bus removes can
fail. Firmware rejects these requests if active mappings still exist
for a slot that has been deallocated by the OS.
Signed-off-by: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Anton Blanchard [Mon, 20 Jun 2005 11:43:15 +0000 (21:43 +1000)]
[PATCH] ppc64: use cpu_has_feature macro
Use the new cpu_has_feature macros instead of open coding it.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Anton Blanchard [Mon, 20 Jun 2005 11:43:07 +0000 (21:43 +1000)]
[PATCH] ppc64: quieten RTAS printks
Some rtasd printks were too loud. They would appear on a quiet boot
even though they were only informational.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Russell King [Mon, 20 Jun 2005 11:31:14 +0000 (12:31 +0100)]
[PATCH] ARM: Ensure DMA-bounced buffers are properly written to RAM
When DMA bounce buffers were unmapped and the data was memcpy'd to
the original buffer, we were not ensuring that the data was written
to RAM. This means that there was the potential for page cache
pages to have different cache states depending whether they've been
bounced or not.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 10:31:09 +0000 (11:31 +0100)]
[PATCH] ARM: Add common CACHE_COLOUR macro
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Jun 2005 08:51:03 +0000 (09:51 +0100)]
[PATCH] ARM: Fix delayed dcache flush for ARMv6 non-aliasing caches
flush_dcache_page() did nothing for these caches, but since they
suffer from I/D cache coherency issues, we need to ensure that data
is written back to RAM.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Mon, 20 Jun 2005 03:58:13 +0000 (20:58 -0700)]
Merge 'scsi-fixes' branch of /linux/kernel/git/jgarzik/misc-2.6
Jeff Garzik [Mon, 20 Jun 2005 01:50:12 +0000 (21:50 -0400)]
aic7xxx/aic79xx_osm: revert completely bogus ahd_linux_queue() patch
Jeff Garzik [Mon, 20 Jun 2005 01:47:56 +0000 (21:47 -0400)]
fc4/fc: fix warnings and errors related to recent SCSI EH updates
Russell King [Sun, 19 Jun 2005 20:50:20 +0000 (21:50 +0100)]
Merge with ../linux-2.6-smp
Linus Torvalds [Sun, 19 Jun 2005 18:53:06 +0000 (11:53 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Russell King [Sun, 19 Jun 2005 18:48:16 +0000 (19:48 +0100)]
[PATCH] ARM SMP: Messages about CPUs should be prefixed by CPU%u
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 19 Jun 2005 18:26:54 +0000 (19:26 +0100)]
Merge with ../linux-2.6-smp
Russell King [Sun, 19 Jun 2005 17:39:33 +0000 (18:39 +0100)]
[PATCH] ARM SMP: Fix PXA/SA11x0 suspend resume crash
We need to re-initialise the stack pointers for undefined, IRQ
and abort mode handlers whenever we resume.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 19 Jun 2005 08:52:07 +0000 (09:52 +0100)]
[PATCH] ARM SMP: Add missed files from Integrator/CP platform
Add missed new files from basic SMP support for the Integrator/CP platform.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David S. Miller [Sun, 19 Jun 2005 06:01:10 +0000 (23:01 -0700)]
[TCP]: Fix sysctl_tcp_low_latency
When enabled, this should disable UCOPY prequeue'ing altogether,
but it does not due to a missing test.
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sun, 19 Jun 2005 06:00:34 +0000 (23:00 -0700)]
[IPV4]: [4/4] signed vs unsigned cleanup in net/ipv4/raw.c
This patch changes the type of the third parameter 'length' of the
raw_send_hdrinc() function from 'int' to 'size_t'.
This makes sense since this function is only ever called from one
location, and the value passed as the third parameter in that location is
itself of type size_t, so this makes the recieving functions parameter
type match. Also, inside raw_send_hdrinc() the 'length' variable is
used in comparisons with unsigned values and passed as parameter to
functions expecting unsigned values (it's used in a single comparison with
a signed value, but that one can never actually be negative so the patch
also casts that one to size_t to stop gcc worrying, and it is passed in a
single instance to memcpy_fromiovecend() which expects a signed int, but
as far as I can see that's not a problem since the value of 'length'
shouldn't ever exceed the value of a signed int).
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sun, 19 Jun 2005 06:00:15 +0000 (23:00 -0700)]
[IPV4]: [3/4] signed vs unsigned cleanup in net/ipv4/raw.c
This patch changes the type of the local variable 'i' in
raw_probe_proto_opt() from 'int' to 'unsigned int'. The only use of 'i' in
this function is as a counter in a for() loop and subsequent index into
the msg->msg_iov[] array.
Since 'i' is compared in a loop to the unsigned variable msg->msg_iovlen
gcc -W generates this warning :
net/ipv4/raw.c:340: warning: comparison between signed and unsigned
Changing 'i' to unsigned silences this warning and is safe since the array
index can never be negative anyway, so unsigned int is the logical type to
use for 'i' and also enables a larger msg_iov[] array (but I don't know if
that will ever matter).
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sun, 19 Jun 2005 06:00:00 +0000 (23:00 -0700)]
[IPV4]: [2/4] signed vs unsigned cleanup in net/ipv4/raw.c
This patch gets rid of the following gcc -W warning in net/ipv4/raw.c :
net/ipv4/raw.c:387: warning: comparison of unsigned expression < 0 is always false
Since 'len' is of type size_t it is unsigned and can thus never be <0, and
since this is obvious from the function declaration just a few lines above
I think it's ok to remove the pointless check for len<0.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sun, 19 Jun 2005 05:59:45 +0000 (22:59 -0700)]
[IPV4]: [1/4] signed vs unsigned cleanup in net/ipv4/raw.c
This patch silences these two gcc -W warnings in net/ipv4/raw.c :
net/ipv4/raw.c:517: warning: signed and unsigned type in conditional expression
net/ipv4/raw.c:613: warning: signed and unsigned type in conditional expression
It doesn't change the behaviour of the code, simply writes the conditional
expression with plain 'if()' syntax instead of '? :' , but since this
breaks it into sepperate statements gcc no longer complains about having
both a signed and unsigned value in the same conditional expression.
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:59:08 +0000 (22:59 -0700)]
[PKT_SCHED]: noop/noqueue qdisc style cleanups
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:58:53 +0000 (22:58 -0700)]
[PKT_SCHED]: Cleanup pfifo_fast qdisc and remove unnecessary code
Removes the skb trimming code which is not needed since we never
touch the skb upon failure. Removes unnecessary initializers,
and simplifies the code a bit.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:58:35 +0000 (22:58 -0700)]
[PKT_SCHED]: Add and use prio2list() in the pfifo_fast qdisc
prio2list() returns the relevant sk_buff_head for the
band specified by the priority for a given skb.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:58:15 +0000 (22:58 -0700)]
[PKT_SCHED]: Transform pfifo_fast to use generic queue management interface
Gives pfifo_fast a byte based backlog.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:58:00 +0000 (22:58 -0700)]
[PKT_SCHED]: Cleanup fifo qdisc and remove unnecessary code
Removes the skb trimming code which is not needed since we never
touch the skb upon failure. Removes unnecessary includes,
initializers, and simplifies the code a bit.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:57:42 +0000 (22:57 -0700)]
[PKT_SCHED]: Transform fifo qdisc to use generic queue management interface
The simplicity of the fifo qdisc allows several qdisc operations to be
redirected to the relevant queue management function directly. Saves
a lot of code lines and gives the pfifo a byte based backlog.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:57:26 +0000 (22:57 -0700)]
[PKT_SCHED]: Generic queue management interface for qdiscs using internal skb queues
Implements an interface to be used by leaf qdiscs maintaining an internal
skb queue. The interface maintains a backlog in bytes additionaly
to the skb_queue_len() maintained by the queue itself. Relevant statistics
get incremented automatically. Every function comes in two variants, one
assuming Qdisc->q is used as queue and the second taking a sk_buff_head
as argument. Be aware that, if you use multiple queues, you still have to
maintain the Qdisc->q.qlen counter yourself.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sun, 19 Jun 2005 05:56:42 +0000 (22:56 -0700)]
[SCTP]: Replace spin_lock_irqsave with spin_lock_bh
This patch replaces the spin_lock_irqsave call on the receive queue
lock in SCTP with spin_lock_bh. Despite the proliferation of
spin_lock_irqsave calls in this stack, it is only entered from the
IPv4/IPv6 stack and user space. That is, it is never entered from
hardirq context.
The call in question is only called from recvmsg which means that
IRQs aren't disabled. Therefore it is safe to replace it with
spin_lock_bh.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sun, 19 Jun 2005 05:56:18 +0000 (22:56 -0700)]
[IPV4/IPV6]: Replace spin_lock_irq with spin_lock_bh
In light of my recent patch to net/ipv4/udp.c that replaced the
spin_lock_irq calls on the receive queue lock with spin_lock_bh,
here is a similar patch for all other occurences of spin_lock_irq
on receive/error queue locks in IPv4 and IPv6.
In these stacks, we know that they can only be entered from user
or softirq context. Therefore it's safe to disable BH only.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Jun 2005 05:55:51 +0000 (22:55 -0700)]
[NETLINK]: Set correct pid for ioctl originating netlink events
This patch ensures that netlink events created as a result of programns
using ioctls (such as ifconfig, route etc) contains the correct PID of
those events.
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Jun 2005 05:55:31 +0000 (22:55 -0700)]
[NETLINK]: Explicit typing
This patch converts "unsigned flags" to use more explict types like u16
instead and incrementally introduces NLMSG_NEW().
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:55:02 +0000 (22:55 -0700)]
[DECNET]: Remove unnecessary initilization of unused variable entries
This patch was supposed to be part of the neighbour tables related
patchset but apparently got lost.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sun, 19 Jun 2005 05:54:36 +0000 (22:54 -0700)]
[IPSEC]: Add XFRMA_SA/XFRMA_POLICY for delete notification
This patch changes the format of the XFRM_MSG_DELSA and
XFRM_MSG_DELPOLICY notification so that the main message
sent is of the same format as that received by the kernel
if the original message was via netlink. This also means
that we won't lose the byid information carried in km_event.
Since this user interface is introduced by Jamal's patch
we can still afford to change it.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Jun 2005 05:54:12 +0000 (22:54 -0700)]
[NETLINK]: Correctly set NLM_F_MULTI without checking the pid
This patch rectifies some rtnetlink message builders that derive the
flags from the pid. It is now explicit like the other cases
which get it right. Also fixes half a dozen dumpers which did not
set NLM_F_MULTI at all.
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:53:48 +0000 (22:53 -0700)]
[NETLINK]: Introduce NLMSG_NEW macro to better handle netlink flags
Introduces a new macro NLMSG_NEW which extends NLMSG_PUT but takes
a flags argument. NLMSG_PUT stays there for compatibility but now
calls NLMSG_NEW with flags == 0. NLMSG_PUT_ANSWER is renamed to
NLMSG_NEW_ANSWER which now also takes a flags argument.
Also converts the users of NLMSG_PUT_ANSWER to use NLMSG_NEW_ANSWER
and fixes the two direct users of __nlmsg_put to either provide
the flags or use NLMSG_NEW(_ANSWER).
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:53:29 +0000 (22:53 -0700)]
[PKT_SCHED]: Logic simplifications and codingstyle/whitespace cleanups
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:53:12 +0000 (22:53 -0700)]
[PKT_SCHED]: Make dsmark use the new dumping macros
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:52:54 +0000 (22:52 -0700)]
[PKT_SCHED]: Fix dsmark to apply changes consistent
Fixes dsmark to do all configuration sanity checks first and
only apply the changes if all of them can be applied without
any errors. Also fixes the weak sanity checks for DSMARK_VALUE
and DSMASK_MASK.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:52:36 +0000 (22:52 -0700)]
[RTNETLINK]: Add RTA_(PUT|GET) shortcuts for u8, u16, and flag
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:52:09 +0000 (22:52 -0700)]
[NEIGH]: Fix use of uninitialized variable when trimming in neightbl_fill_parms
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:51:43 +0000 (22:51 -0700)]
[NETLINK]: Kill bogus NLMSG_SET_MULTIPART uses.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:51:26 +0000 (22:51 -0700)]
[NETLINK]: Fix RTA_NEST_CANCEL().
Only skb_trim() if 'start' is non-NULL.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:51:12 +0000 (22:51 -0700)]
[NEIGHBOUR]: Remove unused fields in struct neigh_parms and neigh_table
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:50:55 +0000 (22:50 -0700)]
[NETLINK]: Neighbour table configuration and statistics via rtnetlink
To retrieve the neighbour tables send RTM_GETNEIGHTBL with the
NLM_F_DUMP flag set. Every neighbour table configuration is
spread over multiple messages to avoid running into message
size limits on systems with many interfaces. The first message
in the sequence transports all not device specific data such as
statistics, configuration, and the default parameter set.
This message is followed by 0..n messages carrying device
specific parameter sets.
Although the ordering should be sufficient, NDTA_NAME can be
used to identify sequences. The initial message can be identified
by checking for NDTA_CONFIG. The device specific messages do
not contain this TLV but have NDTPA_IFINDEX set to the
corresponding interface index.
To change neighbour table attributes, send RTM_SETNEIGHTBL
with NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],
NDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked
otherwise. Device specific parameter sets can be changed by
setting NDTPA_IFINDEX to the interface index of the corresponding
device.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:50:38 +0000 (22:50 -0700)]
[NETLINK] Routing attribute related shortcuts
RTA_GET_U(32|64)(tlv)
Assumes TLV is a u32/u64 field and returns its value.
RTA_GET_[M]SECS(tlv)
Assumes TLV is a u64 and transports jiffies converted
to seconds or milliseconds and returns its value.
RTA_PUT_U(32|64)(skb, type, value)
Appends %value as fixed u32/u64 to %skb as TLV %type.
RTA_PUT_[M]SECS(skb, type, jiffies)
Converts %jiffies to secs/msecs and appends it as u64
to %skb as TLV %type.
RTA_PUT_STRING(skb, type, string)
Appends %NUL terminated %string to %skb as TLV %type.
RTA_NEST(skb, type)
Starts a nested TLV %type and returns the nesting handle.
RTA_NEST_END(skb, nesting_handle)
Finishes the nested TLV %nesting_handle, must be called
symmetric to RTA_NEST(). Returns skb->len
RTA_NEST_CANCEL(skb, nesting_handle)
Cancel the nested TLV %nesting_handle and trim nested TLV
from skb again, returns -1.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 19 Jun 2005 05:50:12 +0000 (22:50 -0700)]
[NETLINK]: New message building macros
NLMSG_PUT_ANSWER(skb, nlcb, type, length)
Start a new netlink message as answer to a request,
returns the message header.
NLMSG_END(skb, nlh)
End a netlink message, fixes total message length,
returns skb->len.
NLMSG_CANCEL(skb, nlh)
Cancel the building process and trim whole message
from skb again, returns -1.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sun, 19 Jun 2005 05:49:40 +0000 (22:49 -0700)]
[NET]: Move sysctl_max_syn_backlog into request_sock.c
This fixes the CONFIG_INET=n build failure noticed
by Andrew Morton.
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo [Sun, 19 Jun 2005 05:48:55 +0000 (22:48 -0700)]
[NET] rename struct tcp_listen_opt to struct listen_sock
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo [Sun, 19 Jun 2005 05:47:59 +0000 (22:47 -0700)]
[NET] Generalise tcp_listen_opt
This chunks out the accept_queue and tcp_listen_opt code and moves
them to net/core/request_sock.c and include/net/request_sock.h, to
make it useful for other transport protocols, DCCP being the first one
to use it.
Next patches will rename tcp_listen_opt to accept_sock and remove the
inline tcp functions that just call a reqsk_queue_ function.
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo [Sun, 19 Jun 2005 05:47:21 +0000 (22:47 -0700)]
[NET] Rename open_request to request_sock
Ok, this one just renames some stuff to have a better namespace and to
dissassociate it from TCP:
struct open_request -> struct request_sock
tcp_openreq_alloc -> reqsk_alloc
tcp_openreq_free -> reqsk_free
tcp_openreq_fastfree -> __reqsk_free
With this most of the infrastructure closely resembles a struct
sock methods subset.
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo [Sun, 19 Jun 2005 05:46:52 +0000 (22:46 -0700)]
[NET] Generalise TCP's struct open_request minisock infrastructure
Kept this first changeset minimal, without changing existing names to
ease peer review.
Basicaly tcp_openreq_alloc now receives the or_calltable, that in turn
has two new members:
->slab, that replaces tcp_openreq_cachep
->obj_size, to inform the size of the openreq descendant for
a specific protocol
The protocol specific fields in struct open_request were moved to a
class hierarchy, with the things that are common to all connection
oriented PF_INET protocols in struct inet_request_sock, the TCP ones
in tcp_request_sock, that is an inet_request_sock, that is an
open_request.
I.e. this uses the same approach used for the struct sock class
hierarchy, with sk_prot indicating if the protocol wants to use the
open_request infrastructure by filling in sk_prot->rsk_prot with an
or_calltable.
Results? Performance is improved and TCP v4 now uses only 64 bytes per
open request minisock, down from 96 without this patch :-)
Next changeset will rename some of the structs, fields and functions
mentioned above, struct or_calltable is way unclear, better name it
struct request_sock_ops, s/struct open_request/struct request_sock/g,
etc.
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo [Sun, 19 Jun 2005 05:46:19 +0000 (22:46 -0700)]
[SLAB] Introduce kmem_cache_name
This is for use with slab users that pass a dynamically allocated slab name in
kmem_cache_create, so that before destroying the slab one can retrieve the name
and free its memory.
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Jun 2005 05:45:56 +0000 (22:45 -0700)]
[IPSEC] Use NLMSG_LENGTH in xfrm_exp_state_notify
Small fixup to use netlink macros instead of hardcoding.
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Sun, 19 Jun 2005 05:45:31 +0000 (22:45 -0700)]
[IPSEC] Fix xfrm_state leaks in error path
Herbert Xu wrote:
> @@ -1254,6 +1326,7 @@ static int pfkey_add(struct sock *sk, st
> if (IS_ERR(x))
> return PTR_ERR(x);
>
> + xfrm_state_hold(x);
This introduces a leak when xfrm_state_add()/xfrm_state_update()
fail. We hold two references (one from xfrm_state_alloc(), one
from xfrm_state_hold()), but only drop one. We need to take the
reference because the reference from xfrm_state_alloc() can
be dropped by __xfrm_state_delete(), so the fix is to drop both
references on error. Same problem in xfrm_user.c.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sun, 19 Jun 2005 05:44:37 +0000 (22:44 -0700)]
[IPSEC] Use XFRM_MSG_* instead of XFRM_SAP_*
This patch removes XFRM_SAP_* and converts them over to XFRM_MSG_*.
The netlink interface is meant to map directly onto the underlying
xfrm subsystem. Therefore rather than using a new independent
representation for the events we can simply use the existing ones
from xfrm_user.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu [Sun, 19 Jun 2005 05:44:18 +0000 (22:44 -0700)]
[IPSEC] Set byid for km_event in xfrm_get_policy
This patch fixes policy deletion in xfrm_user so that it sets
km_event.data.byid. This puts xfrm_user on par with what af_key
does in this case.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu [Sun, 19 Jun 2005 05:44:00 +0000 (22:44 -0700)]
[IPSEC] Turn km_event.data into a union
This patch turns km_event.data into a union. This makes code that
uses it clearer.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu [Sun, 19 Jun 2005 05:43:43 +0000 (22:43 -0700)]
[IPSEC] Fix xfrm to pfkey SA state conversion
This patch adjusts the SA state conversion in af_key such that
XFRM_STATE_ERROR/XFRM_STATE_DEAD will be converted to SADB_STATE_DEAD
instead of SADB_STATE_DYING.
According to RFC 2367, SADB_STATE_DYING SAs can be turned into
mature ones through updating their lifetime settings. Since SAs
which are in the states XFRM_STATE_ERROR/XFRM_STATE_DEAD cannot
be resurrected, this value is unsuitable.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu [Sun, 19 Jun 2005 05:43:22 +0000 (22:43 -0700)]
[IPSEC] Kill spurious hard expire messages
This patch ensures that the hard state/policy expire notifications are
only sent when the state/policy is successfully removed from their
respective tables.
As it is, it's possible for a state/policy to both expire through
reaching a hard limit, as well as being deleted by the user.
Note that this behaviour isn't actually forbidden by RFC 2367.
However, it is a quality of implementation issue.
As an added bonus, the restructuring in this patch will help
eventually in moving the expire notifications from softirq
context into process context, thus improving their reliability.
One important side-effect from this change is that SAs reaching
their hard byte/packet limits are now deleted immediately, just
like SAs that have reached their hard time limits.
Previously they were announced immediately but only deleted after
30 seconds.
This is bad because it prevents the system from issuing an ACQUIRE
command until the existing state was deleted by the user or expires
after the time is up.
In the scenario where the expire notification was lost this introduces
a 30 second delay into the system for no good reason.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Jamal Hadi Salim [Sun, 19 Jun 2005 05:42:13 +0000 (22:42 -0700)]
[IPSEC] Add complete xfrm event notification
Heres the final patch.
What this patch provides
- netlink xfrm events
- ability to have events generated by netlink propagated to pfkey
and vice versa.
- fixes the acquire lets-be-happy-with-one-success issue
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Linus Torvalds [Sat, 18 Jun 2005 23:06:50 +0000 (16:06 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm