* Re: [9fans] dossrv: I/O error: dev 3 sector ..., read: 0, should be 4608
@ 2000-07-17 21:03 Russ Cox
2000-07-18 15:18 ` Axel Belinfante
0 siblings, 1 reply; 3+ messages in thread
From: Russ Cox @ 2000-07-17 21:03 UTC (permalink / raw)
To: 9fans, Axel.Belinfante
The first thing to do is see if the sector
numbers make any sense. First,
multiply them by 512 and see if they're
still 31-bit numbers. If not, you need
to change devio.c thusly:
g% diff /n/dump/2000/0601/sys/src/cmd/dossrv/devio.c devio.c
38c38
< seek(xf->dev, xf->offset+addr*Sectorsize, 0);
---
> seek(xf->dev, xf->offset+(vlong)addr*Sectorsize, 0);
57c57
< seek(xf->dev, xf->offset+addr*Sectorsize, 0);
---
> seek(xf->dev, xf->offset+(vlong)addr*Sectorsize, 0);
g%
If that's not the problem, make sure you
actually can read from those sectors:
dd -if /dev/sdC0/dos -bs 512 -count 9 -iseek sectornumber >/dev/null
Russ
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [9fans] dossrv: I/O error: dev 3 sector ..., read: 0, should be 4608
2000-07-17 21:03 [9fans] dossrv: I/O error: dev 3 sector ..., read: 0, should be 4608 Russ Cox
@ 2000-07-18 15:18 ` Axel Belinfante
0 siblings, 0 replies; 3+ messages in thread
From: Axel Belinfante @ 2000-07-18 15:18 UTC (permalink / raw)
To: 9fans, Russ Cox
> The first thing to do is see if the sector
> numbers make any sense. First,
> multiply them by 512 and see if they're
> still 31-bit numbers. If not, you need
> to change devio.c thusly:
>
> g% diff /n/dump/2000/0601/sys/src/cmd/dossrv/devio.c devio.c
> 38c38
> < seek(xf->dev, xf->offset+addr*Sectorsize, 0);
> ---
> > seek(xf->dev, xf->offset+(vlong)addr*Sectorsize, 0);
> 57c57
> < seek(xf->dev, xf->offset+addr*Sectorsize, 0);
> ---
> > seek(xf->dev, xf->offset+(vlong)addr*Sectorsize, 0);
> g%
Without first checking the sector numbers (sorry! :-) I immediately
applied this change, with good success: it now seems to work ok.
Thanks!
Axel.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [9fans] dossrv: I/O error: dev 3 sector ..., read: 0, should be 4608
@ 2000-07-17 17:26 Axel Belinfante
0 siblings, 0 replies; 3+ messages in thread
From: Axel Belinfante @ 2000-07-17 17:26 UTC (permalink / raw)
To: 9fans
During and after installation of the june 12 version I get
the error mentioned in the subject for some files from a
WIN95 FAT32 partition, while trying to read them using dossrv.
During installation of plan9, this problem caused making the
backup copy of msdos.sys to fail.
After installation, when I have done 'c:' and then do 'du -a /n/c:'
I get a list of error messages.
The 4608 seems to be the Trksize (= Sectorsize*Sect2trk from
dossrv/iotrack.h). I found this in the source at
<http://offworld.fac.cs.cmu.edu/plan9/source//src/cmd/dossrv/devio.c#L23>
The problem seems to be reproducable, i.e. repeatedly trying to get
the wordcount of a file that showed the problem once keeps returning
the error. Also, it reproduces for the same files over a (warm) reboot.
It shows up, among other things, for some directories
that (according to Linux 'ls') have a size of 4096.
I can read those files/directories without problem using Linux.
Is this a known problem? If not, is there any information that I could
provide to help track down the problem?
Thanks,
Axel.
--
<Axel.Belinfante@cs.utwente.nl> <URL:http://www.cs.utwente.nl/~belinfan/>
University of Twente, Dept. of Computer Science, Formal Methods & Tools Group
P.O. Box 217; NL-7500 AE Enschede. Phone: +31 53 4893774; Fax: +31 53 4893247
"ili ne sciis ke estas neebla do ili simple faris" -- Loesje
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-07-18 15:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-17 21:03 [9fans] dossrv: I/O error: dev 3 sector ..., read: 0, should be 4608 Russ Cox
2000-07-18 15:18 ` Axel Belinfante
-- strict thread matches above, loose matches on Subject: below --
2000-07-17 17:26 Axel Belinfante
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).