I've been getting several different kinds of errors somewhat
consistently
on my nfs mounted xfs partition in my home network. Here are the
vitals:
Network: 100Mbit switched
NFS server (parsec):
Alpha running Debian GNU/Linux
parsec:/var/log# uname -a
Linux parsec 2.4.2-XFS #4 Mon May 21 17:28:46 MST 2001 alpha unknown
Promise UDMA/33 PCI controller
80G Maxtor IDE drive
30G xfs partition (/gulf) exported via user-space Linux nfs server v2.2
second 30G ext2 partition (/memoryhole) also exported
linux-2.4-xfs-1.0.patch
(yes, I know it's somewhat perverse to be using an IDE hd on a SCSI
Alpha with a PC IDE controller to create an SGI partition and then
export it via nfs...)
NFS client (erg):
x86 linux (RH 6.2)
First noticed errors of the form:
somefile: No such file or directory
when untarring a 200MB tarball of my /usr/doc directory to the nfs
partition from the client (erg). I've also gotten "Input/Output error"s
several times.
Untarring locally on parsec wasn't a problem, nor was untarring from erg
to the ext2 partition.
This script usually gives me errors, but not always. Just now, it ran
fine on directories 0 and 1, but then:
...
1+0 records in
1+0 records out
1+0 records in
1+0 records out
1+0 records in
1+0 records out
dd: 2/0: No such file or directory
dd: 2/1: No such file or directory
dd: 2/2: No such file or directory
dd: 2/3: No such file or directory
dd: 2/4: No such file or directory
...
The script:
#!/usr/bin/perl
#Cause problems on my nfs'ed xfs partition -JH
for($i=0; $i<500; $i++) {
system("mkdir $i");
for($j=0; $j<100; $j++) {
$size = int(rand(10000));
system("dd if=/dev/zero of=$i/$j bs=$size count=1");
# system("cp /tmp/qwerty $i/$j");
}
}
The script runs fine when the cwd is in the exported ext2 partition,
and sometimes even works on the xfs partition. The /usr/doc tarball
seems to always have problems.
Something screwy seems to be going on with writing to files just after
creating directories, but changing it to this also produces occasional
I/O
errors:
#!/usr/bin/perl
for($i=0; $i<500; $i++) {
for($j=0; $j<100; $j++) {
$size = int(rand(10000));
system("dd if=/dev/zero of=$j bs=$size count=1");
}
}
Interestingly, just now I ran that script and then did this:
[jason@erg] /gulf/test$ rm -rf *
rm: cannot remove `0': Input/output error
And now I get:
[jason@erg] /gulf/test$ ls -la
ls: 0: Input/output error
total 8
drwxrwsr-x 2 jason nfsusers 14 Jun 8 02:34 .
drwxrwsr-x 21 root nfsusers 8192 Jun 8 02:02 ..
Yet, from parsec locally:
parsec:/gulf/test# ls -la
total 8
drwxrwsr-x 2 jason nfsusers 14 Jun 8 01:34 .
drwxrwsr-x 21 root nfsusers 8192 Jun 8 01:02 ..
-rw-rw-r-- 1 jason nfsusers 0 Jun 8 01:33 0
So, something screwy is going on, restricted to nfs accesses of the xfs
partition. No troubles locally, and none with the exported ext2 fs.
Oddly enough, nothing interesting in the logs of either machine, either.
-J
|