home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / linux / 10310 < prev    next >
Encoding:
Text File  |  1992-09-09  |  2.7 KB  |  84 lines

  1. Newsgroups: comp.os.linux
  2. From: david@prism.demon.co.uk (David Metcalfe)
  3. Path: sparky!uunet!pipex!demon!prism.demon.co.uk!david
  4. ReplyTo: david@prism.demon.co.uk
  5. Subject: Re: 0.97pl4 breaks SCSI extended partition code
  6. References: <3541@ra.nrl.navy.mil>
  7. Distribution: world
  8. X-Mailer: cppnews $Revision: 1.15 $
  9. Organization: ** none **
  10. Lines: 69
  11. Date: Wed, 9 Sep 1992 20:41:24 +0000
  12. Message-ID: <716098399snx@prism.demon.co.uk>
  13. Sender: usenet@gate.demon.co.uk
  14.  
  15.  
  16. In article <3541@ra.nrl.navy.mil> eric@tantalus.dell.com (Eric Youngdale) writes:
  17.  
  18. > In article <1992Sep9.000644.1996@galileo.cc.rochester.edu> ctne_ltd@uhura.cc.rochester.edu (Chris Newbold) writes:
  19. > >Okay. This looks like a generic problem with the SCSI extended partition code.
  20. > >I have seen several senarios which result in the problems described above.
  21. > >
  22. > >    1. Adding the CD-ROM filesystem extentions did it for me.
  23. > >    2. Compiling the kernel under GCC v2.2.2d did it for some
  24. > >    3. Now, looks like pl4 has blown it in this case.
  25. > >
  26. > >I was trying to work with Eric (the author of the CD-ROM stuff) to find
  27. > >out what goes wrong, but my disk controller flaked out and I haven't
  28. > >had a machine for the last week...
  29. >     I found another guinea pig, and it appears as if we are closing in
  30. > on the solution.  What I do know is that make_request in ll_rw_blk.c returns
  31. > because it believes that the read is beyond the end of the partition.
  32. > Specifically, the problem shows up in the following segment:
  33. >     count = bh->b_size >> 9;
  34. >     sector = bh->b_blocknr * count;
  35. >     if (blk_size[major])
  36. >         if (blk_size[major][MINOR(bh->b_dev)] < (sector + count)>>1) {
  37. >             bh->b_dirt = bh->b_uptodate = 0;
  38. >             return;
  39. >         }
  40. > As of yet, I do not know whether the blk_size array is incorrect or if sector
  41. > or count is corrupt, or whether we are not converting something somewhere.
  42. > I hope that within a day that we will have enough information to squash this
  43. > bug. 
  44. I have now confirmed that my problem occurs in exactly the same
  45. place.  The values of the key variables with pl4 (the one that fails)
  46. are
  47.  
  48. blk_size[major][MINOR(bh->b_dev)] = 0
  49. sector = 0
  50. count = 2
  51.  
  52. When I repeat the same exercise with pl2 (which works), the values of
  53. the variables on the first pass through the routine are
  54.  
  55. blk_size[major][MINOR(bh->b_dev)] = 507905
  56. sector = 0
  57. count = 2
  58.  
  59. So the problem would appear to be with the blk_size array.  I will
  60. leave someone else to work out what the problem is because I'm not
  61. really a kernel hacker :-)
  62.  
  63. > -Eric
  64. > --
  65. > Eric Youngdale
  66. > eric@tantalus.nrl.navy.mil
  67.  
  68. David
  69.  
  70. -----------------------------------------------------
  71. David Metcalfe          david@prism.demon.co.uk     
  72. +44 81 361 3327         dmetcalf@cix.compulink.co.uk
  73.      
  74.                        
  75.             
  76.