diff options
Diffstat (limited to 'fs/afs/server.c')
| -rw-r--r-- | fs/afs/server.c | 13 | 
1 files changed, 4 insertions, 9 deletions
diff --git a/fs/afs/server.c b/fs/afs/server.c index 9fdc7fe3a7b..f342acf3547 100644 --- a/fs/afs/server.c +++ b/fs/afs/server.c @@ -238,8 +238,8 @@ void afs_put_server(struct afs_server *server)  	if (atomic_read(&server->usage) == 0) {  		list_move_tail(&server->grave, &afs_server_graveyard);  		server->time_of_death = get_seconds(); -		schedule_delayed_work(&afs_server_reaper, -				      afs_server_timeout * HZ); +		queue_delayed_work(afs_wq, &afs_server_reaper, +				   afs_server_timeout * HZ);  	}  	spin_unlock(&afs_server_graveyard_lock);  	_leave(" [dead]"); @@ -285,11 +285,7 @@ static void afs_reap_server(struct work_struct *work)  		expiry = server->time_of_death + afs_server_timeout;  		if (expiry > now) {  			delay = (expiry - now) * HZ; -			if (!schedule_delayed_work(&afs_server_reaper, delay)) { -				cancel_delayed_work(&afs_server_reaper); -				schedule_delayed_work(&afs_server_reaper, -						      delay); -			} +			mod_delayed_work(afs_wq, &afs_server_reaper, delay);  			break;  		} @@ -322,6 +318,5 @@ static void afs_reap_server(struct work_struct *work)  void __exit afs_purge_servers(void)  {  	afs_server_timeout = 0; -	cancel_delayed_work(&afs_server_reaper); -	schedule_delayed_work(&afs_server_reaper, 0); +	mod_delayed_work(afs_wq, &afs_server_reaper, 0);  }  | 
