On Fri, 2007-03-23 at 23:24 +0100, Guillaume Chazarain wrote: > Timo Sirainen a écrit : > > > rename("/mnt/Maildir/.Trash/new/1174635781.P25986Q0M341350.hurina", > > "/mnt/Maildir/.Trash/cur/1174635781.P25986Q0M341350.hurina:2,"); > > $ ls -li /mnt/Maildir/.Trash/new/1174635781.P25986Q0M341350.hurina /mnt/Maildir/.Trash/cur/1174635781.P25986Q0M341350.hurina:2, > 122481 -rw------- 2 1000 1000 3091 Mar 23 08:43 /mnt/Maildir/.Trash/cur/1174635781.P25986Q0M341350.hurina:2, > 122481 -rw------- 2 1000 1000 3091 Mar 23 08:43 /mnt/Maildir/.Trash/new/1174635781.P25986Q0M341350.hurina > > All your files in the list are hard linked. > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=fs/namei.c;h=ee60cc4d3453209723d6f70982e7083d7cb39477;hb=HEAD#l2447 > seems to handle your case as you see it: > if (old_dentry->d_inode == new_dentry->d_inode) > return 0; Hmm. Oh. So this is this intentional? First I ever heard of it, and also goes against my logic. I'll go complain to man pages people then. This will make my error handling difficult..
Attachment:
signature.asc
Description: This is a digitally signed message part