Roland McGrath <[EMAIL PROTECTED]> writes: > > when reading past the end of a storeio provided file, you get EIO because > > offset is equal to the size of the underlying store, but the only offset > > check is in dev_rw: > > EIO is reasonable for a read some distance off the end of the store. > Reading precisely at the end should report EOF (return success with 0 bytes). > I checked in a change that should do that.
Historically, this is not how character devices worked for most Unixes that I'm familiar with. You didn't get ever really get eof; you just got EIO if you asked for a block that doesn't exist. "Character" devices (really raw devices) required that you always do aligned reads of an integral nonzero number of real blocks; no eof, and you got EIO for any other condition. Hurd devices are really much more like Unix block devices, however, and those of course permit reading at any byte of any amount, and should return eof, of course. Thomas _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd