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.

Reply via email to