|
|
| 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; |