Properly clean out the SI_MOUNTEDON flag iff the mount attempt fails

half the way down.  Otherwise, further attempts to mount the device
will be rejected with BUSY.

IMHO, this flag can completely go away for cd9660.  There's no reason
you need to prevent CDs from being mounted multiple times, and in case
of multisession CDs it can even make sense to mount two different
sessions by the same time (to different mount points, otherwise it
would be pointless ;).
This commit is contained in:
Joerg Wunsch 1997-12-21 21:40:02 +00:00
parent 15ec2a04f8
commit 7301b27b15
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=31929
2 changed files with 4 additions and 2 deletions

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
* $Id: cd9660_vfsops.c,v 1.31 1997/10/16 10:47:43 phk Exp $
* $Id: cd9660_vfsops.c,v 1.32 1997/11/07 08:52:51 phk Exp $
*/
#include <sys/param.h>
@ -436,6 +436,7 @@ iso_mountfs(devvp, mp, p, argp)
return 0;
out:
devvp->v_specflags &= ~SI_MOUNTEDON;
if (bp)
brelse(bp);
if (needclose)

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
* $Id: cd9660_vfsops.c,v 1.31 1997/10/16 10:47:43 phk Exp $
* $Id: cd9660_vfsops.c,v 1.32 1997/11/07 08:52:51 phk Exp $
*/
#include <sys/param.h>
@ -436,6 +436,7 @@ iso_mountfs(devvp, mp, p, argp)
return 0;
out:
devvp->v_specflags &= ~SI_MOUNTEDON;
if (bp)
brelse(bp);
if (needclose)