Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!udel!mmdf From: Leisner.Henr@xerox.com (Marty) Newsgroups: comp.os.minix Subject: RE: Bug reading block special devices (problem solved?) Message-ID: <569@louie.udel.EDU> Date: Thu, 8-Oct-87 11:13:08 EDT Article-I.D.: louie.569 Posted: Thu Oct 8 11:13:08 1987 Date-Received: Sun, 11-Oct-87 02:08:38 EDT Sender: mmdf@udel.EDU Lines: 33 In between lines 9834 and 9835 in the Minix book, some code was inserted for the 1.1 release. This appears to be why I'm having the problem with block special devices. I changed if (mode_word == I_BLOCK_SPECIAL && f_size == 0) f_size = MAX_P_LONG; to if(mode_word == I_BLOCK_SPECIAL) f_size = MAX_P_LONG; I'm not sure where f_size would come from for a block special device, but if its not 0, read won't allow read's beyond the limit of f_size. Why bother checking f_size at all (which comes out of the inode's i_size field). I assume for block special devices, all read requests should issue a request to the device driver and let the driver tell the file system if there is an error. Its interesting that write had no problem. marty ARPA: leisner.henr@xerox.com GV: leisner.henr NS: martin leisner:henr801c:xerox UUCP: martyl@rocksvax.uucp