From 59fa1c4a9f528c2a1556f4b2cd4e055b560c1c0a Mon Sep 17 00:00:00 2001 From: David Howells Date: Thu, 2 Nov 2017 15:27:45 +0000 Subject: afs: Fix server reaping Fix server reaping and make sure it's all done before we start trying to purge cells, given that servers currently pin cells. Signed-off-by: David Howells --- fs/afs/internal.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'fs/afs/internal.h') diff --git a/fs/afs/internal.h b/fs/afs/internal.h index 53bd11d73469..bc9ded443b11 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h @@ -238,7 +238,9 @@ struct afs_net { rwlock_t servers_lock; struct list_head server_graveyard; /* Inactive server LRU list */ spinlock_t server_graveyard_lock; - struct delayed_work server_reaper; + struct timer_list server_timer; + struct work_struct server_reaper; + atomic_t servers_outstanding; /* Misc */ struct proc_dir_entry *proc_afs; /* /proc/net/afs directory */ @@ -700,6 +702,7 @@ do { \ atomic_inc(&(S)->usage); \ } while(0) +extern void afs_server_timer(struct timer_list *); extern struct afs_server *afs_lookup_server(struct afs_cell *, const struct in_addr *); extern struct afs_server *afs_find_server(struct afs_net *, -- cgit v1.2.3