--- 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;