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:
@@ -204,6 +204,7 @@ void ipv6_sock_ac_close(struct sock *sk);
|
||||
|
||||
int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr);
|
||||
int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr);
|
||||
void ipv6_ac_destroy_dev(struct inet6_dev *idev);
|
||||
bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev,
|
||||
const struct in6_addr *addr);
|
||||
bool ipv6_chk_acast_addr_src(struct net *net, struct net_device *dev,
|
||||
|
||||
@@ -464,6 +464,8 @@ struct hci_conn_params {
|
||||
HCI_AUTO_CONN_ALWAYS,
|
||||
HCI_AUTO_CONN_LINK_LOSS,
|
||||
} auto_connect;
|
||||
|
||||
struct hci_conn *conn;
|
||||
};
|
||||
|
||||
extern struct list_head hci_dev_list;
|
||||
|
||||
+15
-1
@@ -480,6 +480,7 @@ void dst_init(void);
|
||||
/* Flags for xfrm_lookup flags argument. */
|
||||
enum {
|
||||
XFRM_LOOKUP_ICMP = 1 << 0,
|
||||
XFRM_LOOKUP_QUEUE = 1 << 1,
|
||||
};
|
||||
|
||||
struct flowi;
|
||||
@@ -490,7 +491,16 @@ static inline struct dst_entry *xfrm_lookup(struct net *net,
|
||||
int flags)
|
||||
{
|
||||
return dst_orig;
|
||||
}
|
||||
}
|
||||
|
||||
static inline struct dst_entry *xfrm_lookup_route(struct net *net,
|
||||
struct dst_entry *dst_orig,
|
||||
const struct flowi *fl,
|
||||
struct sock *sk,
|
||||
int flags)
|
||||
{
|
||||
return dst_orig;
|
||||
}
|
||||
|
||||
static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst)
|
||||
{
|
||||
@@ -502,6 +512,10 @@ struct dst_entry *xfrm_lookup(struct net *net, struct dst_entry *dst_orig,
|
||||
const struct flowi *fl, struct sock *sk,
|
||||
int flags);
|
||||
|
||||
struct dst_entry *xfrm_lookup_route(struct net *net, struct dst_entry *dst_orig,
|
||||
const struct flowi *fl, struct sock *sk,
|
||||
int flags);
|
||||
|
||||
/* skb attached with this dst needs transformation if dst->xfrm is valid */
|
||||
static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst)
|
||||
{
|
||||
|
||||
@@ -394,4 +394,12 @@ static inline int genl_set_err(struct genl_family *family, struct net *net,
|
||||
return netlink_set_err(net->genl_sock, portid, group, code);
|
||||
}
|
||||
|
||||
static inline int genl_has_listeners(struct genl_family *family,
|
||||
struct sock *sk, unsigned int group)
|
||||
{
|
||||
if (WARN_ON_ONCE(group >= family->n_mcgrps))
|
||||
return -EINVAL;
|
||||
group = family->mcgrp_offset + group;
|
||||
return netlink_has_listeners(sk, group);
|
||||
}
|
||||
#endif /* __NET_GENERIC_NETLINK_H */
|
||||
|
||||
@@ -16,7 +16,6 @@ struct netns_sysctl_lowpan {
|
||||
struct netns_ieee802154_lowpan {
|
||||
struct netns_sysctl_lowpan sysctl;
|
||||
struct netns_frags frags;
|
||||
int max_dsize;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -167,7 +167,7 @@ struct ieee80211_reg_rule {
|
||||
struct ieee80211_regdomain {
|
||||
struct rcu_head rcu_head;
|
||||
u32 n_reg_rules;
|
||||
char alpha2[2];
|
||||
char alpha2[3];
|
||||
enum nl80211_dfs_regions dfs_region;
|
||||
struct ieee80211_reg_rule reg_rules[];
|
||||
};
|
||||
|
||||
@@ -231,7 +231,8 @@ struct qdisc_skb_cb {
|
||||
unsigned int pkt_len;
|
||||
u16 slave_dev_queue_mapping;
|
||||
u16 _pad;
|
||||
unsigned char data[24];
|
||||
#define QDISC_CB_PRIV_LEN 20
|
||||
unsigned char data[QDISC_CB_PRIV_LEN];
|
||||
};
|
||||
|
||||
static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz)
|
||||
|
||||
@@ -320,6 +320,19 @@ static inline sctp_assoc_t sctp_assoc2id(const struct sctp_association *asoc)
|
||||
return asoc ? asoc->assoc_id : 0;
|
||||
}
|
||||
|
||||
static inline enum sctp_sstat_state
|
||||
sctp_assoc_to_state(const struct sctp_association *asoc)
|
||||
{
|
||||
/* SCTP's uapi always had SCTP_EMPTY(=0) as a dummy state, but we
|
||||
* got rid of it in kernel space. Therefore SCTP_CLOSED et al
|
||||
* start at =1 in user space, but actually as =0 in kernel space.
|
||||
* Now that we can not break user space and SCTP_EMPTY is exposed
|
||||
* there, we need to fix it up with an ugly offset not to break
|
||||
* applications. :(
|
||||
*/
|
||||
return asoc->state + 1;
|
||||
}
|
||||
|
||||
/* Look up the association by its id. */
|
||||
struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id);
|
||||
|
||||
|
||||
+1
-3
@@ -2165,9 +2165,7 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb)
|
||||
*/
|
||||
if (sock_flag(sk, SOCK_RCVTSTAMP) ||
|
||||
(sk->sk_tsflags & SOF_TIMESTAMPING_RX_SOFTWARE) ||
|
||||
(kt.tv64 &&
|
||||
(sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE ||
|
||||
skb_shinfo(skb)->tx_flags & SKBTX_ANY_SW_TSTAMP)) ||
|
||||
(kt.tv64 && sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE) ||
|
||||
(hwtstamps->hwtstamp.tv64 &&
|
||||
(sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE)))
|
||||
__sock_recv_timestamp(msg, sk, skb);
|
||||
|
||||
+1
-1
@@ -290,7 +290,7 @@ struct wimax_dev;
|
||||
* This operation has to be synchronous, and return only when the
|
||||
* reset is complete. In case of having had to resort to bus/cold
|
||||
* reset implying a device disconnection, the call is allowed to
|
||||
* return inmediately.
|
||||
* return immediately.
|
||||
* NOTE: wimax_dev->mutex is NOT locked when this op is being
|
||||
* called; however, wimax_dev->mutex_reset IS locked to ensure
|
||||
* serialization of calls to wimax_reset().
|
||||
|
||||
Reference in New Issue
Block a user