summaryrefslogtreecommitdiffstats
path: root/sys/isofs
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1998-04-19 23:32:49 +0000
committerjulian <julian@FreeBSD.org>1998-04-19 23:32:49 +0000
commit0796a5c56ed9d1eaf2c8691327b581fcfa3cd05b (patch)
tree9c3ff4ea4ec1cc8aeb30628a4e4452193f1d12cb /sys/isofs
parent64e2dfa0bb7dd8d4a7affdfbf920764d02d2b02c (diff)
downloadFreeBSD-src-0796a5c56ed9d1eaf2c8691327b581fcfa3cd05b.zip
FreeBSD-src-0796a5c56ed9d1eaf2c8691327b581fcfa3cd05b.tar.gz
Add changes and code to implement a functional DEVFS.
This code will be turned on with the TWO options DEVFS and SLICE. (see LINT) Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes. /dev will be automatically mounted by init (thanks phk) on bootup. See /sys/dev/slice/slice.4 for more info. All code should act the same without these options enabled. Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others This code does not support the following: bad144 handling. Persistance. (My head is still hurting from the last time we discussed this) ATAPI flopies are not handled by the SLICE code yet. When this code is running, all major numbers are arbitrary and COULD be dynamically assigned. (this is not done, for POLA only) Minor numbers for disk slices ARE arbitray and dynamically assigned.
Diffstat (limited to 'sys/isofs')
-rw-r--r--sys/isofs/cd9660/cd9660_vfsops.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c
index 1431b19..c4a4a57 100644
--- a/sys/isofs/cd9660/cd9660_vfsops.c
+++ b/sys/isofs/cd9660/cd9660_vfsops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
- * $Id: cd9660_vfsops.c,v 1.34 1998/03/01 22:46:00 msmith Exp $
+ * $Id: cd9660_vfsops.c,v 1.35 1998/03/08 09:56:41 julian Exp $
*/
#include <sys/param.h>
@@ -143,6 +143,9 @@ iso_get_ssector(dev, p)
return ntohl(t.entry.addr.lba);
}
+#ifdef SLICE
+extern struct vnode *root_device_vnode;
+#endif
static int
iso_mountroot(mp, p)
@@ -152,10 +155,18 @@ iso_mountroot(mp, p)
struct iso_args args;
int error;
+#ifdef SLICE
+ rootvp = root_device_vnode;
+ if (rootvp == NULL) {
+ printf("cd9660_mountroot: rootvp not set");
+ return (EINVAL);
+ }
+#else
if ((error = bdevvp(rootdev, &rootvp))) {
printf("iso_mountroot: can't find rootvp");
return (error);
}
+#endif
args.flags = ISOFSMNT_ROOT;
args.ssector = iso_get_ssector(rootdev, p);
if (bootverbose)
OpenPOWER on IntegriCloud