diff --git a/src/core/ngx_conf_file.h b/src/core/ngx_conf_file.h
index 4bf6747..c1e2c01 100644
--- a/src/core/ngx_conf_file.h
+++ b/src/core/ngx_conf_file.h
@@ -150,6 +150,8 @@
 } ngx_conf_num_bounds_t;
 
 
+#define NGX_CONF_BITMASK_SET  1
+
 typedef struct {
     ngx_str_t  name;
     int        mask;
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 84e86ff..80ad9dc 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -12,7 +12,7 @@
     int  rc;
 
     if (tf->file.fd == NGX_INVALID_FILE) {
-        rc = ngx_create_temp_file(&tf->file, &tf->path, tf->pool,
+        rc = ngx_create_temp_file(&tf->file, tf->path, tf->pool,
                                   tf->persistent);
     
         if (rc == NGX_ERROR || rc == NGX_AGAIN) {
@@ -24,7 +24,7 @@
         }
     }
 
-    return ngx_write_chain_to_file(&tf->file, chain, tf->file.offset, tf->pool);
+    return ngx_write_chain_to_file(&tf->file, chain, tf->offset, tf->pool);
 }
 
 
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h
index 660750a..8cf4c7d 100644
--- a/src/core/ngx_file.h
+++ b/src/core/ngx_file.h
@@ -28,7 +28,8 @@
 
 typedef struct {
     ngx_file_t   file;
-    ngx_path_t   path;
+    off_t        offset;
+    ngx_path_t  *path;
     ngx_pool_t  *pool;
     char        *warn;
 
diff --git a/src/core/ngx_hunk.h b/src/core/ngx_hunk.h
index e68ba6d..2c6664b 100644
--- a/src/core/ngx_hunk.h
+++ b/src/core/ngx_hunk.h
@@ -20,7 +20,7 @@
 #define NGX_HUNK_RECYCLED     0x0010
 
 /* the hunk is in file */
-#define NGX_HUNK_FILE         0x0100
+#define NGX_HUNK_FILE         0x0020
 
 #define NGX_HUNK_STORAGE      (NGX_HUNK_IN_MEMORY                            \
                                |NGX_HUNK_TEMP|NGX_HUNK_MEMORY|NGX_HUNK_MMAP  \
@@ -30,9 +30,12 @@
 
 /* in thread state flush means to write the hunk completely before return */
 /* in event state flush means to start to write the hunk */
-#define NGX_HUNK_FLUSH        0x1000
+#define NGX_HUNK_FLUSH        0x0100
 /* last hunk */
-#define NGX_HUNK_LAST         0x2000
+#define NGX_HUNK_LAST         0x0200
+
+
+#define NGX_HUNK_PREREAD      0x2000
 #define NGX_HUNK_LAST_SHADOW  0x4000
 #define NGX_HUNK_TEMP_FILE    0x8000
 
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c
index 69ed5bc..f196937 100644
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -169,8 +169,12 @@
         return 0;
     }
 
-    if (!ctx->sendfile && (!(hunk->type & NGX_HUNK_IN_MEMORY))) {
-        return 1;
+    if (!ctx->sendfile) {
+        if (!(hunk->type & NGX_HUNK_IN_MEMORY)) {
+            return 1;
+        }
+
+        hunk->type &= ~NGX_HUNK_FILE;
     }
 
     if (ctx->need_in_memory && (!(hunk->type & NGX_HUNK_IN_MEMORY))) {
