inconsistent file content after killing nfs daemon

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

 



Stephen,

To answer your question, the problem seems to be reproductible only in
asynchronous mode (without O_SYNC).
I have reproduced the case ( without O_SYNC) using different record sizes=
:
from 1 K to 64 K, but not with 512 bytes.
It makes sense that the the zeroed holes in the file are caused by the nf=
s
client absence of serialisation/ ordering as the file is used in extensio=
n.
With O_SYNC i haven't reproduced the same problem for the moment.

Regards,
Eric

NB: I always used mount with rsize =3D wsize =3D 8192.

"Stephen C. Tweedie" a =E9crit :

> Hi,
>
> On Wed, Jan 09, 2002 at 06:05:30PM +0100, eric chacron wrote:
> > Hi Stephen,
> >
> > I use ext3 with kernel 2.4.14. I'm happy to have verified that nfs+ex=
t3
> > in journal mode doesn't provide
> > atomic write for the user point of view.
> >
> > My program writes sequential records of 64KB in a file through a nfs
> > mount point. The blocks of data are
> > initialized with a serie of integer: 1, 2, 3 ...
> > I kill the nfsd daemons while two instance of the program are writing
> > their 600 records of
> > 64KB in two distinct files.
> > Then using 'od' i look at the result, and i see some blocks of zero
> > inside the file. The size of these zeroed blocks seems to be multiple
> > of  h'4000.
>
> NFS is a stateless protocol.  It has absolutely no serialisation or
> ordering in the protocol, so a given set of application writes can
> easily get reordered on the wire (especially if you are running over
> UDP and encounter any dropped packets.)
>
> The problem here is not ext3, but NFS.  NFS simply does not make any
> ordering guarantees at all.
>
> Is your application using O_SYNC or f[data]sync to impose ordering on
> the data stream?
>
> Cheers,
>  Stephen
>
> _______________________________________________
> 
> Ext3-users@redhat.com
> https://listman.redhat.com/mailman/listinfo/ext3-users





[Index of Archives]         [Linux RAID]     [Kernel Development]     [Red Hat Install]     [Video 4 Linux]     [Postgresql]     [Fedora]     [Gimp]     [Yosemite News]

  Powered by Linux