diff options
author | trasz <trasz@FreeBSD.org> | 2014-08-31 21:52:26 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2014-08-31 21:52:26 +0000 |
commit | d1036ec04d97c478ac585f50d8d98eb1dfc87c35 (patch) | |
tree | 97b9021d2612250ea283c63dde6541cd516d9709 /sys/fs/autofs/autofs_vfsops.c | |
parent | 2ded039a6da22e85917388ed0b611e4858d05a72 (diff) | |
download | FreeBSD-src-d1036ec04d97c478ac585f50d8d98eb1dfc87c35.zip FreeBSD-src-d1036ec04d97c478ac585f50d8d98eb1dfc87c35.tar.gz |
MFC r270402:
Autofs softc needs to be global anyway, so don't pass it as a local
variable, and don't store in autofs_mount. Also rename it from 'sc'
to 'autofs_softc', since it's global and extern.
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/fs/autofs/autofs_vfsops.c')
-rw-r--r-- | sys/fs/autofs/autofs_vfsops.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/fs/autofs/autofs_vfsops.c b/sys/fs/autofs/autofs_vfsops.c index 74d2334..b289cad 100644 --- a/sys/fs/autofs/autofs_vfsops.c +++ b/sys/fs/autofs/autofs_vfsops.c @@ -48,7 +48,7 @@ static const char *autofs_opts[] = { "from", "master_options", "master_prefix", NULL }; -extern struct autofs_softc *sc; +extern struct autofs_softc *autofs_softc; static int autofs_mount(struct mount *mp) @@ -78,7 +78,6 @@ autofs_mount(struct mount *mp) amp = malloc(sizeof(*amp), M_AUTOFS, M_WAITOK | M_ZERO); mp->mnt_data = amp; amp->am_mp = mp; - amp->am_softc = sc; strlcpy(amp->am_from, from, sizeof(amp->am_from)); strlcpy(amp->am_mountpoint, fspath, sizeof(amp->am_mountpoint)); strlcpy(amp->am_options, options, sizeof(amp->am_options)); @@ -129,8 +128,8 @@ autofs_unmount(struct mount *mp, int mntflags) */ for (;;) { found = false; - sx_xlock(&sc->sc_lock); - TAILQ_FOREACH(ar, &sc->sc_requests, ar_next) { + sx_xlock(&autofs_softc->sc_lock); + TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) { if (ar->ar_mount != amp) continue; ar->ar_error = ENXIO; @@ -138,11 +137,11 @@ autofs_unmount(struct mount *mp, int mntflags) ar->ar_in_progress = false; found = true; } - sx_xunlock(&sc->sc_lock); + sx_xunlock(&autofs_softc->sc_lock); if (found == false) break; - cv_broadcast(&sc->sc_cv); + cv_broadcast(&autofs_softc->sc_cv); pause("autofs_umount", 1); } |