[freenet-cvs] r12022 - trunk/freenet/src/freenet/store

2007-03-08 Thread [email protected]
Author: toad
Date: 2007-03-08 00:00:43 + (Thu, 08 Mar 2007)
New Revision: 12022

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Correct logic for handling EOF in the middle of a block.

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-07 
22:56:06 UTC (rev 12021)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 
00:00:43 UTC (rev 12022)
@@ -,10 +,14 @@
}
}
} catch (EOFException e) {
-   System.err.println("Caught EOF, migrating...");
+   long size = l * (dataBlockSize + headerBlockSize);
+   System.err.println("Caught EOF, truncating to "+l+" 
blocks : "+size);
chkBlocksInStore = l;
-   migrate();
-   return;
+   try {
+   chkStore.setLength(size);
+   } catch (IOException e1) {
+   System.err.println("Failed to set size");
+   }
} catch (IOException e) {
Logger.error(this, "Caught "+e, e);
throw new Error(e);




[freenet-cvs] r12022 - trunk/freenet/src/freenet/store

2007-03-07 Thread toad
Author: toad
Date: 2007-03-08 00:00:43 + (Thu, 08 Mar 2007)
New Revision: 12022

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Correct logic for handling EOF in the middle of a block.

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-07 
22:56:06 UTC (rev 12021)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 
00:00:43 UTC (rev 12022)
@@ -,10 +,14 @@
}
}
} catch (EOFException e) {
-   System.err.println("Caught EOF, migrating...");
+   long size = l * (dataBlockSize + headerBlockSize);
+   System.err.println("Caught EOF, truncating to "+l+" 
blocks : "+size);
chkBlocksInStore = l;
-   migrate();
-   return;
+   try {
+   chkStore.setLength(size);
+   } catch (IOException e1) {
+   System.err.println("Failed to set size");
+   }
} catch (IOException e) {
Logger.error(this, "Caught "+e, e);
throw new Error(e);

___
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs