summaryrefslogtreecommitdiffstats
path: root/sys/fs/autofs
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2014-10-02 10:37:56 +0000
committertrasz <trasz@FreeBSD.org>2014-10-02 10:37:56 +0000
commitd62de4d36dc755efa342fe57f6a5c64a41da7ae7 (patch)
tree68f5f42ee1754ff342d2e3fe91971bb12419f194 /sys/fs/autofs
parente281e3d9380a884e071e1570fb57e2d1891da9b0 (diff)
downloadFreeBSD-src-d62de4d36dc755efa342fe57f6a5c64a41da7ae7.zip
FreeBSD-src-d62de4d36dc755efa342fe57f6a5c64a41da7ae7.tar.gz
Call uma_zfree() outside of lock, and improve comment.
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/fs/autofs')
-rw-r--r--sys/fs/autofs/autofs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/autofs/autofs.c b/sys/fs/autofs/autofs.c
index 640e1122..56a17c1 100644
--- a/sys/fs/autofs/autofs.c
+++ b/sys/fs/autofs/autofs.c
@@ -454,13 +454,13 @@ autofs_trigger_one(struct autofs_node *anp,
if (last) {
TAILQ_REMOVE(&autofs_softc->sc_requests, ar, ar_next);
/*
- * XXX: Is it safe?
+ * Unlock the sc_lock, so that autofs_task() can complete.
*/
sx_xunlock(&autofs_softc->sc_lock);
taskqueue_cancel_timeout(taskqueue_thread, &ar->ar_task, NULL);
taskqueue_drain_timeout(taskqueue_thread, &ar->ar_task);
- sx_xlock(&autofs_softc->sc_lock);
uma_zfree(autofs_request_zone, ar);
+ sx_xlock(&autofs_softc->sc_lock);
}
/*
OpenPOWER on IntegriCloud