I actually meant that you should do both. But no, 1) shouldn't cause
problems.
Or actually looking at the code, it already tries to detect duplicate
hard links and unlinks one of them. You could change the code from:
if (st1.st_ino == st2.st_ino &&
CMP_DEV_T(st1.st_dev, st2.st_dev)) {
/* Files are the same. this means either a race condition
between stat() calls, or that the files were link()ed. */
if (st1.st_nlink > 1 && st2.st_nlink == st1.st_nlink &&
st1.st_ctime == st2.st_ctime &&
st1.st_ctime < ioloop_time - DUPE_LINKS_DELETE_SECS) {
to just something like:
if (st1.st_size == st2.st_size) {
and then some day when your migrations are done switch it back.
This looks like it has done the trick! Thank you very much! Looking
forward to dovecot 2.0
--
Jordan Tardif
DreamHost