Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/ufs/lfs Pull up revision 1.39 (requested by wrstuden):



details:   https://anonhg.NetBSD.org/src/rev/dce1da7a077c
branches:  netbsd-1-4
changeset: 469604:dce1da7a077c
user:      he <he%NetBSD.org@localhost>
date:      Tue Oct 19 16:34:04 1999 +0000

description:
Pull up revision 1.39 (requested by wrstuden):
  Catch a few cases missed earlier where we need to lock the vnode before
  calling VOP_CLOSE().

diffstat:

 sys/ufs/lfs/lfs_vfsops.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r e8c383cd782a -r dce1da7a077c sys/ufs/lfs/lfs_vfsops.c
--- a/sys/ufs/lfs/lfs_vfsops.c  Tue Oct 19 16:23:34 1999 +0000
+++ b/sys/ufs/lfs/lfs_vfsops.c  Tue Oct 19 16:34:04 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lfs_vfsops.c,v 1.28.2.1 1999/04/13 21:33:57 perseant Exp $     */
+/*     $NetBSD: lfs_vfsops.c,v 1.28.2.2 1999/10/19 16:34:04 he Exp $   */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -458,7 +458,9 @@
                brelse(bp);
        if (abp)
                brelse(abp);
+       vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
        (void)VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, cred, p);
+       VOP_UNLOCK(devvp, 0);
        if (ump) {
                free(ump->um_lfs, M_UFSMNT);
                free(ump, M_UFSMNT);
@@ -516,9 +518,10 @@
 
        ronly = !fs->lfs_ronly;
        ump->um_devvp->v_specflags &= ~SI_MOUNTEDON;
+       vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
        error = VOP_CLOSE(ump->um_devvp,
            ronly ? FREAD : FREAD|FWRITE, NOCRED, p);
-       vrele(ump->um_devvp);
+       vput(ump->um_devvp);
 
        /* XXX KS - wake up the cleaner so it can die */
        wakeup(&fs->lfs_nextseg);



Home | Main Index | Thread Index | Old Index