Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block into for-3.18
This is to receive 0a30288da1
("blk-mq, percpu_ref: implement a
kludge for SCSI blk-mq stall during probe") which implements
__percpu_ref_kill_expedited() to work around SCSI blk-mq stall. The
commit reverted and patches to implement proper fix will be added.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
This commit is contained in:
commit
d06efebf0c
1301 changed files with 15947 additions and 7921 deletions
|
@ -813,6 +813,7 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
|
|||
else {
|
||||
dst_release(transport->dst);
|
||||
transport->dst = NULL;
|
||||
ulp_notify = false;
|
||||
}
|
||||
|
||||
spc_state = SCTP_ADDR_UNREACHABLE;
|
||||
|
@ -1244,7 +1245,7 @@ static struct sctp_transport *sctp_trans_elect_best(struct sctp_transport *curr,
|
|||
{
|
||||
u8 score_curr, score_best;
|
||||
|
||||
if (best == NULL)
|
||||
if (best == NULL || curr == best)
|
||||
return curr;
|
||||
|
||||
score_curr = sctp_trans_score(curr);
|
||||
|
@ -1355,14 +1356,11 @@ static void sctp_select_active_and_retran_path(struct sctp_association *asoc)
|
|||
trans_sec = trans_pri;
|
||||
|
||||
/* If we failed to find a usable transport, just camp on the
|
||||
* primary or retran, even if they are inactive, if possible
|
||||
* pick a PF iff it's the better choice.
|
||||
* active or pick a PF iff it's the better choice.
|
||||
*/
|
||||
if (trans_pri == NULL) {
|
||||
trans_pri = sctp_trans_elect_best(asoc->peer.primary_path,
|
||||
asoc->peer.retran_path);
|
||||
trans_pri = sctp_trans_elect_best(trans_pri, trans_pf);
|
||||
trans_sec = asoc->peer.primary_path;
|
||||
trans_pri = sctp_trans_elect_best(asoc->peer.active_path, trans_pf);
|
||||
trans_sec = trans_pri;
|
||||
}
|
||||
|
||||
/* Set the active and retran transports. */
|
||||
|
|
|
@ -4243,7 +4243,7 @@ static int sctp_getsockopt_sctp_status(struct sock *sk, int len,
|
|||
transport = asoc->peer.primary_path;
|
||||
|
||||
status.sstat_assoc_id = sctp_assoc2id(asoc);
|
||||
status.sstat_state = asoc->state;
|
||||
status.sstat_state = sctp_assoc_to_state(asoc);
|
||||
status.sstat_rwnd = asoc->peer.rwnd;
|
||||
status.sstat_unackdata = asoc->unack_data;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue