Ted Unangst <t...@tedunangst.com> wrote:

> Theo de Raadt wrote:
> > How does sync() fix this?  Please explain this.  Look at the source
> > code.
> > 
> > sync() is an asyncronous call requesting syncronization, and once
> > it has marked the blocks that should be pushed, it returns before
> > the work has been done.
> 
> Ah, indeed.
> 
> > > 2. cp could do an fsync call. There was a thread about this a while ago?
> > 
> > How does fsync fix this?  What if it returns an error.  What do you do next.
> > Should cp spin until fsync returns non-error, or what should it do.
> 
> Exit with an error? Same as if it got EIO or ENOSPC from a write? Then the
> command chain will stop before the mv.

The OP demonstrated a problem.  Any solution presented should try to fix
the problem, not just "maybe".


Reply via email to