summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1996-06-24 10:23:23 +0000
committerJason Downs <downsj@cvs.openbsd.org>1996-06-24 10:23:23 +0000
commit11d9c9c55da5d8a24c55810a84816b0233b36e15 (patch)
tree64bd206f402e1558fbfc956ce4d0adc4550d02b9
parentb0da6d46ce9cdb2877c41fbbfbfb2471130e1101 (diff)
ufs: sorry, one more pointer in struct inode.
THREADWAY: good example of a really tweaked PeeCee.
-rw-r--r--sys/arch/i386/conf/THREADWAY126
-rw-r--r--sys/gnu/ext2fs/ext2_fs.h12
-rw-r--r--sys/gnu/ext2fs/ext2_fs_sb.h4
-rw-r--r--sys/gnu/ext2fs/ext2_vfsops.c10
-rw-r--r--sys/ufs/ufs/inode.h6
5 files changed, 147 insertions, 11 deletions
diff --git a/sys/arch/i386/conf/THREADWAY b/sys/arch/i386/conf/THREADWAY
new file mode 100644
index 00000000000..81ff8d23139
--- /dev/null
+++ b/sys/arch/i386/conf/THREADWAY
@@ -0,0 +1,126 @@
+#
+# THREADWAY: threadway.teeny.org
+#
+# $OpenBSD: THREADWAY,v 1.1 1996/06/24 10:23:16 downsj Exp $
+#
+
+machine i386
+options I586_CPU
+
+options XSERVER,UCONSOLE
+options EXTMEM_SIZE=39936
+options PCVT_USL_VT_COMPAT=1,PCVT_SCREENSAVER=1,PCVT_PRETTYSCRNS=0
+
+maxusers 32
+options TIMEZONE=480
+options DST=0
+
+options SWAPPAGER
+options VNODEPAGER
+options DEVPAGER
+
+#options DDB
+#makeoptions DEBUG="-g"
+#options DIAGNOSTIC
+options KTRACE
+
+options SYSVMSG
+options SYSVSEM
+options SYSVSHM
+#options SHMMAXPGS=1024
+
+options COMPAT_NOMID
+options COMPAT_09
+options COMPAT_10
+options COMPAT_11
+options COMPAT_43
+options TCP_COMPAT_42
+
+options COMPAT_SVR4
+options COMPAT_IBCS2
+options COMPAT_LINUX
+options COMPAT_FREEBSD
+
+options VM86
+options USER_LDT
+options LKM
+
+options FFS
+options QUOTA
+options MFS
+options EXT2FS
+
+options PPP_BSDCOMP,PPP_DEFLATE
+options IPFILTER
+
+options NFSCLIENT
+options NFSSERVER
+
+options CD9660
+options MSDOSFS
+options FDESC
+options FIFO
+options KERNFS
+options NULLFS
+options PROCFS
+options UMAPFS
+options UNION
+
+options GATEWAY
+options INET
+
+config bsd root on wd0 swap on wd0 and wd2
+
+mainbus0 at root
+
+isa0 at mainbus0
+eisa0 at mainbus0
+pci0 at mainbus0 bus ?
+
+ppb* at pci? dev ? function ? # PCI-PCI bridges
+pci* at ppb? bus ?
+
+npx0 at isa? port 0xf0 irq 13
+isadma0 at isa?
+
+#pc0 at isa? port 0x60 irq 1
+vt0 at isa? port 0x60 irq 1
+
+com0 at isa? port 0x3f8 irq 4
+com1 at isa? port 0x3e8 irq 2
+com2 at isa? port 0x2f8 irq 3
+
+lpt0 at isa? port 0x378 irq 7
+
+pms0 at pckbd? irq 12 # PS/2 auxiliary port mouse
+
+ed0 at isa? port 0x300 irq 10
+
+de0 at pci? dev ? function ?
+
+ncr* at pci? dev ? function ? # NCR 538XX SCSI controllers
+scsibus* at ncr?
+
+sd* at scsibus? target ? lun ? # SCSI disk drives
+st* at scsibus? target ? lun ? # SCSI tape drives
+cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
+ch* at scsibus? target ? lun ? # SCSI autochangers
+
+fdc0 at isa? port 0x3f0 irq 6 drq 2
+fd* at fdc? drive ?
+
+wdc0 at isa? port 0x1f0 irq 14
+wdc1 at isa? port 0x170 irq 15
+wd* at wdc? drive ?
+
+atapibus* at wdc?
+acd* at atapibus? drive?
+
+
+pseudo-device loop 1
+pseudo-device bpfilter 8
+pseudo-device ppp 4
+pseudo-device tun 2
+
+pseudo-device pty 64
+pseudo-device vnd 8
diff --git a/sys/gnu/ext2fs/ext2_fs.h b/sys/gnu/ext2fs/ext2_fs.h
index 0563603dba3..7f186587cf1 100644
--- a/sys/gnu/ext2fs/ext2_fs.h
+++ b/sys/gnu/ext2fs/ext2_fs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ext2_fs.h,v 1.1 1996/06/24 03:34:54 downsj Exp $ */
+/* $OpenBSD: ext2_fs.h,v 1.2 1996/06/24 10:23:19 downsj Exp $ */
/*
* modified for EXT2FS support in Lites 1.1
@@ -50,11 +50,11 @@ struct ext2_inode_info {
int32_t info_prealloc_count;
};
-#define i_block_group i_e2fs->i_info.info_block_group
-#define i_next_alloc_block i_e2fs->i_info.info_next_alloc_block
-#define i_next_alloc_goal i_e2fs->i_info.info_next_alloc_goal
-#define i_prealloc_block i_e2fs->i_info.info_prealloc_block
-#define i_prealloc_count i_e2fs->i_info.info_prealloc_count
+#define i_block_group i_e2ext->info_block_group
+#define i_next_alloc_block i_e2ext->info_next_alloc_block
+#define i_next_alloc_goal i_e2ext->info_next_alloc_goal
+#define i_prealloc_block i_e2ext->info_prealloc_block
+#define i_prealloc_count i_e2ext->info_prealloc_count
/*
* The second extended filesystem constants/structures
diff --git a/sys/gnu/ext2fs/ext2_fs_sb.h b/sys/gnu/ext2fs/ext2_fs_sb.h
index b725d245e4f..fe094ab70bb 100644
--- a/sys/gnu/ext2fs/ext2_fs_sb.h
+++ b/sys/gnu/ext2fs/ext2_fs_sb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ext2_fs_sb.h,v 1.1 1996/06/24 03:34:55 downsj Exp $ */
+/* $OpenBSD: ext2_fs_sb.h,v 1.2 1996/06/24 10:23:20 downsj Exp $ */
/*
* modified for EXT2FS support in Lites 1.1
@@ -83,8 +83,6 @@ struct ext2_sb_info {
char s_dirt; /* fs modified flag */
char fs_fsmnt[MAXMNTLEN]; /* name mounted on */
-
- struct ext2_inode_info i_info; /* HACK! */
};
#endif /* _LINUX_EXT2_FS_SB */
diff --git a/sys/gnu/ext2fs/ext2_vfsops.c b/sys/gnu/ext2fs/ext2_vfsops.c
index 46c4d780b6d..825e70e0446 100644
--- a/sys/gnu/ext2fs/ext2_vfsops.c
+++ b/sys/gnu/ext2fs/ext2_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ext2_vfsops.c,v 1.1 1996/06/24 03:34:58 downsj Exp $ */
+/* $OpenBSD: ext2_vfsops.c,v 1.2 1996/06/24 10:23:21 downsj Exp $ */
/*
* modified for EXT2FS support in Lites 1.1
@@ -886,6 +886,7 @@ ext2_vget(mp, ino, vpp)
{
register struct ext2_sb_info *fs;
register struct inode *ip;
+ register struct ext2_inode_info *e2ip;
struct ufsmount *ump;
struct buf *bp;
struct vnode *vp;
@@ -925,12 +926,17 @@ restart:
type = ump->um_devvp->v_tag == VT_MFS ? M_MFSNODE : M_FFSNODE; /* XXX */
MALLOC(ip, struct inode *, sizeof(struct inode), type, M_WAITOK);
bzero((caddr_t)ip, sizeof(struct inode));
+ MALLOC(e2ip, struct ext2_inode_info *, sizeof(struct ext2_inode_info),
+ type, M_WAITOK);
+ bzero((caddr_t)e2ip, sizeof(struct ext2_inode_info));
+
vp->v_data = ip;
ip->i_vnode = vp;
ip->i_e2fs = fs = ump->um_e2fs;
ip->i_dev = dev;
ip->i_number = ino;
ip->i_dirops = &ext2fs_dirops;
+ ip->i_e2ext = e2ip;
#if QUOTA
for (i = 0; i < MAXQUOTAS; i++)
ip->i_dquot[i] = NODQUOT;
@@ -969,10 +975,12 @@ printf("ext2_vget(%d) dbn= %d ", ino, fsbtodb(fs, ino_to_fsba(fs, ino)));
ext2_ei2di((struct ext2_inode *) ((char *)bp->b_data + EXT2_INODE_SIZE *
ino_to_fsbo(fs, ino)), &ip->i_din);
ip->i_block_group = ino_to_cg(fs, ino);
+#if 0
ip->i_next_alloc_block = 0;
ip->i_next_alloc_goal = 0;
ip->i_prealloc_count = 0;
ip->i_prealloc_block = 0;
+#endif
/* now we want to make sure that block pointers for unused
blocks are zeroed out - ext2_balloc depends on this
although for regular files and directories only
diff --git a/sys/ufs/ufs/inode.h b/sys/ufs/ufs/inode.h
index 121f045925a..ef294ff55a3 100644
--- a/sys/ufs/ufs/inode.h
+++ b/sys/ufs/ufs/inode.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: inode.h,v 1.2 1996/06/24 03:35:03 downsj Exp $ */
+/* $OpenBSD: inode.h,v 1.3 1996/06/24 10:23:22 downsj Exp $ */
/* $NetBSD: inode.h,v 1.8 1995/06/15 23:22:50 cgd Exp $ */
/*
@@ -90,6 +90,10 @@ struct inode {
*/
struct ufs_dirops *i_dirops;
/*
+ * Ext2fs inode extensions.
+ */
+ struct ext2_inode_info *i_e2ext;
+ /*
* The on-disk dinode itself.
*/
struct dinode i_din; /* 128 bytes of the on-disk dinode. */