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) {


Reply via email to