From c2134f4017f9fbae7b1bb8b16b2b7cfc250646c3 Mon Sep 17 00:00:00 2001 From: tjr Date: Sat, 10 Jan 2004 03:45:30 +0000 Subject: Restore closing of SMB find handle in smbfs_close(). --- sys/fs/smbfs/smbfs_vnops.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 928a77a..e9fc5a8 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -241,6 +241,8 @@ smbfs_close(ap) { struct vnode *vp = ap->a_vp; struct thread *td = ap->a_td; + struct smbnode *np = VTOSMB(vp); + struct smb_cred scred; int dolock; VI_LOCK(vp); @@ -249,7 +251,12 @@ smbfs_close(ap) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY | LK_INTERLOCK, td); else VI_UNLOCK(vp); - /* Nothing. */ + if (vp->v_type == VDIR && (np->n_flag & NOPEN) != 0 && + np->n_dirseq != NULL) { + smb_makescred(&scred, td, ap->a_cred); + smbfs_findclose(np->n_dirseq, &scred); + np->n_dirseq = NULL; + } if (dolock) VOP_UNLOCK(vp, 0, td); return 0; -- cgit v1.1