diff options
author | David Howells <dhowells@redhat.com> | 2017-11-02 15:27:45 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2017-11-13 15:38:16 +0000 |
commit | 59fa1c4a9f528c2a1556f4b2cd4e055b560c1c0a (patch) | |
tree | ca7a896cd83bccf789a1d29791e22d144768ac5e /fs/afs/internal.h | |
parent | e3b2ffe0f0e1471854dc53bb69ff452e65cc88f2 (diff) | |
download | linux-59fa1c4a9f528c2a1556f4b2cd4e055b560c1c0a.tar.gz linux-59fa1c4a9f528c2a1556f4b2cd4e055b560c1c0a.tar.bz2 linux-59fa1c4a9f528c2a1556f4b2cd4e055b560c1c0a.zip |
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 <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r-- | fs/afs/internal.h | 5 |
1 files changed, 4 insertions, 1 deletions
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 *, |