Author: toad
Date: 2007-03-08 00:00:43 +0000 (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)
@@ -1111,10 +1111,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);