hardlinks not working with inode number > 2^31

Paul Slootman paul+rsync at wurtel.net
Mon Feb 4 14:53:07 GMT 2008


It appears that the problem is not directly related to inode number
size, but to the way they are hashed to detect the same inode numbers.

If in hashtable_find() I change the following definition:

    int key64 = (tbl->node_size > sizeof (struct ht_int32_node));

to:

    int key64 = 1;

then the "key" is properly saved to a 64-bit value, instead of a 32-bit
value, and then it works.  This looks like an attempt to save space,
using 64 bits only when necessary. However the test seems flawed...


Paul Slootman



More information about the rsync mailing list