From: Zygo Blaxell Date: Fri, 14 May 2010 18:37:58 +0000 (-0400) Subject: dm6: drop inode and digest suffixes X-Git-Tag: dm6-0.20100514 X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=dupemerge;a=commitdiff_plain;h=06e26c8aae795bc65c74cad0a028d6707452be9c;ds=sidebyside dm6: drop inode and digest suffixes Digests are much longer than inode numbers can possibly be (*), so it's not necessary to distinguish between them. (*) Yes you could have a hypothetical filesystem with 256-bit inode numbers, but you'd have to adjust Perl and the size of 'Q' first. Either way, you're changing this code anyway. --- diff --git a/dm6 b/dm6 index a88c83e..4cd11b0 100755 --- a/dm6 +++ b/dm6 @@ -104,7 +104,7 @@ sub prepare_parents { return "$parent/$suffix"; } -sub name_quad { +sub name_ino { my ($int64) = @_; my $packed = pack('Q>', $int64); $packed =~ s/^\0+//os; @@ -116,11 +116,6 @@ sub name_quad { return $base64_packed; } -sub name_ino { - my ($ino) = @_; - return name_quad($ino) . 'I'; -} - # ext3 cannot handle more than 32000 links to a file. Leave some headroom. # Arguably this should be configurable, but the losses are miniscule and # the coding for option support is not. @@ -176,7 +171,7 @@ while () { $digest =~ y:/:_:; # Check link to digest - my $digest_link = prepare_parents($link_dir, "${digest}D"); + my $digest_link = prepare_parents($link_dir, $digest); print STDERR 'D'; my $digest_st = lstat($digest_link); if ($digest_st) {