2004-06-09 16:56:23

by Andy

[permalink] [raw]
Subject: XFS over NFS corruption

I thought I had seen the bug even writing to an non-XFS nfs server, but I
can't absolutely confirm this at the time (I was not doing the testing at the
time, and some of the result may not have been accurate)

But, the description of bug #198 on the XFS bugzilla, does sound like what I
am seeing.

What I do in my tests is take a file of offsets (every group of 4 bytes
contains the offset of the 1st byte of the group) and copy that file to an
nfs mounted volume and then compare the local copy to the remote copy
(copying to several systems, each server is also receiving from several
systems). After a while I will see errors in the compare, data appearing at
the wrong offset in the file. The amount of data is small (<64k), always an
8k boundary at a large offset discrepancy (100's of megs). I've attached
the mkoffsetfile.c and cmpoffsets.c programs used for testing.

Sample of cmpoffsets output :

431128576-431161343 (32768) (held data from 738426880-738459647)
starts at a 65536-byte block
ends at a 524288-byte block

Hope this helps.

Andy


Attachments:
(No filename) (1.04 kB)
mkoffsetfile.c (223.00 B)
cmpoffsets.c (1.83 kB)
Download all attachments

2004-06-09 18:22:05

by Craig Tierney

[permalink] [raw]
Subject: Re: XFS over NFS corruption

On Wed, 2004-06-09 at 11:49, Marat Mukhitov wrote:
> Andy ,
>
> We had a similar problem.
> Changing "async" to "sync" option of exportfs on NFS server helps in our case.
>
> Regards,
> Marat

Changing that option kills performance though. Also, in my
case where I am getting corruption, switching to sync did
not help.

Craig

>
>
> On Wednesday 09 June 2004 18:54, Andy wrote:
> > I thought I had seen the bug even writing to an non-XFS nfs server, but I
> > can't absolutely confirm this at the time (I was not doing the testing at
> > the time, and some of the result may not have been accurate)
> >
> > But, the description of bug #198 on the XFS bugzilla, does sound like what
> > I am seeing.
> >
> > What I do in my tests is take a file of offsets (every group of 4 bytes
> > contains the offset of the 1st byte of the group) and copy that file to an
> > nfs mounted volume and then compare the local copy to the remote copy
> > (copying to several systems, each server is also receiving from several
> > systems). After a while I will see errors in the compare, data appearing
> > at the wrong offset in the file. The amount of data is small (<64k),
> > always an 8k boundary at a large offset discrepancy (100's of megs). I've
> > attached the mkoffsetfile.c and cmpoffsets.c programs used for testing.
> >
> > Sample of cmpoffsets output :
> >
> > 431128576-431161343 (32768) (held data from 738426880-738459647)
> > starts at a 65536-byte block
> > ends at a 524288-byte block
> >
> > Hope this helps.
> >
> > Andy
>
>