diff options
author | trasz <trasz@FreeBSD.org> | 2014-10-02 10:37:56 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2014-10-02 10:37:56 +0000 |
commit | d62de4d36dc755efa342fe57f6a5c64a41da7ae7 (patch) | |
tree | 68f5f42ee1754ff342d2e3fe91971bb12419f194 /sys/fs/autofs | |
parent | e281e3d9380a884e071e1570fb57e2d1891da9b0 (diff) | |
download | FreeBSD-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.c | 4 |
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); } /* |