home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- From: david@prism.demon.co.uk (David Metcalfe)
- Path: sparky!uunet!pipex!demon!prism.demon.co.uk!david
- ReplyTo: david@prism.demon.co.uk
- Subject: Re: 0.97pl4 breaks SCSI extended partition code
- References: <3541@ra.nrl.navy.mil>
- Distribution: world
- X-Mailer: cppnews $Revision: 1.15 $
- Organization: ** none **
- Lines: 69
- Date: Wed, 9 Sep 1992 20:41:24 +0000
- Message-ID: <716098399snx@prism.demon.co.uk>
- Sender: usenet@gate.demon.co.uk
-
-
- In article <3541@ra.nrl.navy.mil> eric@tantalus.dell.com (Eric Youngdale) writes:
-
- > In article <1992Sep9.000644.1996@galileo.cc.rochester.edu> ctne_ltd@uhura.cc.rochester.edu (Chris Newbold) writes:
- > >Okay. This looks like a generic problem with the SCSI extended partition code.
- > >I have seen several senarios which result in the problems described above.
- > >
- > > 1. Adding the CD-ROM filesystem extentions did it for me.
- > > 2. Compiling the kernel under GCC v2.2.2d did it for some
- > > 3. Now, looks like pl4 has blown it in this case.
- > >
- > >I was trying to work with Eric (the author of the CD-ROM stuff) to find
- > >out what goes wrong, but my disk controller flaked out and I haven't
- > >had a machine for the last week...
- >
- > I found another guinea pig, and it appears as if we are closing in
- > on the solution. What I do know is that make_request in ll_rw_blk.c returns
- > because it believes that the read is beyond the end of the partition.
- > Specifically, the problem shows up in the following segment:
- >
- > count = bh->b_size >> 9;
- > sector = bh->b_blocknr * count;
- > if (blk_size[major])
- > if (blk_size[major][MINOR(bh->b_dev)] < (sector + count)>>1) {
- > bh->b_dirt = bh->b_uptodate = 0;
- > return;
- > }
- >
- > As of yet, I do not know whether the blk_size array is incorrect or if sector
- > or count is corrupt, or whether we are not converting something somewhere.
- > I hope that within a day that we will have enough information to squash this
- > bug.
- >
- I have now confirmed that my problem occurs in exactly the same
- place. The values of the key variables with pl4 (the one that fails)
- are
-
- blk_size[major][MINOR(bh->b_dev)] = 0
- sector = 0
- count = 2
-
- When I repeat the same exercise with pl2 (which works), the values of
- the variables on the first pass through the routine are
-
- blk_size[major][MINOR(bh->b_dev)] = 507905
- sector = 0
- count = 2
-
- So the problem would appear to be with the blk_size array. I will
- leave someone else to work out what the problem is because I'm not
- really a kernel hacker :-)
-
- > -Eric
- >
- >
- > --
- > Eric Youngdale
- > eric@tantalus.nrl.navy.mil
- >
- >
-
- David
-
- -----------------------------------------------------
- David Metcalfe david@prism.demon.co.uk
- +44 81 361 3327 dmetcalf@cix.compulink.co.uk
-
-
-
-