linux/fs/afs
David Howells 428edade4e afs: Fix CB.CallBack handling
The handling of CB.CallBack messages sent by the fileserver to the client
is broken in that they are currently being processed after the reply has
been transmitted.

This is not what the fileserver expects, however.  It holds up change
visibility until the reply comes so as to maintain cache coherency, and so
expects the client to have to refetch the state on the affected files.

Fix CB.CallBack handling to perform the callback break before sending the
reply.

The fileserver is free to hold up status fetches issued by other threads on
the same client that occur in reponse to the callback until any pending
changes have been committed.

Fixes: d001648ec7 ("rxrpc: Don't expose skbs to in-kernel users [ver #2]")
Signed-off-by: David Howells <dhowells@redhat.com>
2018-05-14 15:15:19 +01:00
..
addr_list.c afs: Fix address list parsing 2018-05-14 13:17:35 +01:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_vl.h afs: Make use of the YFS service upgrade to fully support IPv6 2017-11-13 15:38:19 +00:00
afs.h afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
callback.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
cell.c afs: Implement @cell substitution handling 2018-04-09 21:18:58 +01:00
cmservice.c afs: Fix CB.CallBack handling 2018-05-14 15:15:19 +01:00
dir_edit.c afs: Locally edit directory data for mkdir/create/unlink/... 2018-04-09 21:54:48 +01:00
dir.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
dynroot.c afs: Split the dynroot stuff out and give it its own ops tables 2018-04-09 21:54:00 +01:00
file.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
flock.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
fsclient.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
inode.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
internal.h afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
Kconfig fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
main.c afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
Makefile afs: Locally edit directory data for mkdir/create/unlink/... 2018-04-09 21:54:48 +01:00
misc.c afs: Consolidate abort_to_error translators 2017-11-13 15:38:17 +00:00
mntpt.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
netdevices.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
proc.c afs: Add stats for data transfer operations 2018-04-09 21:54:48 +01:00
rotate.c afs: Fix VNOVOL handling in address rotation 2018-05-14 15:15:18 +01:00
rxrpc.c afs: Fix the handling of an unfound server in CM operations 2018-05-14 15:15:18 +01:00
security.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
server_list.c afs: Fix refcounting in callback registration 2018-05-14 13:17:35 +01:00
server.c afs: Fix afs_find_server search loop 2018-05-14 15:15:18 +01:00
super.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
vlclient.c afs: Trace protocol errors 2018-04-09 21:54:48 +01:00
volume.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
write.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
xattr.c afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00
xdr_fs.h afs: Adjust the directory XDR structures 2018-04-09 21:54:48 +01:00