diff --git a/src/sys/ufs/ufsread.c b/src/sys/ufs/ufsread.c index be77593..c748b18 100644 --- a/src/sys/ufs/ufsread.c +++ b/src/sys/ufs/ufsread.c @@ -4,71 +4,11 @@ #include static int dskread(void *, unsigned, unsigned); - -static int -dskread(void *buf, unsigned lba, unsigned nblk) -{ - struct dos_partition *dp; - struct disklabel *d; - char *sec; - unsigned sl, i; - - if (!dsk_meta) { - sec = dmadat->secbuf; - dsk.start = 0; - if (drvread(sec, DOSBBSECTOR, 1)) - return -1; - dp = (void *)(sec + DOSPARTOFF); - sl = dsk.slice; - if (sl < BASE_SLICE) { - for (i = 0; i < NDOSPART; i++) - if (dp[i].dp_typ == DOSPTYP_386BSD && - (dp[i].dp_flag & 0x80 || sl < BASE_SLICE)) { - sl = BASE_SLICE + i; - if (dp[i].dp_flag & 0x80 || - dsk.slice == COMPATIBILITY_SLICE) - break; - } - if (dsk.slice == WHOLE_DISK_SLICE) - dsk.slice = sl; - } - if (sl != WHOLE_DISK_SLICE) { - if (sl != COMPATIBILITY_SLICE) - dp += sl - BASE_SLICE; - if (dp->dp_typ != DOSPTYP_386BSD) { - printf("Invalid %s\n", "slice"); - return -1; - } - dsk.start = dp->dp_start; - } - if (drvread(sec, dsk.start + LABELSECTOR, 1)) - return -1; - d = (void *)(sec + LABELOFFSET); - if (d->d_magic != DISKMAGIC || d->d_magic2 != DISKMAGIC) { - if (dsk.part != RAW_PART) { - printf("Invalid %s\n", "label"); - return -1; - } - } else { - if (!dsk.init) { - if (d->d_type == DTYPE_SCSI) - dsk.type = TYPE_DA; - dsk.init++; - } - if (dsk.part >= d->d_npartitions || - !d->d_partitions[dsk.part].p_size) { - printf("Invalid %s\n", "partition"); - return -1; - } - dsk.start += d->d_partitions[dsk.part].p_offset; - dsk.start -= d->d_partitions[RAW_PART].p_offset; - } - } - return drvread(buf, dsk.start + lba, nblk); -} - static ssize_t fsread(ino_t, void *, size_t); +static int ls,dsk_meta; +static uInt32 fs_off; +static int sblock_try[] = SBLOCKSEARCH; struct dmadat { char blkbuf[VBLKSIZE]; /* filesystem blocks */ char indbuf[VBLKSIZE]; /* indir blocks */ @@ -77,10 +17,10 @@ }; static struct dmadat *dmadat; -static int ls,dsk_meta; -static uInt32 fs_off; -static int sblock_try[] = SBLOCKSEARCH; +static int dskread(void *buf, unsigned lba, unsigned nblk) { + return(0x0); + } static __inline__ int fsfind(const char *name, ino_t * ino) { char buf[DEV_BSIZE]; @@ -253,6 +193,9 @@ /*** $Log$ + Revision 1.2 2004/07/08 02:47:36 reddawg + Tuuned afew things adding ufs support to ubixos + Revision 1.1 2004/07/05 23:04:02 reddawg Added UFS Support