05 Jun, 2008
40 commits
-
When allocating memory for GID_PN nameserver requests, the allocation
function stores the pointer to the mempool, but then overwrites the
pointer via memset. Later, the wrong function to free the memory will
be called, since this is based on the stored pointer.Fix this by first initializing the struct and then storing the pointer.
Signed-off-by: Christof Schmitt
Signed-off-by: Martin Peschke
Signed-off-by: James Bottomley -
Processing of an unsolicted status request can lead to a locking race
of the request_queue's queue_lock during the recreation of the
used up status read request while still in interrupt context
of the response handler.Detaching the 'refill' of the long running status read requests from
the handler to a scheduled work is solving this issue.In addition, each refill-run is trying to re-establish the full amount
of status read requests, which might have failed in earlier runs.Signed-off-by: Swen Schillig
Signed-off-by: Christof Schmitt
Signed-off-by: James Bottomley -
This patch makes the needlessly global struct mpt_proc_root_dir static.
Signed-off-by: Adrian Bunk
Acked-by: "Prakash, Sathya"
Signed-off-by: James Bottomley -
USB sometimes doesn't return an error but instead returns a residue
value indicating part (or all) of the command wasn't completed. So if
the driver _done() error processing indicates the command was fully
processed, subtract off the residue so that this USB error gets
propagated.Cc: Alan Stern
Signed-off-by: James Bottomley -
power.power_state is scheduled for removal. This patch (as1055)
removes all uses of that field from the SCSI mesh driver.Signed-off-by: Alan Stern
Acked-by: Paul Mackerras
Signed-off-by: James Bottomley -
drivers/scsi/aacraid/linit.c:865:9: warning: symbol 'aac_show_serial_number' was not declared. Should it be static?
Signed-off-by: Harvey Harrison
Acked-by: Mark Salyzyn
Signed-off-by: James Bottomley -
Update the documented list of products supported by the aacraid driver.
Signed-off-by: Mark Salyzyn
Signed-off-by: James Bottomley -
The latency information is provided on a SCSI device level (LUN)
which can be found at the following location/sys/class/scsi_device//device/cmd_latency
/sys/class/scsi_device//device/read_latency
/sys/class/scsi_device//device/write_latencyEach sysfs attribute provides the available data: min, max and sum for
fabric and channel latency and the number of requests processed.An overrun of the variables is neither detected nor treated. The file
has to be read twice to make a meaningful statement, because only the
differences of the values between the two reads can be used. A reset
of the values can be achieved by writing to the attribute.Signed-off-by: Swen Schillig
Signed-off-by: Christof Schmitt
Signed-off-by: James Bottomley -
Add the infrastructure to retrieve the fabric and channel latencies
from FSF commands for each SCSI command that has been processed. For
each unit, the sum, min, max and number of requests is tracked.Signed-off-by: Swen Schillig
Signed-off-by: Christof Schmitt
Signed-off-by: James Bottomley -
This patch just removes infrastructure that provided support for hardware
handlers in the dm layer as it is not needed anymore.Signed-off-by: Chandra Seetharaman
Acked-by: Alasdair G Kergon
Signed-off-by: James Bottomley -
This patch removes the 3 hardware handlers that currently exist
under dm as the functionality is moved to SCSI layer in the earlier
patches.[jejb: removed more makefile hunks and rejection fixes]
Signed-off-by: Chandra Seetharaman
Acked-by: Alasdair G Kergon
Signed-off-by: James Bottomley -
This patch just removes the dm layer's path initialization completion
routine. This is separated from the other patch(scsi_dh: Use SCSI
device handler in dm-multipath) Just to make that patch more readable.Signed-off-by: Chandra Seetharaman
Acked-by: Alasdair G Kergon
Signed-off-by: James Bottomley -
Before this patch set (SCSI hardware handlers), initialization of a
path was done asynchronously. Doing that requires a workqueue in each
device/hardware handler module and leads to unneccessary complication
in the device handler code, making it difficult to read the code and
follow the state diagram.Moving that workqueue to this level makes the device handler code simpler.
Hence, the workqueue is moved to dm level.A new workqueue is added instead of adding it to the existing workqueue
(kmpathd) for the following reasons:
1. Device activation has to happen faster, stacking them along
with the other workqueue might lead to unnecessary delay
in the activation of the path.
2. The effect could be felt the other way too. i.e the current
events that are handled by the existing workqueue might get
a delayed response.Signed-off-by: Chandra Seetharaman
Acked-by: Alasdair G Kergon
Signed-off-by: James Bottomley -
This patch converts dm-mpath to use scsi device handlers instead of
dm's hardware handlers.This patch does not add any new functionality. Old behaviors remain and
userspace tools work as is except that arguments supplied with hardware
handler are ignored.One behavioral exception is: Activation of a path is synchronous in this
patch, opposed to the older behavior of being asynchronous (changed in
patch 07: scsi_dh: Add a single threaded workqueue for initializing a path)Note: There is no need to get a reference for the device handler module
(as it was done in the dm hardware handler case) here as the reference
is held when the device was first found. Instead we check and make sure
that support for the specified device is present at table load time.Signed-off-by: Chandra Seetharaman
Signed-off-by: Mike Christie
Acked-by: Alasdair G Kergon
Signed-off-by: James Bottomley -
This adds support for EMC Clariions. This patch has the features that
currently exists in mainline and advanced features from Ed's patches.Signed-off-by: Chandra Seetharaman
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
This patch provides the device handler to support the older hp boxes
which cannot be upgraded.Signed-off-by: Mike Christie
Signed-off-by: Chandra Seetharaman
Signed-off-by: James Bottomley -
This patch provides the device handler to support the LSI RDAC SCSI
based storage devices.Signed-off-by: Chandra Seetharaman
Signed-off-by: James Bottomley -
Some of the storage devices (that can be accessed through multiple paths),
do need some special handling for
1. Activating the passive path of the storage access.
2. Decode and handle the special sense codes returned by the devices.
3. Handle the I/Os being sent to the passive path, especially
during the device probe time.
when accessed through multiple paths.As of today this special device handling is done at the dm-multipath
layer using dm-handlers. That works well for (1); for (2) to be handled
at dm layer, scsi sense information need to be exported from SCSI to dm-layer,
which is not very attractive; (3) cannot be done at all at the dm layer.Device handler has been moved to SCSI mainly to handle (2) and (3) properly.
Signed-off-by: Chandra Seetharaman
Signed-off-by: Mike Anderson
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)
l2tp: Fix possible oops if transmitting or receiving when tunnel goes down
tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits.
tcp: Increment OUTRSTS in tcp_send_active_reset()
raw: Raw socket leak.
lt2p: Fix possible WARN_ON from socket code when UDP socket is closed
USB ID for Philips CPWUA054/00 Wireless USB Adapter 11g
ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable
libertas: fix command size for CMD_802_11_SUBSCRIBE_EVENT
ipw2200: expire and use oldest BSS on adhoc create
airo warning fix
b43legacy: Fix controller restart crash
sctp: Fix ECN markings for IPv6
sctp: Flush the queue only once during fast retransmit.
sctp: Start T3-RTX timer when fast retransmitting lowest TSN
sctp: Correctly implement Fast Recovery cwnd manipulations.
sctp: Move sctp_v4_dst_saddr out of loop
sctp: retran_path update bug fix
tcp: fix skb vs fack_count out-of-sync condition
sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags.
xfrm: xfrm_algo: correct usage of RIPEMD-160
... -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc: switch /proc/led to seq_file
sparc64: IO accessors fix -
Some problems have been experienced in the field which cause an oops
in the pppol2tp driver if L2TP tunnels fail while passing data.The pppol2tp driver uses private data that is referenced via the
sk->sk_user_data of its UDP and PPPoL2TP sockets. This patch makes
sure that the driver uses sock_hold() when it holds a reference to the
sk pointer. This affects its sendmsg(), recvmsg(), getname(),
[gs]etsockopt() and ioctl() handlers.Tested by ISP where problem was seen. System has been up 10 days with
no oops since running this patch. Without the patch, an oops would
occur every 1-2 days.Signed-off-by: James Chapman
Signed-off-by: David S. Miller -
skb_splice_bits temporary drops the socket lock while iterating over
the socket queue in order to break a reverse locking condition which
happens with sendfile. This, however, opens a window of opportunity
for tcp_collapse() to aggregate skbs and thus potentially free the
current skb used in skb_splice_bits and tcp_read_sock.This patch fixes the problem by (re-)getting the same "logical skb"
after the lock has been temporary dropped.Based on idea and initial patch from Evgeniy Polyakov.
Signed-off-by: Octavian Purdila
Acked-by: Evgeniy Polyakov
Signed-off-by: David S. Miller -
TCP "resets sent" counter is not incremented when a TCP Reset is
sent via tcp_send_active_reset().Signed-off-by: Sridhar Samudrala
Signed-off-by: David S. Miller -
The program below just leaks the raw kernel socket
int main() {
int fd = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
struct sockaddr_in addr;memset(&addr, 0, sizeof(addr));
inet_aton("127.0.0.1", &addr.sin_addr);
addr.sin_family = AF_INET;
addr.sin_port = htons(2048);
sendto(fd, "a", 1, MSG_MORE, &addr, sizeof(addr));
return 0;
}Corked packet is allocated via sock_wmalloc which holds the owner socket,
so one should uncork it and flush all pending data on close. Do this in the
same way as in UDP.Signed-off-by: Denis V. Lunev
Acked-by: Alexey Kuznetsov
Signed-off-by: David S. Miller -
If an L2TP daemon closes a tunnel socket while packets are queued in
the tunnel's reorder queue, a kernel warning is logged because the
socket is closed while skbs are still referencing it. The fix is to
purge the queue in the socket's release handler.WARNING: at include/net/sock.h:351 udp_lib_unhash+0x41/0x68()
Pid: 12998, comm: openl2tpd Not tainted 2.6.25 #8
[] warn_on_slowpath+0x41/0x51
[] udp_lib_unhash+0x41/0x68
[] sk_common_release+0x23/0x90
[] udp_lib_close+0x8/0xa
[] inet_release+0x42/0x48
[] sock_release+0x14/0x60
[] sock_close+0x29/0x30
[] __fput+0xad/0x15b
[] fput+0x17/0x19
[] filp_close+0x50/0x5a
[] sys_close+0x69/0x9f
[] syscall_call+0x7/0xbSigned-off-by: James Chapman
Signed-off-by: David S. Miller -
Enable the Philips CPWUA054/00 in p54usb.
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: John W. Linville -
This fixes a context assertion in ssb that makes b44 print
out warnings on resume.This fixes the following kernel oops:
http://www.kerneloops.org/oops.php?number=12732
http://www.kerneloops.org/oops.php?number=11410Signed-off-by: Michael Buesch
Signed-off-by: John W. Linville -
The size was two small by two bytes.
Signed-off-by: Holger Schurig
Signed-off-by: John W. Linville -
If there are no networks on the free list, expire the oldest one when
creating a new adhoc network. Because ipw2200 and the ieee80211 stack
don't actually cull old networks and place them back on the free list
unless they are needed for new probe responses, over time the free list
would become empty and creating an adhoc network would fail due to the !
list_empty(...) check.Signed-off-by: Dan Williams
Signed-off-by: John W. Linville -
WARNING: space prohibited between function name and open parenthesis '('
#22: FILE: drivers/net/wireless/airo.c:2907:
+ while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) && (delay < 10000)) {total: 0 errors, 1 warnings, 8 lines checked
./patches/wireless-airo-waitbusy-wont-delay.patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.Please run checkpatch prior to sending patches
Cc: Dan Williams
Cc: Roel Kluin
Signed-off-by: Andrew Morton
Signed-off-by: John W. Linville -
This fixes a kernel crash on rmmod, in the case where the controller
was restarted before doing the rmmod.Signed-off-by: Michael Buesch
Signed-off-by: John W. Linville -
Commit e9df2e8fd8fbc95c57dbd1d33dada66c4627b44c ("[IPV6]: Use
appropriate sock tclass setting for routing lookup.") also changed the
way that ECN capable transports mark this capability in IPv6. As a
result, SCTP was not marking ECN capablity because the traffic class
was never set. This patch brings back the markings for IPv6 traffic.Signed-off-by: Vlad Yasevich
Signed-off-by: David S. Miller -
When fast retransmit is triggered by a sack, we should flush the queue
only once so that only 1 retransmit happens. Also, since we could
potentially have non-fast-rtx chunks on the retransmit queue, we need
make sure any chunks eligable for fast retransmit are sent first
during fast retransmission.Signed-off-by: Vlad Yasevich
Tested-by: Wei Yongjun
Signed-off-by: David S. Miller -
When we are trying to fast retransmit the lowest outstanding TSN, we
need to restart the T3-RTX timer, so that subsequent timeouts will
correctly tag all the packets necessary for retransmissions.Signed-off-by: Vlad Yasevich
Tested-by: Wei Yongjun
Signed-off-by: David S. Miller -
Correctly keep track of Fast Recovery state and do not reduce
congestion window multiple times during sucht state.Signed-off-by: Vlad Yasevich
Tested-by: Wei Yongjun
Signed-off-by: David S. Miller -
There's no need to execute sctp_v4_dst_saddr() for each
iteration, just move it out of loop.Signed-off-by: Gui Jianfeng
Signed-off-by: Vlad Yasevich
Signed-off-by: David S. Miller -
If the current retran_path is the only active one, it should
update it to the the next inactive one.Signed-off-by: Gui Jianfeng
Signed-off-by: Vlad Yasevich
Signed-off-by: David S. Miller