# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1311624222 -7200 # Node ID 867424a1db61c1f4c7e400f7b2418e80781d4ac0 # Parent f218b05f1da4d9307a8f85240f1769aa7091909b prepare DIRTY for a tied variable diff -r f218b05f1da4 -r 867424a1db61 fuse --- a/fuse Mon Jul 25 21:53:47 2011 +0200 +++ b/fuse Mon Jul 25 22:03:42 2011 +0200 @@ -130,8 +130,8 @@ my $length = $finfo->{meta}{blocksize} - $blockoffset; $length = $size if $size <= $length; - if (exists $DIRTY{$finfo}{$block}) { - return substr $DIRTY{$finfo}{$block}, $blockoffset, $length; + if (exists $DIRTY{$finfo.$block}) { + return substr $DIRTY{$finfo.$block}, $blockoffset, $length; } my $fn = "$DATA/" . $finfo->{blocklist}{$block}; @@ -178,8 +178,8 @@ my $block = int($offset / $finfo->{meta}{blocksize}); my $blockoffset = $offset % $finfo->{meta}{blocksize}; - if (not exists $DIRTY{$finfo}{$block}) { - $DIRTY{$finfo}{$block} = _readblock( + if (not exists $DIRTY{$finfo.$block}) { + $DIRTY{$finfo.$block} = _readblock( $finfo, $finfo->{meta}{blocksize}, $block * $finfo->{meta}{blocksize}); @@ -188,7 +188,7 @@ my $length = $finfo->{meta}{blocksize} - $blockoffset; $length = $size if $size < $length; - substr($DIRTY{$finfo}{$block}, $blockoffset, $length) + substr($DIRTY{$finfo.$block}, $blockoffset, $length) = substr($buffer, 0, $length); return $length;