Diff for /src/sys/vfs/msdosfs/msdosfs_vfsops.c between versions 1.14 and 1.15

version 1.14, 2004/05/03 19:08:08 version 1.15, 2004/05/19 22:53:05
Line 362  mountmsdosfs(struct vnode *devvp, struct Line 362  mountmsdosfs(struct vnode *devvp, struct
 {  {
         struct msdosfsmount *pmp;          struct msdosfsmount *pmp;
         struct buf *bp;          struct buf *bp;
        dev_t dev = devvp->v_rdev;        dev_t dev;
 #ifndef __DragonFly__  #ifndef __DragonFly__
         struct partinfo dpart;          struct partinfo dpart;
         int bsize = 0, dtype = 0, tmp;          int bsize = 0, dtype = 0, tmp;
Line 384  mountmsdosfs(struct vnode *devvp, struct Line 384  mountmsdosfs(struct vnode *devvp, struct
         error = vfs_mountedon(devvp);          error = vfs_mountedon(devvp);
         if (error)          if (error)
                 return (error);                  return (error);
        if (vcount(devvp) > 1 && devvp != rootvp)        if (count_udev(devvp) > 0 && devvp != rootvp)
                 return (EBUSY);                  return (EBUSY);
         vn_lock(devvp, NULL, LK_EXCLUSIVE | LK_RETRY, td);          vn_lock(devvp, NULL, LK_EXCLUSIVE | LK_RETRY, td);
         error = vinvalbuf(devvp, V_SAVE, td, 0, 0);          error = vinvalbuf(devvp, V_SAVE, td, 0, 0);
Line 398  mountmsdosfs(struct vnode *devvp, struct Line 398  mountmsdosfs(struct vnode *devvp, struct
         VOP_UNLOCK(devvp, NULL, 0, td);          VOP_UNLOCK(devvp, NULL, 0, td);
         if (error)          if (error)
                 return (error);                  return (error);
        dev = devvp->v_rdev;
         bp  = NULL; /* both used in error_exit */          bp  = NULL; /* both used in error_exit */
         pmp = NULL;          pmp = NULL;
   
Line 725  mountmsdosfs(struct vnode *devvp, struct Line 725  mountmsdosfs(struct vnode *devvp, struct
         mp->mnt_stat.f_fsid.val[0] = dev2udev(dev);          mp->mnt_stat.f_fsid.val[0] = dev2udev(dev);
         mp->mnt_stat.f_fsid.val[1] = mp->mnt_vfc->vfc_typenum;          mp->mnt_stat.f_fsid.val[1] = mp->mnt_vfc->vfc_typenum;
         mp->mnt_flag |= MNT_LOCAL;          mp->mnt_flag |= MNT_LOCAL;
        devvp->v_specmountpoint = mp;        dev->si_mountpoint = mp;
   
         return 0;          return 0;
   
Line 758  msdosfs_unmount(struct mount *mp, int mn Line 758  msdosfs_unmount(struct mount *mp, int mn
         if (error)          if (error)
                 return error;                  return error;
         pmp = VFSTOMSDOSFS(mp);          pmp = VFSTOMSDOSFS(mp);
        pmp->pm_devvp->v_specmountpoint = NULL;        pmp->pm_devvp->v_rdev->si_mountpoint = NULL;
 #ifdef MSDOSFS_DEBUG  #ifdef MSDOSFS_DEBUG
         {          {
                 struct vnode *vp = pmp->pm_devvp;                  struct vnode *vp = pmp->pm_devvp;

Removed from v.1.14  
changed lines
  Added in v.1.15