Author: jukka
Date: Fri Feb 28 01:36:43 2014
New Revision: 1572803
URL: http://svn.apache.org/r1572803
Log:
OAK-593: Segment-based MK
Pre-allocate full tar files on first access
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java?rev=1572803&r1=1572802&r2=1572803&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
Fri Feb 28 01:36:43 2014
@@ -69,6 +69,15 @@ class TarFile {
} else {
this.access = new RandomAccess(file);
}
+ if (len == 0) {
+ // allocate the full file by writing the last two blocks
+ access.write(
+ maxFileSize - ZERO_BYTES.length * 2,
+ ZERO_BYTES, 0, ZERO_BYTES.length);
+ access.write(
+ maxFileSize - ZERO_BYTES.length,
+ ZERO_BYTES, 0, ZERO_BYTES.length);
+ }
this.position = 0;
while (position + BLOCK_SIZE <= len) {