projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ISOFS fixed from Bruce Evans:
[unix-history]
/
sys
/
isofs
/
isofs_vfsops.c
diff --git
a/sys/isofs/isofs_vfsops.c
b/sys/isofs/isofs_vfsops.c
index
25a868a
..
cab949b
100644
(file)
--- a/
sys/isofs/isofs_vfsops.c
+++ b/
sys/isofs/isofs_vfsops.c
@@
-1,5
+1,5
@@
/*
/*
- * $Id: isofs_vfsops.c,v 1.5 1993/
07/19 13:40:09 cgd
Exp $
+ * $Id: isofs_vfsops.c,v 1.5 1993/
12/19 00:51:07 wollman
Exp $
*/
#include "param.h"
*/
#include "param.h"
@@
-43,6
+43,9
@@
struct vfsops isofs_vfsops = {
*/
#define ROOTNAME "root_device"
*/
#define ROOTNAME "root_device"
+static int iso_mountfs(struct vnode *, struct mount *, struct proc *);
+
+int
isofs_mountroot()
{
register struct mount *mp;
isofs_mountroot()
{
register struct mount *mp;
@@
-96,6
+99,7
@@
int iso_doforce = 1;
*
* mount system call
*/
*
* mount system call
*/
+int
isofs_mount(mp, path, data, ndp, p)
register struct mount *mp;
char *path;
isofs_mount(mp, path, data, ndp, p)
register struct mount *mp;
char *path;
@@
-107,7
+111,7
@@
isofs_mount(mp, path, data, ndp, p)
struct ufs_args args;
u_int size;
int error;
struct ufs_args args;
u_int size;
int error;
- struct iso_mnt *imp;
+ struct iso_mnt *imp
= 0
;
if (error = copyin(data, (caddr_t)&args, sizeof (struct ufs_args)))
return (error);
if (error = copyin(data, (caddr_t)&args, sizeof (struct ufs_args)))
return (error);
@@
-172,12
+176,12
@@
isofs_mount(mp, path, data, ndp, p)
imp = VFSTOISOFS(mp);
/* Check the Rock Ridge Extention support */
imp = VFSTOISOFS(mp);
/* Check the Rock Ridge Extention support */
- if ( args.exflags &
ISOFS
MNT_NORRIP ) {
+ if ( args.exflags & MNT_NORRIP ) {
imp->iso_ftype = ISO_FTYPE_9660;
imp->iso_ftype = ISO_FTYPE_9660;
- mp->mnt_flag |=
ISOFS
MNT_NORRIP;
+ mp->mnt_flag |= MNT_NORRIP;
} else {
imp->iso_ftype = ISO_FTYPE_RRIP;
} else {
imp->iso_ftype = ISO_FTYPE_RRIP;
- mp->mnt_flag &= ~
ISOFS
MNT_NORRIP;
+ mp->mnt_flag &= ~MNT_NORRIP;
}
(void) copyinstr(path, imp->im_fsmnt, sizeof(imp->im_fsmnt)-1, &size);
}
(void) copyinstr(path, imp->im_fsmnt, sizeof(imp->im_fsmnt)-1, &size);
@@
-194,6
+198,7
@@
isofs_mount(mp, path, data, ndp, p)
/*
* Common code for mount and mountroot
*/
/*
* Common code for mount and mountroot
*/
+static int
iso_mountfs(devvp, mp, p)
register struct vnode *devvp;
struct mount *mp;
iso_mountfs(devvp, mp, p)
register struct vnode *devvp;
struct mount *mp;
@@
-328,6
+333,7
@@
out:
* Nothing to do at the moment.
*/
/* ARGSUSED */
* Nothing to do at the moment.
*/
/* ARGSUSED */
+int
isofs_start(mp, flags, p)
struct mount *mp;
int flags;
isofs_start(mp, flags, p)
struct mount *mp;
int flags;
@@
-340,6
+346,7
@@
isofs_start(mp, flags, p)
/*
* unmount system call
*/
/*
* unmount system call
*/
+int
isofs_unmount(mp, mntflags, p)
struct mount *mp;
int mntflags;
isofs_unmount(mp, mntflags, p)
struct mount *mp;
int mntflags;
@@
-374,6
+381,7
@@
isofs_unmount(mp, mntflags, p)
/*
* Check to see if a filesystem is mounted on a block device.
*/
/*
* Check to see if a filesystem is mounted on a block device.
*/
+int
iso_mountedon(vp)
register struct vnode *vp;
{
iso_mountedon(vp)
register struct vnode *vp;
{
@@
-396,6
+404,7
@@
iso_mountedon(vp)
/*
* Return root of a filesystem
*/
/*
* Return root of a filesystem
*/
+int
isofs_root(mp, vpp)
struct mount *mp;
struct vnode **vpp;
isofs_root(mp, vpp)
struct mount *mp;
struct vnode **vpp;
@@
-423,6
+432,7
@@
isofs_root(mp, vpp)
/*
* Get file system statistics.
*/
/*
* Get file system statistics.
*/
+int
isofs_statfs(mp, sbp, p)
struct mount *mp;
register struct statfs *sbp;
isofs_statfs(mp, sbp, p)
struct mount *mp;
register struct statfs *sbp;
@@
-450,6
+460,7
@@
isofs_statfs(mp, sbp, p)
return (0);
}
return (0);
}
+int
isofs_sync(mp, waitfor)
struct mount *mp;
int waitfor;
isofs_sync(mp, waitfor)
struct mount *mp;
int waitfor;
@@
-476,6
+487,7
@@
struct ifid {
int ifid_ino;
};
int ifid_ino;
};
+int
isofs_fhtovp(mp, fhp, vpp)
register struct mount *mp;
struct fid *fhp;
isofs_fhtovp(mp, fhp, vpp)
register struct mount *mp;
struct fid *fhp;
@@
-509,7
+521,7
@@
isofs_fhtovp(mp, fhp, vpp)
return (EINVAL);
if (ifhp->ifid_offset + sizeof (struct iso_directory_record)
return (EINVAL);
if (ifhp->ifid_offset + sizeof (struct iso_directory_record)
- >
=
imp->im_bsize)
+ > imp->im_bsize)
return (EINVAL);
if (error = bread (imp->im_devvp,
return (EINVAL);
if (error = bread (imp->im_devvp,
@@
-522,7
+534,7
@@
isofs_fhtovp(mp, fhp, vpp)
dirp = (struct iso_directory_record *)
(bp->b_un.b_addr + ifhp->ifid_offset);
dirp = (struct iso_directory_record *)
(bp->b_un.b_addr + ifhp->ifid_offset);
- if (ifhp->ifid_offset + isonum_711 (dirp->length) >
=
imp->im_bsize) {
+ if (ifhp->ifid_offset + isonum_711 (dirp->length) > imp->im_bsize) {
brelse (bp);
return (EINVAL);
}
brelse (bp);
return (EINVAL);
}
@@
-552,6
+564,7
@@
isofs_fhtovp(mp, fhp, vpp)
* Vnode pointer to File handle
*/
/* ARGSUSED */
* Vnode pointer to File handle
*/
/* ARGSUSED */
+int
isofs_vptofh(vp, fhp)
struct vnode *vp;
struct fid *fhp;
isofs_vptofh(vp, fhp)
struct vnode *vp;
struct fid *fhp;