Brian King [Wed, 29 Mar 2006 15:37:16 +0000 (09:37 -0600)]
[SCSI] ipr: Disk remove path cleanup
Instead of NULLing the resource entry pointer when a disk
goes away to prevent any new commands being sent to it,
set the adapter resource handle to an invalid value so
new ops getting sent to it will fail with a selection timeout
response. This patch is needed for future SATA patches.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Douglas Gilbert [Tue, 28 Mar 2006 19:48:22 +0000 (14:48 -0500)]
[SCSI] sg: fix leak when dio setup fails
when the sg driver is unable to setup direct IO, free that scatter
gather list prior to falling back to indirect IO
Further to this thread started by Bryan Holty:
http://marc.theaimsgroup.com/?l=linux-scsi&m=
114306885116728&w=2
Here is the reworked patch again. This time it has been
tested with a program provided by Bryan.
Signed-off-by: Douglas Gilbert <dougg@torque.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Mon, 27 Mar 2006 22:45:34 +0000 (16:45 -0600)]
[SCSI] expose sas internal class for the domain transport
necessary to make the domain class use the internal structures
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
KAMEZAWA Hiroyuki [Tue, 28 Mar 2006 22:50:58 +0000 (14:50 -0800)]
[SCSI] for_each_possible_cpu: scsi
for_each_cpu() actually iterates across all possible CPUs. We've had mistakes
in the past where people were using for_each_cpu() where they should have been
iterating across only online or present CPUs. This is inefficient and
possibly buggy.
We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the
future.
This patch replaces for_each_cpu with for_each_possible_cpu.
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Version 2.2.3
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Enable clustering and large transfers
This patch enables clustering and sets max_sectors to 0xffff to enable
reading and writing of large blocks with tapes (and large transfers with
sg). This change is needed after the sg and st drivers started using
chained bios through scsi_request_async() in 2.6.16.
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Simplify error handling
Use wait_for_completion_timeout() instead of using a timer (as
Christoph Hellwig did for aic7xxx).
That lets me eliminate the sym_eh_wait structure; the struct completion,
the old_done pointer and the to_do flag can be folded into the sym_ucmd
(which overrides the scsi_pointer in scsi_cmnd).
The sym_eh_done() function becomes much simpler as the timeout handling
is done in sym_eh_handler() directly.
The host_lock can be unlocked earlier, and I cache the host in
a local variable to make accesses to it quicker.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Allow nvram settings to determine bus mode
The PDC code can set the bus mode, but we were ignoring that setting.
Also move the code that determines bus mode into its own function.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Use SPI messages where possible
Now sym2 is using spi_print_msg, we don't need to have our own messages
for IGNORE WIDE RESIDUE and MODIFY DATA POINTER, so provide the option
of passing NULL for the label.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Disable sym2 driver queueing
Undef SYM_OPT_HANDLE_DEVICE_QUEUEING.
Call sym_put_start_queue instead of sym_start_next_ccbs.
Turn asserts into checks that we can send the command to the adapter,
and return busy from queuecommand if we can't.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Mark div_10M array const
Patch below is one out of a large series to mark kernel data const when
possible, goal is to use .rodata and avoid false sharing
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Simplify error handling a bit
- to_do was never set to SYM_EH_DO_COMPLETE, so remove that code
- move the spinlocks inside the common error handler code path
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Use pcibios_resource_to_bus()
We had our own code (pci_get_base_address()) to get the bus address of
a BAR. We can get this using pcibios_resource_to_bus() instead.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Tue, 28 Mar 2006 16:03:43 +0000 (11:03 -0500)]
[SCSI] Change Kconfig option from IOMAPPED to MMIO
Most of the Kconfig options for switching between IO Port and MMIO
operations use the opposite sense from sym2. Really, this option
should be set at a chipset level rather than per-driver.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Anderson [Mon, 27 Mar 2006 17:37:28 +0000 (09:37 -0800)]
[SCSI] sas transport: ref count update
Fix puts so that release functions will be called.
Signed-off-by: Mike Anderson <andmike@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:37 +0000 (09:44 -0800)]
[SCSI] aacraid: Driver version update
Received from Mark Salyzyn
Fix module param
Update driver version.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:33 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix parenthesis placement error
Received from Mark Salyzyn
On 64 bit machines, when a 32 bit application tries to acquire the AIF,
they will always get and EFAULT error response from the driver.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:29 +0000 (09:44 -0800)]
[SCSI] aacraid: Show max channel and max id is sysfs
Received from Mark Salyzyn
Add max_channel and max_id sysfs parameters.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:26 +0000 (09:44 -0800)]
[SCSI] aacraid: Re-start helper thread if it dies
Received from Mark Salyzyn
Since the helper thread for the driver can be killed unceremoniously by
an application, we detect the loss of the helper and restart it.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:23 +0000 (09:44 -0800)]
[SCSI] aacraid: General driver cleanup
Received from Mark Salyzyn
Remove superfluous code, optimize code, harden code, cast code, correct
some text, use msleep instead of schedule_timeout_interruptible. No
bugs.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:19 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix extra unregister_chrdev
Received from Mark Salyzyn
If there are no aacraid controllers, we do not create the raid
controller chrdev, thus when the driver is unloaded it performs a
superfluous deregistration.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:15 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix error in max_channel field
Received from Mark Salyzyn
The max_channel field is set one too large.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:44:11 +0000 (09:44 -0800)]
[SCSI] aacraid: Error path cleanup
Received from Mark Salyzyn
Some of the error return paths during initialization resulted in a zero
report to caller
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:43:55 +0000 (09:43 -0800)]
[SCSI] aacraid: Add timeout for events
Received from Mark Salyzyn
Plug and play actions resulting from event sequences shall time out if
they take longer than 30 seconds to complete.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:43:40 +0000 (09:43 -0800)]
[SCSI] aacraid: Track command ownership in driver
Received from Mark Salyzyn
The loss of the ownership flags, despite their flaws, in the scsi
command were sorely missed and are reinstated more accurately in the
aacraid driver to track commands and permit us to properly handle error
recovery actions.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 27 Mar 2006 17:43:25 +0000 (09:43 -0800)]
[SCSI] aacraid: Use scmd_ functions
Received from Mark Salyzyn
Clean up the remaining scsi id access methods, drop ID_LUN_TO_CONTAINER
macro.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Sat, 25 Mar 2006 18:57:14 +0000 (03:57 +0900)]
[SCSI] ibmvscsi: convert the ibmvscsi driver to use include/scsi/srp.h
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Dave C Boutcher [Thu, 23 Mar 2006 19:47:07 +0000 (13:47 -0600)]
[SCSI] ibmvscsi: prevent scsi commands being sent in invalid state
There is a window where we can be re-enabling an adapter, but
still allow SCSI commands to be sent to the target. This fix
sets our window (request_limit) to -1 as soon as we know the
adapter is being reenabled, and closes a very teeny tiny
window where we could set the window back to 1 before we
grab a lock.
Signed-off-by: Dave Boutcher <sleddog@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 22 Mar 2006 22:04:38 +0000 (16:04 -0600)]
[SCSI] fix sg leak when scsi_execute_async fails
Doug found a bug where if scsi_execute_async fails, we are leaking
sg resources. scsi_do_req never failed so we did not have to handle
that case before.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Christoph Hellwig [Wed, 22 Mar 2006 16:52:04 +0000 (17:52 +0100)]
[SCSI] unify SCSI_IOCTL_SEND_COMMAND implementations
We currently have two implementations of this obsolete ioctl, one in
the block layer and one in the scsi code. Both of them have drawbacks.
This patch kills the scsi layer version after updating the block version
with the missing bits:
- argument checking
- use scatterlist I/O
- set number of retries based on the submitted command
This is the last user of non-S/G I/O except for the gdth driver, so
getting this in ASAP and through the scsi tree would be nie to kill
the non-S/G I/O path. Jens, what do you think about adding a check
for non-S/G I/O in the midlayer?
Thanks to Or Gerlitz for testing this patch.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Tue, 28 Mar 2006 18:04:40 +0000 (12:04 -0600)]
[SCSI] remove qlogicfc
All participants agree that qla2xxx can now successfully replace this.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Linus Torvalds [Wed, 12 Apr 2006 23:07:54 +0000 (16:07 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices
IB/cache: Use correct pointer to calculate size
IPoIB: Use spin_lock_irq() instead of spin_lock_irqsave()
IPoIB: Close race in ipoib_flush_paths()
IB/mthca: Disable tuning PCI read burst size
IPoIB: Make send and receive queue sizes tunable
IPoIB: Wait for join to finish before freeing mcast struct
IB: simplify static rate encoding
IPoIB: Consolidate private neighbour data handling
IB/srp: Fix memory leak in options parsing
IB/mthca: Always build debugging code unless CONFIG_EMBEDDED=y
IPoIB: Always build debugging code unless CONFIG_EMBEDDED=y
IB/mad: fix oops in cancel_mads
Linus Torvalds [Wed, 12 Apr 2006 22:25:12 +0000 (15:25 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] sata_mv: properly print HC registers
Linus Torvalds [Wed, 12 Apr 2006 22:24:06 +0000 (15:24 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
[PATCH] Use pci_set_consistent_dma_mask in ixgb driver
[PATCH] sky2: bad memory reference on dual port cards
[PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue
[PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt
[PATCH] net drivers: fix section attributes for gcc
[PATCH] remove drivers/net/hydra.h
[PATCH] drivers/net/via-rhine.c: make a function static
[netdrvr b44] trim trailing whitespace
[PATCH] b44: increase version to 1.00
[PATCH] b44: disable default tx pause
[PATCH] via-rhine: execute bounce buffers code on Rhine-I only
[PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun
[PATCH] dlink pci cards using wrong driver
Andreas Schwab [Tue, 28 Mar 2006 16:10:38 +0000 (18:10 +0200)]
[PATCH] Use pci_set_consistent_dma_mask in ixgb driver
The ixgb driver is using pci_alloc_consistent, thus is should also use
pci_set_consistent_dma_mask. This allows the driver to work on SGI
systems.
In case of an error during probing it should also disable the device again.
Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 6 Apr 2006 00:47:15 +0000 (17:47 -0700)]
[PATCH] sky2: bad memory reference on dual port cards
Sky2 driver will oops referencing bad memory if used on
a dual port card. The problem is accessing past end of
MIB counter space.
Applies for both 2.6.17 and 2.6.16 (with fuzz)
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Dale Farnsworth [Wed, 12 Apr 2006 01:24:26 +0000 (18:24 -0700)]
[PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue
After resetting the hardware on a tx_timeout, call netif_wake_queue()
only if we have free tx descriptors.
Also, attempt to recover if mv643xx_eth_start_xmit() is called when
there are fewer free tx descriptors than expected.
The BUG_ON() call we are replacing was hit on a tx_timeout that
called netif_wake_queue(), indirectly via netif_device_attach(),
even though we did not have enough free tx descriptors.
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brent Cook [Wed, 12 Apr 2006 01:23:15 +0000 (18:23 -0700)]
[PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt
Fix the tx interrupt handler to free completed tx descriptors even
when NAPI is enabled. Otherwise, the tx queue would fill up resulting
in poor performance and "NETDEV WATCHDOG: <iface>: transmit timed out"
messages.
Signed-off-by: Brent Cook <bcook@bpointsys.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Randy Dunlap [Tue, 11 Apr 2006 06:22:06 +0000 (23:22 -0700)]
[PATCH] net drivers: fix section attributes for gcc
If CONFIG_HOTPLUG=n, gcc doesn't like some __initdata to be const (rodata)
and other __initdata not const, so make the non-const __initdata const.
gcc errors:
drivers/net/bnx2.c:66: error: version causes a section type conflict
drivers/net/starfire.c:338: error: version causes a section type conflict
drivers/net/typhoon.c:137: error: version causes a section type conflict
drivers/net/natsemi.c:241: error: version causes a section type conflict
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Adrian Bunk [Tue, 11 Apr 2006 06:22:07 +0000 (23:22 -0700)]
[PATCH] remove drivers/net/hydra.h
Remove drivers/net/hydra.h which is both unused and covered by a 4 clause
BSD licence (not by the UCB).
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-By: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Adrian Bunk [Tue, 11 Apr 2006 06:22:21 +0000 (23:22 -0700)]
[PATCH] drivers/net/via-rhine.c: make a function static
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Dan Aloni [Tue, 11 Apr 2006 06:20:22 +0000 (23:20 -0700)]
[PATCH] sata_mv: properly print HC registers
Currently it crashes when trying to dump the registers. This is an obvious
one-liner fix I suppose.
Signed-off-by: Dan Aloni <da-x@monatomic.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 12 Apr 2006 22:04:32 +0000 (18:04 -0400)]
[netdrvr b44] trim trailing whitespace
Gary Zambrano [Mon, 10 Apr 2006 19:05:40 +0000 (12:05 -0700)]
[PATCH] b44: increase version to 1.00
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Gary Zambrano [Mon, 10 Apr 2006 19:02:21 +0000 (12:02 -0700)]
[PATCH] b44: disable default tx pause
Disable default tx pause frame support.
The b44 controller has a bug that generates excessive tx pause
frames.
Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Roger Luethi [Tue, 4 Apr 2006 18:49:16 +0000 (20:49 +0200)]
[PATCH] via-rhine: execute bounce buffers code on Rhine-I only
Patch suggested by Yang Wu (pin xue <pinxue@gmail.com>).
Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Komuro [Sun, 9 Apr 2006 02:21:10 +0000 (11:21 +0900)]
[PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun
Signed-off-by: komurojun-mbn@nifty.com
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Tue, 11 Apr 2006 17:28:21 +0000 (10:28 -0700)]
[PATCH] dlink pci cards using wrong driver
This patch fixes the problem of some Dlink cards picking the wrong
driver. It looks like these cards use Yukon 1 chipset, not Yukon 2.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jack Morgenstein [Tue, 11 Apr 2006 15:16:27 +0000 (18:16 +0300)]
IB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices
The driver allocates SRQ WQEs size with a power of 2 size both for
Tavor and for memfree. For Tavor, however, the hardware only requires
the WQE size to be a multiple of 16, not a power of 2, and the max
number of scatter-gather allowed is reported accordingly by the
firmware (and this is the value currently returned by
ib_query_device() and ibv_query_device()).
If the max number of scatter/gather entries reported by the FW is used
when creating an SRQ, the creation will fail for Tavor, since the
required WQE size will be increased to the next power of 2, which
turns out to be larger than the device permitted max WQE size (which
is not a power of 2).
This patch reduces the reported SRQ max wqe size so that it can be used
successfully in creating an SRQ on Tavor HCAs.
Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Linus Torvalds [Wed, 12 Apr 2006 16:54:39 +0000 (09:54 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c
[WAN]: Remove broken and unmaintained Sangoma drivers.
[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c
[DCCP]: Fix leak in net/dccp/ipv4.c
[BRIDGE]: receive link-local on disabled ports.
[IPv6] reassembly: Always compute hash under the fragment lock.
Rene Herman [Tue, 11 Apr 2006 12:09:37 +0000 (14:09 +0200)]
[ALSA] unregister platform device again if probe was unsuccessful
Unregister the platform device again if the probe was unsuccessful.
This restores the behaviour of not loading the driver on probe() failure.
Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Rene Herman [Tue, 11 Apr 2006 12:08:33 +0000 (14:08 +0200)]
[ALSA] continue on IS_ERR from platform device registration
Continue with the next one on error from device registration.
This would seem the correct thing to do, even if it's not the probe()
error that we're getting.
Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Tue, 11 Apr 2006 09:12:46 +0000 (11:12 +0200)]
[ALSA] sound/core/pcm.c: make snd_pcm_format_name() static
Modules: PCM Midlevel
This patch makes the needlessly global snd_pcm_format_name() static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 10 Apr 2006 17:41:16 +0000 (19:41 +0200)]
[ALSA] ac97 - Add entry for VIA VT1618 codec
Modules: AC97 Codec
Added the missing entry for VIA VT1618 codec.
No particular patch is needed, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 10 Apr 2006 17:09:01 +0000 (19:09 +0200)]
[ALSA] hda-codec - Add support of ASUS U5A with
AD1986A codec
Modules: HDA Codec driver
Add the model entry to support of ASUS U5A with
AD1986A codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eric Sesterhenn [Mon, 10 Apr 2006 12:42:00 +0000 (14:42 +0200)]
[ALSA] Overrun in sound/pci/au88x0/au88x0_pcm.c
Modules: au88x0 driver
since idx is used as an index for vortex_pcm_prettyname[VORTEX_PCM_LAST],
it should not be equal to VORTEX_PCM_LAST. This fixes coverity bug id #572
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Dale Sedivec [Mon, 10 Apr 2006 09:34:44 +0000 (11:34 +0200)]
[ALSA] au88x0 - clean up __devinit/__devexit
Modules: au88x0 driver
Removed all use of __devinit/__devexit and init.h from headers. Any
attributes given in the prototype but not in the function definition have
been moved to the definition.
An exception is vortex_eq_free: I removed the __devexit attribute because
vortex_eq_free is called from vortex_core_shutdown, and
vortex_core_shutdown may be called from __devinit snd_vortex_create.
Compile tested with allyesconfig and allmodconfig.
Signed-off-by: Dale Sedivec <dale@codefu.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Ashley Clark [Mon, 10 Apr 2006 09:31:03 +0000 (11:31 +0200)]
[ALSA] hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707
Modules: HDA Codec driver
This patch adds the entry for the 5-stack pin-config for the STAC
chip on the Intel D945Pvs board with subdevice id 0x0707.
With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm
able to successfully output over the optical port and analog ports.
Signed-off-by: Ashley Clark <aclark@ghoti.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Coywolf Qi Hunt [Mon, 10 Apr 2006 08:47:11 +0000 (10:47 +0200)]
[ALSA] hda-codec - support HP Compaq Presario B2800 laptop with
AD1986A codec
Modules: HDA Codec driver
This adds the support for HP Compaq Presario B2800 laptop with
AD1986A codec.
Signed-off-by: Coywolf Qi Hunt <qiyong@freeforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
James Courtier-Dutton [Sun, 9 Apr 2006 20:45:58 +0000 (22:45 +0200)]
[ALSA] emu10k1: Add some descriptive text.
Modules: EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Takashi Iwai [Thu, 6 Apr 2006 17:59:21 +0000 (19:59 +0200)]
[ALSA] via82xx - Add a dxs entry for ECS K8T890-A
Modules: VIA82xx driver
Added a dxs_support entry for ECS K8T890-A board.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 6 Apr 2006 17:58:43 +0000 (19:58 +0200)]
[ALSA] hda-codec - Add another HP laptop with AD1981HD
Modules: HDA Codec driver
Added the SSID of another HP laptop for the model 'hp' with AD1981HD.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 6 Apr 2006 17:47:42 +0000 (19:47 +0200)]
[ALSA] Fix Oops of PCM OSS emulation
Modules: PCM Midlevel,ALSA<-OSS emulation
Fix Oops of PCM OSS emulation occuring when multiple playback is used.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
OGAWA Hirofumi [Thu, 6 Apr 2006 17:42:40 +0000 (19:42 +0200)]
[ALSA] pcm_oss: fix snd_pcm_oss_release() oops
Modules: ALSA<-OSS emulation
Fix Oops due to a typo in snd_pcm_oss.c.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eric Sesterhenn [Wed, 12 Apr 2006 00:29:17 +0000 (17:29 -0700)]
[ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c
Coverity found some static overruns in isdn_ppp.c (bug id #519) At several
places slot is compared <0 and > ISDN_MAX_CHANNELS and then used to index
ippp_table[ISDN_MAX_CHANNELS] A value of slot = ISDN_MAX_CHANNELS would run
over the end of the array.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Adrian Bunk [Wed, 12 Apr 2006 00:28:33 +0000 (17:28 -0700)]
[WAN]: Remove broken and unmaintained Sangoma drivers.
The in-kernel Sangoma drivers are both not compiling and marked as BROKEN
since at least kernel 2.6.0.
Sangoma offers out-of-tree drivers, and David Mandelstam told me Sangoma
does no longer maintain the in-kernel drivers and prefers to provide them
as a separate installation package.
This patch therefore removes these drivers.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jayachandran C [Wed, 12 Apr 2006 00:25:38 +0000 (17:25 -0700)]
[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c
Allocate an array of 'struct ebt_chainstack *', the current code allocates
array of 'struct ebt_chainstack'.
akpm: converted to use the
foo = alloc(sizeof(*foo))
form. Which would have prevented this from happening in the first place.
akpm: also removed unneeded typecast.
akpm: what on earth is this code doing anyway? cpu_possible_map can be
sparse..
Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Sesterhenn [Mon, 10 Apr 2006 23:43:03 +0000 (16:43 -0700)]
[DCCP]: Fix leak in net/dccp/ipv4.c
we dont free req if we cant parse the options.
This fixes coverity bug id #1046
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Mon, 10 Apr 2006 23:38:47 +0000 (16:38 -0700)]
[BRIDGE]: receive link-local on disabled ports.
This change allows link local packets (like 802.3ad and Spanning Tree
Protocol) to be processed even when the bridge is not using the port.
It fixes the chicken-egg problem for bridging a bonded device, and
may also fix problems with spanning tree failover.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Zach Brown [Mon, 10 Apr 2006 23:05:34 +0000 (16:05 -0700)]
[IPv6] reassembly: Always compute hash under the fragment lock.
This closes a race where an ipq6hashfn() caller could get a hash value
and race with the cycling of the random seed. By the time they got to
the read_lock they'd have a stale hash value and might not find
previous fragments of their datagram.
This matches the previous patch to IPv4.
Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Oleg Nesterov [Tue, 11 Apr 2006 18:18:58 +0000 (22:18 +0400)]
[PATCH] __group_complete_signal: remove bogus BUG_ON
Commit
e56d090310d7625ecb43a1eeebd479f04affb48b
[PATCH] RCU signal handling
made this BUG_ON() unsafe. This code runs under ->siglock,
while switch_exec_pids() takes tasklist_lock.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 11 Apr 2006 13:41:02 +0000 (06:41 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
kconfig: fix typo in change count initialization
kconfig: recenter menuconfig
kconfig: revert conf behaviour change
kconfig: fix default value for choice input
kbuild: fix NULL dereference in scripts/mod/modpost.c
kbuild: fix mode of checkstack.pl and other files.
kbuild: rebuild initramfs if content of initramfs changes
kbuild: properly pass options to hostcc when doing make O=..
kbuild: modules_install for external modules must not remove existing modules
kbuild: fix make dir/
ver_linux: don't print reiser4progs version if none found
kbuild: mips: fix sed regexp to generate asm-offset.h
kbuild: fix building single targets with make O=.. single-target
kbuild: use relative path to -I
kbuild: fix unneeded rebuilds in drivers/net/chelsio after moving source tree
kbuild: fix unneeded rebuilds in drivers/media/video after moving source tree
kbuild: fix garbled text in modules.txt
Linus Torvalds [Tue, 11 Apr 2006 13:40:17 +0000 (06:40 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] Prefetch mmap_sem in ia64_do_page_fault()
[IA64] Failure to resume after INIT in user space
[IA64] Pass more data to the MCA/INIT notify_die hooks
[IA64] always map VGA framebuffer UC, even if it supports WB
[IA64] fix bug in ia64 __mutex_fastpath_trylock
[IA64] for_each_possible_cpu: ia64
[IA64] update HP CSR space discovery via ACPI
[IA64] Wire up new syscalls {set,get}_robust_list
[IA64] 'msg' may be used uninitialized in xpc_initiate_allocate()
[IA64] Wire up new syscall sync_file_range()
mao, bibo [Tue, 11 Apr 2006 10:54:54 +0000 (12:54 +0200)]
[PATCH] x86_64: inline function prefix with __always_inline in vsyscall
In vsyscall function do_vgettimeofday(), some functions are declared as
inlined, which is a hint for gcc to compile the function inlined but it
not forced. Sometimes compiler does not compile the function as
inlined, so here inline is replaced by __always_inline prefix.
It does not happen in gcc compiler actually, but it possibly happens.
Signed-off-by: bibo mao <bibo.mao@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 11 Apr 2006 10:54:51 +0000 (12:54 +0200)]
[PATCH] x86_64: Fix embarassing typo in mmconfig bus check
Surprising that it still worked at all with this - yes it was
tested.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 11 Apr 2006 10:54:48 +0000 (12:54 +0200)]
[PATCH] i386/x86-64: Remove checks for value == NULL in PCI config space access
Nobody should pass NULL here. Could in theory make it a BUG,
but the NULL pointer oops will do as well.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 11 Apr 2006 10:54:45 +0000 (12:54 +0200)]
[PATCH] i386: Remove bogus special case code from AMD core parsing
It's not actually needed and would break non power of two number
of cores.
Follows similar earlier x86-64 patch.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Siddha, Suresh B [Tue, 11 Apr 2006 10:54:42 +0000 (12:54 +0200)]
[PATCH] x86_64: fix sync before RDTSC on Intel cpus
Commit
c818a18146997d1356a4840b0c01f1168c16c8a4 didn't do the expected
thing. This fix will remove the additional sync(cpuid) before RDTSC on
Intel platforms..
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 11 Apr 2006 10:54:39 +0000 (12:54 +0200)]
[PATCH] x86_64: Remove check for canonical RIP
As pointed out by Linus it is useless now because entry.S should
handle it correctly in all cases.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 11 Apr 2006 10:54:36 +0000 (12:54 +0200)]
[PATCH] x86-64/i386: Don't process APICs/IO-APICs in ACPI when APIC is disabled.
When nolapic was passed or the local APIC was disabled
for another reason ACPI would still parse the IO-APICs
until these were explicitely disabled with noapic.
Usually this resulted in a non booting configuration unless
"nolapic noapic" was used.
I also disabled the local APIC parsing in this case, although
that's only cosmetic (suppresses a few printks)
This hopefully makes nolapic work in all cases.
Cc: Len Brown <len.brown@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 11 Apr 2006 13:34:02 +0000 (06:34 -0700)]
Merge branch 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block:
[PATCH] vfs: add splice_write and splice_read to documentation
[PATCH] Remove sys_ prefix of new syscalls from __NR_sys_*
[PATCH] splice: warning fix
[PATCH] another round of fs/pipe.c cleanups
[PATCH] splice: comment styles
[PATCH] splice: add Ingo as addition copyright holder
[PATCH] splice: unlikely() optimizations
[PATCH] splice: speedups and optimizations
[PATCH] pipe.c/fifo.c code cleanups
[PATCH] get rid of the PIPE_*() macros
[PATCH] splice: speedup __generic_file_splice_read
[PATCH] splice: add direct fd <-> fd splicing support
[PATCH] splice: add optional input and output offsets
[PATCH] introduce a "kernel-internal pipe object" abstraction
[PATCH] splice: be smarter about calling do_page_cache_readahead()
[PATCH] splice: optimize the splice buffer mapping
[PATCH] splice: cleanup __generic_file_splice_read()
[PATCH] splice: only call wake_up_interruptible() when we really have to
[PATCH] splice: potential !page dereference
[PATCH] splice: mark the io page as accessed
Matthias Urlichs [Tue, 11 Apr 2006 03:01:44 +0000 (05:01 +0200)]
[PATCH] Overrun in option-card USB driver
Since the arrays are declared as in_urbs[N_IN_URB]
and out_urbs[N_OUT_URB], both for loops go one
over the end of the array. This fixes coverity id #555.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-Off-By: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Tue, 11 Apr 2006 05:55:49 +0000 (22:55 -0700)]
[PATCH] fbdev: Use logo with depth of 4 or less for static pseudocolor
Since the visual STATIC_PSEUDOCOLOR has a read-only colormap, use logos
with 16 colors only since these logos use the console palette. This has a
higher likelihood that the logo will display correctly.
Signed-of-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Tue, 11 Apr 2006 05:55:48 +0000 (22:55 -0700)]
[PATCH] vesafb: Fix incorrect logo colors in x86_64
Bugzilla Bug 6299:
A pixel size of 8 bits produces wrong logo colors in x86_64.
The driver has 2 methods for setting the color map, using the protected
mode interface provided by the video BIOS and directly writing to the VGA
registers. The former is not supported in x86_64 and the latter is enabled
only in i386.
Fix by enabling the latter method in x86_64 only if supported by the BIOS.
If both methods are unsupported, change the visual of vesafb to
STATIC_PSEUDOCOLOR.
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 11 Apr 2006 05:55:47 +0000 (22:55 -0700)]
[PATCH] sparc32 vga support
sparc32 lacks vga.h, so lots of fbdev drivers won't compile. There are no
sparc32 systems with PCI slots, so it's a bit moot.
The patch gives sparc32 a copy of the sparc64 vga.h. It fixes sparc32
allmodconfig without mucking up fbdev Kconfig and gives us wider compile
coverage.
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Acked-by: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 11 Apr 2006 05:55:45 +0000 (22:55 -0700)]
[PATCH] atyfb is bust on sparc32
Heaps of build errors - disable it to keep sparc32 allmodconfig happy.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Adrian Bunk [Tue, 11 Apr 2006 05:55:45 +0000 (22:55 -0700)]
[PATCH] video/aty/atyfb_base.c: fix an off-by-one error
Fix an obvious of-by-one error spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:42 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: grant delegations more frequently
Keep unused openowners around for at least one lease period, to avoid the need
for as many open confirmations and to allow handing out more delegations.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:41 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: limit number of delegations handed out.
It's very easy for the server to DOS itself by just giving out too many
delegations.
For now we just solve the problem with a dumb hard limit. Eventually we'll
want a smarter policy.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:39 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: add missing rpciod_down()
We should be shutting down rpciod for the callback channel when we shut down
the server.
Also note that we do rpciod_up() and create the callback client *before*
setting cb_set--the cb_set only determines whether the initial null was
succesful. So cb_set is not a reliable determiner of whether we need to clean
up, only cb_client is.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:38 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: nfsd4_probe_callback cleanup
Some obvious cleanup.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:37 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: fix laundromat shutdown race
We need to make sure the laundromat work doesn't reschedule itself just when
we try to cancel it. Also, we shouldn't be waiting for it to finish running
while holding the state lock, as that's a potential deadlock.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
J. Bruce Fields [Tue, 11 Apr 2006 05:55:36 +0000 (22:55 -0700)]
[PATCH] knfsd: svcrpc: WARN() instead of returning an error from svc_take_page
Every caller of svc_take_page ignores its return value and assumes it
succeeded. So just WARN() instead of returning an ignored error. This would
have saved some time debugging a recent nfsd4 problem.
If there are still failure cases here, then the result is probably that we
overwrite an earlier part of the reply while xdr-encoding.
While the corrupted reply is a nasty bug, it would be worse to panic here and
create the possibility of a remote DOS; hence WARN() instead of BUG().
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Cc: Ingo Oeser <ioe-lkml@rameria.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:34 +0000 (22:55 -0700)]
[PATCH] knfsd: svcrpc: gss: don't call svc_take_page unnecessarily
We're using svc_take_page here to get another page for the tail in case one
wasn't already allocated. But there isn't always guaranteed to be another
page available.
Also fix a typo that made us check the tail buffer for space when we meant to
be checking the head buffer.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:33 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: fix corruption on readdir encoding with 64k pages
Fix corruption on readdir encoding with 64k pages.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:32 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: fix corruption of returned data when using 64k pages
In v4 we grab an extra page just for the padding of returned data. The
formula that the rpc server uses to allocate pages for the response doesn't
take into account this extra page.
Instead of adjusting those formulae, we adopt the same solution as v2 and v3,
and put the "tail" data in the same page as the "head" data.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:31 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: remove nfsd_setuser from putrootfh
Since nfsd_setuser() is already called from any operation that uses the
current filehandle (because it's called from fh_verify), there's no reason to
call it from putrootfh.
Signed-off-by: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:30 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd: nfsd_setuser doesn't really need to modify rqstp->rq_cred.
In addition to setting the processes filesystem id's, nfsd_setuser also
modifies the value of the rq_cred which stores the id's that originally came
from the rpc call, for example to reflect root squashing.
There's no real reason to do that--the only case where rqstp->rq_cred is
actually used later on is in the NFSv4 SETCLIENTID/SETCLIENTID_CONFIRM
operations, and there the results are the opposite of what we want--those two
operations don't deal with the filesystem at all, they only record the
credentials used with the rpc call for later reference (so that we may require
the same credentials be used on later operations), and the credentials
shouldn't vary just because there was or wasn't a previous operation in the
compound that referred to some export
This fixes a bug which caused mounts from Solaris clients to fail.
Signed-off-by: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:27 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd: oops exporting nonexistent directory
Export a directory that does not exist:
exportfs -orw,fsid=0,insecure,no_subtree_check client:/home/NFS4
Try to mount from client with nfs4. Mount hangs (I'm not sure why -
that's another issue).
While client is hung, back on server
mkdir /home/NFS4
The server panics in dput. I traced the problem back to svc_export_parse()
calling path_release() even though path_lookup() failed (it happens to fill in
the nameidata structure with a negative dentry - so the test after out:
succeeds).
After patching, an recreating the problem, the client mount still takes some
time before finally exiting with a message "couldn't read superblock".
Here is a simple patch to resolve this issue:
Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Tue, 11 Apr 2006 05:55:26 +0000 (22:55 -0700)]
[PATCH] knfsd: nfsd4: fix acl xattr length return
We should be using the length from the second vfs_getxattr, in case it
changed. (Note: there's still a small race here; we could end up returning
-ENOMEM if the length increased between the first and second call. I don't
know whether it's worth spending a lot of effort to fix that.)
This makes XFS ACLs usable on NFS exports, which they currently aren't, since
XFS appears to be returning a too-large value for vfs_getxattr() when it's
passed a NULL buffer. So there's probably an XFS bug here too, though since
getxattr with a NULL buffer is usually used to decide how much memory to
allocate, it may be a fairly harmless bug in most cases.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>