On Fri, 2005-05-13 at 10:00 +0200, Cor Bosman wrote:
Hi all, I noticed a problem with test69. I can recreate it with the following steps:
- create a folder
- copy about 200 emails from INBOX to this folder
The copy succeeds, I can see with rawlog that it actually moves the 200 emails around. I can see on the spool that there are 200 emails. This is maildir, with spool over NFS.
Now I immediately select the new folder. I now see only a part of the emails reported. And with rawlog I indeed see something like:
After this, are the missing mails still in new/ directory?
This I can reproduce with several different clients, but its pretty obvious it isnt a client issue. I also reproduced this with different users.
How about manually:
x select inbox x create testfold1 x copy 1:200 testfold1 x select testfold1
I couldn't reproduce it like that.
Anyone see this also? NFS issue?
Yes, almost certainly. Although I thought my code handled this differently in a way that it would have worked. Guess I'll have to change it.
The problem is that if you're rename()ing files from new/ to cur/ while readdir()ing through the new/ dir, with NFS some files are skipped.
So, choices would be to either scan/rename through the dir until it's empty, or to change the rename() happen only after everything is read to memory. I'll probably do the latter.