Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/isofs/cd9660 Pull up revision 1.43 (requested by scw):



details:   https://anonhg.NetBSD.org/src/rev/450412e8a080
branches:  netbsd-1-4
changeset: 470030:450412e8a080
user:      he <he%NetBSD.org@localhost>
date:      Sat Jan 15 16:48:22 2000 +0000

description:
Pull up revision 1.43 (requested by scw):
  Prevent "panic: lockmgr: locking against myself" when attempting to
  mount a CD-ROM which does not contain a valid iso9660 file system.
  Fixes PR#9058.

diffstat:

 sys/isofs/cd9660/cd9660_vfsops.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (22 lines):

diff -r 427beaf9a1c2 -r 450412e8a080 sys/isofs/cd9660/cd9660_vfsops.c
--- a/sys/isofs/cd9660/cd9660_vfsops.c  Sat Jan 15 16:39:59 2000 +0000
+++ b/sys/isofs/cd9660/cd9660_vfsops.c  Sat Jan 15 16:48:22 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cd9660_vfsops.c,v 1.36.2.1 1999/10/18 05:05:04 cgd Exp $       */
+/*     $NetBSD: cd9660_vfsops.c,v 1.36.2.2 2000/01/15 16:48:22 he Exp $        */
 
 /*-
  * Copyright (c) 1994
@@ -399,8 +399,11 @@
 out:
        if (bp)
                brelse(bp);
-       if (needclose)
+       if (needclose) {
+               vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
                (void)VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, NOCRED, p);
+               VOP_UNLOCK(devvp, 0);
+       }
        if (isomp) {
                free((caddr_t)isomp, M_ISOFSMNT);
                mp->mnt_data = (qaddr_t)0;



Home | Main Index | Thread Index | Old Index