On Mon, Feb 04, 2002 at 10:34:02PM +0000, Stephen C. Tweedie wrote: > On Mon, Feb 04, 2002 at 05:34:52PM +0800, Yusuf Goolamabbas wrote: > > Postfix <http://www.postfix.org> does a chattr +S on its spool directory > > when it is installed on Linux. > > > > Is this still required on ext3 ? > > I'm not sure --- it depends on what Postfix's assumptions are. If it > expects all directory operations to be synchronous then the flag is > still needed. If it is satisfied with fsync flushing dir information, > then no it is not needed. I don't say that I know postfix better. Beside for calling fsync() to ensure that message safely stored on the disk, postfix also use rename(2) to move message accross queue dirs. It's okay because postfix's queue-id use inode as it's name. If I understand correctly, link(2) and unlink(2) implementation on ext3fs will be done asynchronously. This is use by postfix (unlink()) to remove messages that already delivered (by calling remove()). So, in case of power outage for example, no message will get lost, but possibly be delivered twice. Note that postfix also mark all of recipients which are already delivered as done (but without calling fsync()). Then *I think* it's save to get rid chattr +S on ext3fs. On other issue, postfix also support local delivery using maildir format (http://cr.yp.to/proto/maildir.html) which is use link(2) and unlink(2). If there is power outage, it is possible that linking file from tmp to new get failed. This is the same with losing message as there is no MUA or other mail retreival agent use that files which still stay on tmp directory. Regards, P.Y. Adi Prasaja