Greetings,

I have noticed some strange behavior with the way Cyrus interacts with
the Synchronous bit on Ext2 filesystems.  This may or may not be a
problem.  I am not sure.  I am looking for some help or advice.

Installation directions imply that setting the Synchronous bit on the
following directories:

cd /var/imap
chattr +S . user quota
chattr +S /var/spool/imap

makes Cyrus operate more reliably on Ext2, and may even fix locking
issues, etc. etc.  So I decided to give it a shot.

>From what I understand, when you set a Synchronous bit on a parent
directory, any files or sub directories that are created also inherit
the synchronous bit.  I tested this and it is true.  If I set the +S on
the mailstore directory, go into it, and create a directory called
"test", an "lsattr test" shows the sync bit is set.  Furthermore,
creating a file in this directory also shows the same.

But when you use cyradm to create a new user's mailbox, the +S bit is
not set on the new directory.  If you type "mkdir <useraccount>", the +S
bit *is* set.  It seems the inheritance only occurs when the files are
created in a Unix shell, not through a daemon such as Imap or something.

Also, new mail that gets delivered to a user's Inbox does not have the
+S, but if you create a new file in the user's Inbox, it will inherit
the +S...

If this is true, and not actually a bug or something I am doing wrong,
doesn't this throw the whole Synchronous theory out the window?

Thoughts?

-John

Reply via email to