[Dovecot] Attachements with SIS : shauld all the same files share the same inode ?
Yann Dupont
Yann.Dupont at univ-nantes.fr
Tue Nov 8 12:05:42 EET 2011
Hi timo, thanks for your answer
Le 05/11/2011 17:23, Timo Sirainen a écrit :
> On Mon, 2011-10-17 at 09:19 +0200, Yann Dupont wrote:
>> 104 instance of -rw------- 104 vmail vmail 346584 16 oct. 17:47
>> 6e2df299fa96daec9b4735d07c494046429be4d6-ffd0d1xxxx
>>
>> The files are hardlinked, so it seems ok, but I also see 9 others files
>> in the same directory :
>>
>>
>> -rw------- 1 vmail vmail 346584 16 oct. 17:47
>> 6e2df299fa96daec9b4735d07c494046429be4d6-0519df2a94fc9a4e1f4100008a6b99b6
>> -rw------- 1 vmail vmail 346584 16 oct. 17:47
>> 6e2df299fa96daec9b4735d07c494046429be4d6-1790b92994fc9a4e1a4100008a6b99b6
>>
>> as you can see, same prefix, If I compare them with diff, they are all
>> the same files.
>
> I guess you have "mail_attachment_fs = sis posix" (default)? Sounds like
yes that's the case.
> there could be a bug where SIS does comparison of files but for some
> reason thinks they are different.
>
Well I can't try anymore on this, because this particular attachment is
not there. In fact this server keeps only 2 weeks of mails for 5000+
accounts (a form of backup for the main servers).
I'll take a new one :
->
rw------- 103 vmail vmail 571037 7 nov. 13:40
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c0c2230ecdd1b74ec91600008a6b99b6
-rw------- 103 vmail vmail 571037 7 nov. 13:40
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c1c1290ecdd1b74ec51600008a6b99b6
-rw------- 1 vmail vmail 571037 7 nov. 13:40
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6
So
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6 has
only one link,
but
diff
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c1c1290ecdd1b74ec51600008a6b99b6 f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6
tell nothing : they are same files.
> You could try if you can merge them with:
>
> mkdir /tmp/queue
> touch /tmp/queue/6e2df299fa96daec9b4735d07c494046429be4d6-foo
> doveadm sis deduplicate /var/attachments /tmp/queue
>
>
hum I didn't get what you want to do ? Does putting a 0 byte file there
force a complete rescan ?
Tried it :
the 0 byte length
/tmp/queue/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-foo disappear from
the /tmp/queue, but
f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6 still
has one link.
A strace reveal this
stat("/vmail/attachments-deduplic", {st_mode=S_IFDIR|0700, st_size=8192,
...}) = 0
open("/tmp/queue", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
getdents(8, /* 3 entries */, 32768) = 112
stat("/tmp/queue/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-foo",
{st_mode=S_IFREG|0644, st_size=0, ...}) = 0
link("/vmail/attachments-deduplic/f7/c9/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-foo",
"/vmail/attachments-deduplic/f7/c9/hashes/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667")
= -1 ENOENT (No such file or directory)
mkdir("/vmail/attachments-deduplic/f7/c9/hashes", 0700) = -1 EEXIST
(File exists)
unlink("/tmp/queue/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-foo") = 0
getdents(8, /* 0 entries */, 32768) = 0
close(8) = 0
Tried with a copy of the file but this doesn't work either :
stat("/vmail/attachments-deduplic", {st_mode=S_IFDIR|0700, st_size=8192,
...}) = 0
open("/tmp/queue", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
getdents(8, /* 3 entries */, 32768) = 144
stat("/tmp/queue/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6",
{st_mode=S_IFREG|0600, st_size=571037, ...}) = 0
write(2, "doveadm(root): Fatal: /tmp/queue"..., 170doveadm(root): Fatal:
/tmp/queue/f7c9746ed59fd838cbbfca08cde3c33b6b7ab667-c67f0e29bad1b74e7e1500008a6b99b6
is not a valid sis-queue file, is the queue directory correct?
How can I help further ?
Thanks,
--
Yann Dupont - Service IRTS, DSI Université de Nantes
Tel : 02.53.48.49.20 - Mail/Jabber : Yann.Dupont at univ-nantes.fr
More information about the dovecot
mailing list