dm6: drop inode and digest suffixes dm6-0.20100514
authorZygo Blaxell <zblaxell@faye.furryterror.org>
Fri, 14 May 2010 18:37:58 +0000 (14:37 -0400)
committerZygo Blaxell <zblaxell@faye.furryterror.org>
Fri, 14 May 2010 18:37:58 +0000 (14:37 -0400)
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.

dm6

diff --git a/dm6 b/dm6
index a88c83e1d17ba04a21b04fcff8762b48301a66da..4cd11b02f43767f63a913cbaa7715c6fd553eecc 100755 (executable)
--- a/dm6
+++ b/dm6
@@ -104,7 +104,7 @@ sub prepare_parents {
        return "$parent/$suffix";
 }
 
        return "$parent/$suffix";
 }
 
-sub name_quad {
+sub name_ino {
        my ($int64) = @_;
        my $packed = pack('Q>', $int64);
        $packed =~ s/^\0+//os;
        my ($int64) = @_;
        my $packed = pack('Q>', $int64);
        $packed =~ s/^\0+//os;
@@ -116,11 +116,6 @@ sub name_quad {
        return $base64_packed;
 }
 
        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.
 # 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 (<STDIN>) {
                        $digest =~ y:/:_:;
 
                        # Check link to digest
                        $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) {
                        print STDERR 'D';
                        my $digest_st = lstat($digest_link);
                        if ($digest_st) {