Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcso!hpfcdj!king From: king@hpfcdj.HP.COM (Mike King) Newsgroups: comp.os.minix Subject: Re: Hard Disk Problems with Ver 1.2.0 Message-ID: <19300001@hpfcdj.HP.COM> Date: 28 Feb 90 20:41:47 GMT References: <1990Feb23.152053.2497@ncsuvx.ncsu.edu> Organization: Hewlett Packard -- Fort Collins, CO Lines: 43 If you are using the at_wini.c disc driver in a version of 1.2 MINIX then you probably have the same problem I just came across. In at_wini.c there is a routine called copy_prt. This routine copies the partition table for a hard disc from an internal buffer into a table that the wini driver uses in accessing the disc. Note that the block 0 of the disc, which contains the partition table, has all ready been read into an internal buffer. I found a bug in the copy_prt routine. This may or may not be your problem. I don't know if the 1.2 copy I have had been hacked up by someone else before I got it. Notice the change is just multiplying the variable by 5, i.e in two places replace drive with drive*5. The following is a diff of the old at_wini.c and the fix I put in. This is in the copy_prt routine in that file. FROM THE AT_WINI.C and the fixed AT_WINI.C ------------------------------------------ 509c509 < wn = &wini[i + drive + 1]; --- > wn = &wini[i + drive*5 + 1]; 519c519 < sort(&wini[drive + 1]); --- > sort(&wini[drive*5 + 1]); Hope this fixes the problem, Mike King R&D Hardware Lab Hewlett Packard - Graphics Technology Division Fort Collins, Colo. 303-229-3989