Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!topaz!hedrick From: hedrick@topaz.UUCP Newsgroups: comp.unix.wizards Subject: Re: Errors that can't happen ! Message-ID: <10679@topaz.RUTGERS.EDU> Date: Thu, 2-Apr-87 19:36:23 EST Article-I.D.: topaz.10679 Posted: Thu Apr 2 19:36:23 1987 Date-Received: Sat, 4-Apr-87 16:51:23 EST References: <535@ssl-macc.co.uk> Organization: Rutgers Univ., New Brunswick, N.J. Lines: 20 A user reported a error rfs_read: attempt to read from non-file from his Sun. I saw that once when somebody tried to open a directory over NFS and read it like a file, instead of using readdir. Note that I am talking kernel level. User programs can read directories, but the way this has to be implemented is that the kernel notices the file being opend is a directory, issues readdir calls to the other machine, and then gives the user program the data formatted so as to look like a raw directory file. This may seem arcane, but it's the only way to handle a network where different machines have different directory formats, but where applications insist on reading the directories directly. In Sun 3.0, the NFS server would still let another machine's NFS read the directory as a file. Presumably this would still be meaningful if both machines had the same directory structure. however it appears (based on experiment -- I didn't look at the code) that in 3.2, Sun's NFS server rejected this with the error message quoted above, or something very close to it. I suppose it could also be that somebody tried to open a device or socket over NFS.