From owner-freebsd-hackers Tue Feb 6 11:20:59 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 83A2437B503 for ; Tue, 6 Feb 2001 11:20:42 -0800 (PST) Received: (from dillon@localhost) by earth.backplane.com (8.11.1/8.9.3) id f16JKdN64467; Tue, 6 Feb 2001 11:20:39 -0800 (PST) (envelope-from dillon) Date: Tue, 6 Feb 2001 11:20:39 -0800 (PST) From: Matt Dillon Message-Id: <200102061920.f16JKdN64467@earth.backplane.com> To: Mike Silbersack Cc: Andre Oppermann , Poul-Henning Kamp , Charles Randall , Dan Phoenix , Alfred Perlstein , Jos Backus , Subject: Re: soft updates and qmail (RE: qmail IO problems) References: Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :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. I've never tried fsync()ing a directory descriptor so I don't know if that would work or not. No other filesystem makes guarentees for these operations either. Not even normal UFS mounts. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message