9 messages in net.sourceforge.lists.courier-users[courier-users] Courier Imap + NFS ma...
FromSent OnAttachments
Pavel GeorgievNov 26, 2007 7:35 am.log
Jose CelestinoNov 26, 2007 8:19 am 
Gordon MessmerNov 26, 2007 9:23 am 
Pavel GeorgievNov 26, 2007 10:15 am 
Gordon MessmerNov 26, 2007 10:29 am 
Pavel GeorgievNov 26, 2007 10:48 am 
Pavel GeorgievNov 27, 2007 9:42 am 
Pavel GeorgievNov 30, 2007 1:15 pm 
Sam VarshavchikNov 30, 2007 3:16 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[courier-users] Courier Imap + NFS mailboxesActions...
From:Pavel Georgiev (pav@netclime.com)
Date:Nov 26, 2007 7:35:19 am
List:net.sourceforge.lists.courier-users
Attachments:

Hi,

I have postfix + courier running on two servers with mailboxes shared on a third server shared over nfs.

When I access a mailbox over imap, I see it trying to rename files from ./new to ./cur, which is OK. The problem is that the syscall returns 0 (which is success) but the file is still in ./new, so the when imapd list the dir again it still sees the same files and tries to rename them. This loops continues for long enough to make the imap client give up. See the attached strace log of the imapd process with the loop.

When I try to `ls` some of the files that it tries to rename, I see that there are still in ./new, which is odd as rename seems to succeed. However if I do the same `ls` on the nfs server where the mailboxes are, I see that it the files are already renamed to ./cur.

To eliminate nfs race conditions I`ve turned the second mail server off, so there is only one nfs client accessing the mailboxes. The nfs server is a linux box as well, running Ubuntu 7.04, the underlying fs is reiserfs and it runs on top of drbd (if this makes any differance).

I guess this is some nfs issue, I really hope someone had the same problem and probably a solution for this.

[pid 6165] open("./new", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4 [pid 6165] fstat64(4, {st_mode=S_IFDIR|S_ISGID|0700, st_size=3936, ...}) = 0 [pid 6165] fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 [pid 6165] getdents64(4, /* 63 entries */, 32768) = 3952 [pid 6165] close(4) = 0 [pid 6165] rename("./new/1196076054.VeI1aaf5fM482906.vm-mail1.ba.nc",
"./cur/1196076054.VeI1aaf5fM482906.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075517.VeI195afM906331.vm-mail1.ba.nc",
"./cur/1196075517.VeI195afM906331.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196071149.VeI19d8a4M778053.vm-mail1.ba.nc",
"./cur/1196071149.VeI19d8a4M778053.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083207.VeI1ab09aM10517.vm-mail1.ba.nc",
"./cur/1196083207.VeI1ab09aM10517.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196072827.VeI1aaeceM110877.vm-mail1.ba.nc",
"./cur/1196072827.VeI1aaeceM110877.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075532.VeI195b2M958773.vm-mail1.ba.nc",
"./cur/1196075532.VeI195b2M958773.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196072830.VeI1aaed1M268946.vm-mail1.ba.nc",
"./cur/1196072830.VeI1aaed1M268946.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083273.VeI1ab0afM407018.vm-mail1.ba.nc",
"./cur/1196083273.VeI1ab0afM407018.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196086898.VeI19e532M895618.vm-mail1.ba.nc",
"./cur/1196086898.VeI19e532M895618.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196089266.VeI197635M88016.vm-mail1.ba.nc",
"./cur/1196089266.VeI197635M88016.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083092.VeI1ab08fM871539.vm-mail1.ba.nc",
"./cur/1196083092.VeI1ab08fM871539.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196077473.VeI1aafb5M730820.vm-mail1.ba.nc",
"./cur/1196077473.VeI1aafb5M730820.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075524.VeI195b1M138841.vm-mail1.ba.nc",
"./cur/1196075524.VeI195b1M138841.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196084568.VeI1ab0eeM963324.vm-mail1.ba.nc",
"./cur/1196084568.VeI1ab0eeM963324.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196086600.VeI1ab24fM444178.vm-mail2.ba.nc",
"./cur/1196086600.VeI1ab24fM444178.vm-mail2.ba.nc:2,") = 0 [pid 6165] rename("./new/1196079139.VeI1aafc9M869772.vm-mail1.ba.nc",
"./cur/1196079139.VeI1aafc9M869772.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196084307.VeI1ab0daM258225.vm-mail1.ba.nc",
"./cur/1196084307.VeI1ab0daM258225.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196085543.VeI1ab174M321956.vm-mail1.ba.nc",
"./cur/1196085543.VeI1ab174M321956.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196076932.VeI1aafa9M541312.vm-mail1.ba.nc",
"./cur/1196076932.VeI1aafa9M541312.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196088759.VeI1a1345M930871.vm-mail1.ba.nc",
"./cur/1196088759.VeI1a1345M930871.vm-mail1.ba.nc:2,") = 0

[pid 6165] open("./new", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4 [pid 6165] fstat64(4, {st_mode=S_IFDIR|S_ISGID|0700, st_size=2656, ...}) = 0 [pid 6165] fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 [pid 6165] getdents64(4, /* 63 entries */, 32768) = 3952 [pid 6165] close(4) = 0 [pid 6165] rename("./new/1196076054.VeI1aaf5fM482906.vm-mail1.ba.nc",
"./cur/1196076054.VeI1aaf5fM482906.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075517.VeI195afM906331.vm-mail1.ba.nc",
"./cur/1196075517.VeI195afM906331.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196071149.VeI19d8a4M778053.vm-mail1.ba.nc",
"./cur/1196071149.VeI19d8a4M778053.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083207.VeI1ab09aM10517.vm-mail1.ba.nc",
"./cur/1196083207.VeI1ab09aM10517.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196072827.VeI1aaeceM110877.vm-mail1.ba.nc",
"./cur/1196072827.VeI1aaeceM110877.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075532.VeI195b2M958773.vm-mail1.ba.nc",
"./cur/1196075532.VeI195b2M958773.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196072830.VeI1aaed1M268946.vm-mail1.ba.nc",
"./cur/1196072830.VeI1aaed1M268946.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083273.VeI1ab0afM407018.vm-mail1.ba.nc",
"./cur/1196083273.VeI1ab0afM407018.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196086898.VeI19e532M895618.vm-mail1.ba.nc",
"./cur/1196086898.VeI19e532M895618.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196089266.VeI197635M88016.vm-mail1.ba.nc",
"./cur/1196089266.VeI197635M88016.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196083092.VeI1ab08fM871539.vm-mail1.ba.nc",
"./cur/1196083092.VeI1ab08fM871539.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196077473.VeI1aafb5M730820.vm-mail1.ba.nc",
"./cur/1196077473.VeI1aafb5M730820.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196075524.VeI195b1M138841.vm-mail1.ba.nc",
"./cur/1196075524.VeI195b1M138841.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196084568.VeI1ab0eeM963324.vm-mail1.ba.nc",
"./cur/1196084568.VeI1ab0eeM963324.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196086600.VeI1ab24fM444178.vm-mail2.ba.nc",
"./cur/1196086600.VeI1ab24fM444178.vm-mail2.ba.nc:2,") = 0 [pid 6165] rename("./new/1196079139.VeI1aafc9M869772.vm-mail1.ba.nc",
"./cur/1196079139.VeI1aafc9M869772.vm-mail1.ba.nc:2,") = 0 [pid 6165] rename("./new/1196084307.VeI1ab0daM258225.vm-mail1.ba.nc",
"./cur/1196084307.VeI1ab0daM258225.vm-mail1.ba.nc:2,") = 0