diff options
Diffstat (limited to 'fs/afs/vlocation.c')
-rw-r--r-- | fs/afs/vlocation.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/fs/afs/vlocation.c b/fs/afs/vlocation.c index 431984d2e372..57bcb1596530 100644 --- a/fs/afs/vlocation.c +++ b/fs/afs/vlocation.c | |||
@@ -561,12 +561,7 @@ static void afs_vlocation_reaper(struct work_struct *work) | |||
561 | if (expiry > now) { | 561 | if (expiry > now) { |
562 | delay = (expiry - now) * HZ; | 562 | delay = (expiry - now) * HZ; |
563 | _debug("delay %lu", delay); | 563 | _debug("delay %lu", delay); |
564 | if (!queue_delayed_work(afs_wq, &afs_vlocation_reap, | 564 | mod_delayed_work(afs_wq, &afs_vlocation_reap, delay); |
565 | delay)) { | ||
566 | cancel_delayed_work(&afs_vlocation_reap); | ||
567 | queue_delayed_work(afs_wq, &afs_vlocation_reap, | ||
568 | delay); | ||
569 | } | ||
570 | break; | 565 | break; |
571 | } | 566 | } |
572 | 567 | ||
@@ -614,13 +609,10 @@ void afs_vlocation_purge(void) | |||
614 | spin_lock(&afs_vlocation_updates_lock); | 609 | spin_lock(&afs_vlocation_updates_lock); |
615 | list_del_init(&afs_vlocation_updates); | 610 | list_del_init(&afs_vlocation_updates); |
616 | spin_unlock(&afs_vlocation_updates_lock); | 611 | spin_unlock(&afs_vlocation_updates_lock); |
617 | cancel_delayed_work(&afs_vlocation_update); | 612 | mod_delayed_work(afs_vlocation_update_worker, &afs_vlocation_update, 0); |
618 | queue_delayed_work(afs_vlocation_update_worker, | ||
619 | &afs_vlocation_update, 0); | ||
620 | destroy_workqueue(afs_vlocation_update_worker); | 613 | destroy_workqueue(afs_vlocation_update_worker); |
621 | 614 | ||
622 | cancel_delayed_work(&afs_vlocation_reap); | 615 | mod_delayed_work(afs_wq, &afs_vlocation_reap, 0); |
623 | queue_delayed_work(afs_wq, &afs_vlocation_reap, 0); | ||
624 | } | 616 | } |
625 | 617 | ||
626 | /* | 618 | /* |