On Sun, 2007-03-11 at 21:45 +0200, Timo Sirainen wrote:
So the only problem is if the last uidlist rename() fails. But that I hope won't fail because it's done inside the same directory, and the maildir root directory is pretty static.
/mnt/Maildir/tmp% mv 82 83
mv: cannot move 82' to
83': No space left on device
/mnt/Maildir/tmp% mv 82 81 /mnt/Maildir/tmp%
So looks like at least Linux+ext3 allows rename()s that replace existing files, but doesn't allow rename()s that simply change the file's name. This would be enough for the dovecot-uidlist.lock renaming.
Can someone try if this works the same with filesystem quotas, and with other operating systems and filesystems?
Easiest way to fill the disk space is:
dd if=/dev/zero of=zero
for i in seq 1 1000
; do touch $i; done