Matt Dillon wrote:
>
> :On Tue, 6 Feb 2001, Matt Dillon wrote:
> :
> :> I did a quick search of the qmail site but couldn't find an email
> :> address to report the FAQ issue to. If QMail calls fsync() in a
> :> reasonable manner, then softupdates is perfectly safe and the QMail
> :> FAQ needs to be updated to recommend softupdates rather then
> :> disrecommend it.
> :>
> :> -Matt
> :
> :The question still reamins about link/unlink/rename. Is a fsync of the
> :directory necessary to ensure that they completed properly? As they take
> :filenames instead of fds, an fsync after the operation seems
> :non-intuitive. The rename manpage seems to imply that the operation is
> :synchronous - the other two are ambiguous.
> :
> :Mike "Silby" Silbersack
>
> If you rename a file and then fsync() the file's descriptor, you
> will guarentee the directory structure. Same with link. If you
> you unlink a file and still have an open descriptor you can fsync()
> the descriptor to guarentee the directory unlink. It might be a good
> idea to ftruncate() the file to 0-length in addition to unlinking it,
> prior to calling fsync(), to avoid unnecessary data block writes.
Qmail has no need for guaranteed unlink()s. It only needs atomically
link()s.
> I've never tried fsync()ing a directory descriptor so I don't know
> if that would work or not.
This is neccessary for ext2 even in sychronous mount.
> No other filesystem makes guarentees for these operations either.
> Not even normal UFS mounts.
--
Andre
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message