summaryrefslogtreecommitdiffstats
path: root/fs/afs/internal.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2018-05-10 14:12:50 +0100
committerDavid Howells <dhowells@redhat.com>2018-05-14 13:17:35 +0100
commitf2686b09269ec1a6f23028b5675d87c3b4579a4c (patch)
treeb0191fde2c4c0f7aaf2b35354a58c6c2bb0e0c3f /fs/afs/internal.h
parent01fd79e6de74a447c5657913a335d9ce6508cdb1 (diff)
downloadlinux-stable-f2686b09269ec1a6f23028b5675d87c3b4579a4c.tar.gz
linux-stable-f2686b09269ec1a6f23028b5675d87c3b4579a4c.tar.bz2
linux-stable-f2686b09269ec1a6f23028b5675d87c3b4579a4c.zip
afs: Fix giving up callbacks on server destruction
When a server record is destroyed, we want to send a message to the server telling it that we're giving up all the callbacks it has promised us. Apply two fixes to this: (1) Only send the FS.GiveUpAllCallBacks message if we actually got a callback from that server. We assume this to be the case if we performed at least one successful FS operation on that server. (2) Send it to the address last used for that server rather than always picking the first address in the list (which might be unreachable). Fixes: d2ddc776a458 ("afs: Overhaul volume and server record caching and fileserver rotation") Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r--fs/afs/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 468be1e0dffb..8de04b29bec1 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -396,6 +396,7 @@ struct afs_server {
#define AFS_SERVER_FL_PROBED 5 /* The fileserver has been probed */
#define AFS_SERVER_FL_PROBING 6 /* Fileserver is being probed */
#define AFS_SERVER_FL_NO_IBULK 7 /* Fileserver doesn't support FS.InlineBulkStatus */
+#define AFS_SERVER_FL_MAY_HAVE_CB 8 /* May have callbacks on this fileserver */
atomic_t usage;
u32 addr_version; /* Address list version */