Author: j16sdiz
Date: 2008-11-30 07:11:54 +0000 (Sun, 30 Nov 2008)
New Revision: 23995
Modified:
trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
Log:
don't write to new store position until the file space have allocated
(not well tested -- please test this on windows)
Modified: trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
2008-11-29 23:43:34 UTC (rev 23994)
+++ trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
2008-11-30 07:11:54 UTC (rev 23995)
@@ -331,6 +331,8 @@
}
Entry entry = new Entry(routingKey, header,
data);
+ if (!storeFileSizeSetted && prevStoreSize != 0
&& prevStoreSize < storeSize)
+ entry.storeSize = prevStoreSize;
long[] offset = entry.getOffset();
for (int i = 0; i < offset.length; i++) {
@@ -574,6 +576,8 @@
}
}
+ private boolean storeFileSizeSetted = false;
+
/**
* Open all store files
*
@@ -600,6 +604,7 @@
WrapperManager.signalStarting(10 * 60 * 1000); // 10minutes,
for filesystem that support no sparse file.
setStoreFileSize(storeFileSize, true);
+ storeFileSizeSetted = true;
return newStore;
}
@@ -1019,6 +1024,7 @@
public void init() {
if (storeSize > _prevStoreSize)
setStoreFileSize(storeSize,
false);
+ storeFileSizeSetted = true;
optimialK =
BloomFilter.optimialK(bloomFilterSize, storeSize);
configLock.writeLock().lock();
@@ -1486,6 +1492,7 @@
prevStoreSize = storeSize;
storeSize = newStoreSize;
+ storeFileSizeSetted = false;
writeConfigFile();
} finally {
configLock.writeLock().unlock();
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs