* Lose the lock but keep the ref.
*/
vn_unlock(*vpp);
+ TAILQ_INSERT_TAIL(&nfs_mountq, nmp, nm_entry);
+ /*
+ * Start the reader and writer threads.
+ */
+ lwkt_create(nfssvc_iod_reader, nmp, &nmp->nm_rxthread,
+ NULL, 0, -1, "nfsiod_rx");
+ lwkt_create(nfssvc_iod_writer, nmp, &nmp->nm_txthread,
+ NULL, 0, -1, "nfsiod_tx");
+
return (0);
bad:
nfs_disconnect(nmp);
nfs_disconnect(nmp);
FREE(nmp->nm_nam, M_SONAME);
+ TAILQ_REMOVE(&nfs_mountq, nmp, nm_entry);
- if ((nmp->nm_flag & NFSMNT_KERB) == 0)
+ if ((nmp->nm_flag & NFSMNT_KERB) == 0) {
+ nfssvc_iod_stop(nmp);
nfs_free_mount(nmp);
+ }
return (0);
}