PROBLEM: data corruption with NFS over udp w/kernel >= 2.6.15 (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Linux-Kernel list,

I hope this bug report is adequate, as it is my first.

We started seeing these problems of data corruption while copying data over the network when the network was busy. We mount drives over nfs with udp on our Gigabit network.

brez@cyclops writetest$ cat /etc/exports
/localscratch   @hvem(rw,no_root_squash,insecure,async)

We mount cyclops:/localscratch with the following options:
soft or hard,intr,timeo=10,retrans=100,rsize=65536,wsize=65536,nfsvers=3
cyclops:/localscratch

then run 'copytest <filename> s' in a directory on that mounted filesystem. txt files and binary files both error, but the file should be of substantial size: >100K.

We have data corruption in files that are copied over the network; and this problem arises when the client is running kernel 2.6.15 or 2.6.16, but 2.6.14 works just fine. The server can be running 2.6.10, 2.6.14, or 2.6.15 and above. It seems to be client dependent. Our test can take up to 2 hours to fail when the network is under a light load, but it usually takes around 10 minutes when the network load is high.


-NOTE that this problem IS remedied when mounting nfs over tcp, but we need the performance of nfs over udp.


I hope I have provided enough information but not too much. :)
I'm attaching the script used to test this problem, a test file to copy, and also the output from scripts/ver_linux.

Thanks!

--
Toby Bereznak
HVEM IT
MCDB, CU-Boulder
303-492-4537
#!/bin/csh -f
# Script to test I/O on 2.6.15 kernel
# Give it filename and optional argument s to stop on error

nohup

set stop = 0
set file = $argv[1]
if ($#argv > 1) then
    if ($argv[2] == 's') set stop = 1
endif

while (1)
    \cp $file $file.copy
    diff $file $file.copy

    if ($status) then
        echo "ERROR AT   "`date`
        if ($stop) exit 1
    endif
end
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
Linux gondolin.hvem.colorado.edu 2.6.16-1.2069_FC4 #1 Tue Mar 28 12:19:10 EST 2006 i686 i686 i386 GNU/Linux
 
Gnu C                  4.0.0
Gnu make               3.80
binutils               2.15.94.0.2.2
util-linux             2.12p
mount                  2.12p
module-init-tools      3.1
e2fsprogs              1.37
reiserfsprogs          line
reiser4progs           line
pcmcia-cs              3.2.8
quota-tools            3.12.
PPP                    2.4.2
nfs-utils              1.0.7
Linux C Library        2.3.5
Dynamic linker (ldd)   2.3.5
Procps                 3.2.5
Net-tools              1.60
Kbd                    1.12
Sh-utils               5.2.1
udev                   058
Modules Loaded         nfs lockd nfs_acl parport_pc lp parport autofs4 rfcomm l2cap bluetooth sunrpc dm_mod video button battery ac ipv6 uhci_hcd hw_random i2c_i801 i2c_core snd_ens1371 gameport snd_rawmidi snd_ac97_codec snd_ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc dmfe floppy ext3 jbd

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux