1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-26 18:43:33 -05:00
linux/Documentation/networking
David Howells e122d845a0 Revert "rxrpc: Allow failed client calls to be retried"
The changes introduced to allow rxrpc calls to be retried creates an issue
when it comes to refcounting afs_call structs.  The problem is that when
rxrpc_send_data() queues the last packet for an asynchronous call, the
following sequence can occur:

 (1) The notify_end_tx callback is invoked which causes the state in the
     afs_call to be changed from AFS_CALL_CL_REQUESTING or
     AFS_CALL_SV_REPLYING.

 (2) afs_deliver_to_call() can then process event notifications from rxrpc
     on the async_work queue.

 (3) Delivery of events, such as an abort from the server, can cause the
     afs_call state to be changed to AFS_CALL_COMPLETE on async_work.

 (4) For an asynchronous call, afs_process_async_call() notes that the call
     is complete and tried to clean up all the refs on async_work.

 (5) rxrpc_send_data() might return the amount of data transferred
     (success) or an error - which could in turn reflect a local error or a
     received error.

Synchronising the clean up after rxrpc_kernel_send_data() returns an error
with the asynchronous cleanup is then tricky to get right.

Mostly revert commit c038a58ccf.  The two API
functions the original commit added aren't currently used.  This makes
rxrpc_kernel_send_data() always return successfully if it queued the data
it was given.

Note that this doesn't affect synchronous calls since their Rx notification
function merely pokes a wait queue and does not refcounting.  The
asynchronous call notification function *has* to do refcounting and pass a
ref over the work item to avoid the need to sync the workqueue in call
cleanup.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-01-15 21:33:36 -08:00
..
caif
device_drivers A fairly normal cycle for documentation stuff. We have a new 2018-12-29 11:21:49 -08:00
dsa
mac80211_hwsim
6lowpan.txt
6pack.txt
af_xdp.rst
alias.rst
altera_tse.txt
arcnet-hardware.txt
arcnet.txt
atm.txt
ax25.txt
batman-adv.rst
baycom.txt
bonding.txt
bridge.rst
can.rst
can_ucan_protocol.rst
cdc_mbim.txt
checksum-offloads.txt
conf.py
cops.txt
cxacru-cf.py
cxacru.txt
dccp.txt
dctcp.txt
decnet.txt
defza.txt
devlink-params-bnxt.txt
devlink-params.txt devlink: Add 'fw_load_policy' generic parameter 2018-12-03 13:55:43 -08:00
dns_resolver.txt
driver.txt
eql.txt
failover.rst
fib_trie.txt
filter.txt
fore200e.txt
framerelay.txt
gen_stats.txt
generic-hdlc.txt
generic_netlink.txt
gtp.txt
hinic.txt
ieee802154.txt
ila.txt
index.rst documentation of some IP/ICMP snmp counters 2018-11-11 09:59:02 -08:00
ip-sysctl.txt neighbor: Improve garbage collection 2018-12-07 16:03:10 -08:00
ip_dynaddr.txt
ipddp.txt
iphase.txt
ipsec.txt
ipv6.txt
ipvlan.txt
ipvs-sysctl.txt
kapi.rst
kcm.txt
l2tp.txt
lapb-module.txt
ltpc.txt
mac80211-auth-assoc-deauth.txt
mac80211-injection.txt
mpls-sysctl.txt
msg_zerocopy.rst
multiqueue.txt
net_dim.txt
net_failover.rst
netconsole.txt
netdev-FAQ.rst
netdev-features.txt docs-networking: fix typo in define 2018-11-21 10:30:30 -08:00
netdevices.txt
netfilter-sysctl.txt
netif-msg.txt
nf_conntrack-sysctl.txt netfilter: conntrack: register sysctl table for gre 2018-12-21 00:51:25 +01:00
nf_flowtable.txt
nfc.txt
openvswitch.txt
operstates.txt
packet_mmap.txt
phonet.txt
phy.txt
pktgen.txt
PLIP.txt
ppp_generic.txt
proc_net_tcp.txt
radiotap-headers.txt
ray_cs.txt
rds.txt
regulatory.txt
rxrpc.txt Revert "rxrpc: Allow failed client calls to be retried" 2019-01-15 21:33:36 -08:00
scaling.txt
sctp.txt
secid.txt
seg6-sysctl.txt
segmentation-offloads.txt
skfp.txt
snmp_counter.rst add document for TCP OFO, PAWS and skip ACK counters 2019-01-01 09:51:14 -08:00
strparser.txt
switchdev.txt
tc-actions-env-rules.txt
tcp-thin.txt
team.txt
timestamping.txt
tls.txt
tproxy.txt
tuntap.txt
udplite.txt
vrf.txt net: provide a sysctl raw_l3mdev_accept for raw socket lookup with VRFs 2018-11-07 16:12:38 -08:00
vxlan.txt
x25-iface.txt
x25.txt
xfrm_device.txt net: switch secpath to use skb extension infrastructure 2018-12-19 11:21:38 -08:00
xfrm_proc.txt
xfrm_sync.txt
xfrm_sysctl.txt
z8530book.rst
z8530drv.txt