[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference cookie::mru

Title:MRU Internal Bug Reports
Moderator:COOKIE::STMARTIN
Created:Wed Sep 20 1995
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:346
Total number of notes:1175

286.0. "OP:HIGH mrd_show() incorrect on RW500" by NABETH::alan (Dr. File System's Home for Wayward Inodes.) Wed Jan 29 1997 19:28

	Somewhere in mrd_show(), it is getting incorrect data for the
	drive element state.  Almost without fail, it reports the
	media in the drive to be inverted, even when there is no
	media there, but only the first time.  After that it gives
	inconsistent results.

	Read Element Status seems to be giving back the right value.

	It is worth noting that the RW500 element status data is
	weird, with drives having more status data than the slots,
	transport and port.  The algorithm should account for this,
	but may not.
T.RTitleUserPersonal
Name
DateLines
286.1Close.SSDEVO::ROLLOWDr. File System's Home for Wayward Inodes.Thu Jan 30 1997 08:1426
	A recent change to mrd_res_size(), which is used to find
	out how much data is needed for a particular Read Element
	Status command, was using the slot descriptor size as the
	basis for the data size.  Since the slot descriptors are
	smaller than drive descriptors, too little was being
	allocated for the command and the data off the end (where
	the media, drive and source fields are) was getting garbage.

	The current solutions are to use the slot descriptor size
	only when larger than a reasonable maximum.  V1.1 just
	blindly used a reasonable maximum so this is a slight
	improvement.  The correct solution would still be use to
	Read Element Status, but I discovered problems with it on
	some "insane" robots.  The MUSL problem with this feature
	of Read Element Status is also a minor problem.

	Having a better understanding of how Read Element Status
	works and how it tends to behave when it doesn't work, I
	may be able to get this to work correctly and in a way that
	only requires one version of mrd_res_size().  We currently
	have one for each operating system, but I think I can layer
	it on top of mrd_read_element_status().

	This particular problem can be closed.  I'll use the MUSL
	version of the problem to track any more improvements.