Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/fs/smbfs update for changed locking requirements for smb...



details:   https://anonhg.NetBSD.org/src/rev/5c71efb191ab
branches:  trunk
changeset: 543393:5c71efb191ab
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Mon Feb 24 09:57:31 2003 +0000

description:
update for changed locking requirements for smb_share_put()

diffstat:

 sys/fs/smbfs/smbfs_vfsops.c |  9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diffs (38 lines):

diff -r 39307d93d496 -r 5c71efb191ab sys/fs/smbfs/smbfs_vfsops.c
--- a/sys/fs/smbfs/smbfs_vfsops.c       Mon Feb 24 09:55:37 2003 +0000
+++ b/sys/fs/smbfs/smbfs_vfsops.c       Mon Feb 24 09:57:31 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: smbfs_vfsops.c,v 1.15 2003/02/24 09:30:43 jdolecek Exp $       */
+/*     $NetBSD: smbfs_vfsops.c,v 1.16 2003/02/24 09:57:31 jdolecek Exp $       */
 
 /*
  * Copyright (c) 2000-2001, Boris Popov
@@ -146,7 +146,7 @@
        error = smb_dev2share(args.dev_fd, SMBM_EXEC, &scred, &ssp);
        if (error)
                return error;
-       smb_share_unlock(ssp, 0);
+       smb_share_unlock(ssp, 0);       /* keep ref, but unlock */
        vcp = SSTOVC(ssp);
        mp->mnt_stat.f_iosize = vcp->vc_txmax;
 
@@ -199,8 +199,10 @@
 #endif
                free(smp, M_SMBFSDATA);
        }
-       if (ssp)
+       if (ssp) {
+               smb_share_lock(smp->sm_share, 0);
                smb_share_put(ssp, &scred);
+       }
         return error;
 }
 
@@ -229,6 +231,7 @@
        }
 
        smb_makescred(&scred, p, p->p_ucred);
+       smb_share_lock(smp->sm_share, 0);
        smb_share_put(smp->sm_share, &scred);
        mp->mnt_data = NULL;
 



Home | Main Index | Thread Index | Old Index