]> mj.ucw.cz Git - libucw.git/blobdiff - lib/sorter/sbuck.c
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.11
[libucw.git] / lib / sorter / sbuck.c
index bff52d6616ca9b0bfec6cd1908da4374984b4f71..c6ebdeef3252af50f31d14b7100a81430225bcef 100644 (file)
@@ -69,10 +69,11 @@ sbuck_swap_in(struct sort_bucket *b)
 {
   if (b->flags & SBF_SWAPPED_OUT)
     {
-      b->fb = bopen_file(b->filename, O_RDWR, &sorter_fb_params);      /* FIXME: Something different for small buckets? */
+      b->fb = bopen_file(b->filename, O_RDWR, b->ctx->fb_params);
       if (b->flags & SBF_OPEN_WRITE)
        bseek(b->fb, 0, SEEK_END);
-      bconfig(b->fb, BCONFIG_IS_TEMP_FILE, 1);
+      if (!(sorter_debug & SORT_DEBUG_KEEP_BUCKETS))
+       bconfig(b->fb, BCONFIG_IS_TEMP_FILE, 1);
       b->flags &= ~SBF_SWAPPED_OUT;
       SORT_XTRACE(3, "Swapped in %s", b->filename);
     }
@@ -104,7 +105,7 @@ sbuck_write(struct sort_bucket *b)
   else
     {
       ASSERT(!(b->flags & (SBF_OPEN_READ | SBF_DESTROYED)));
-      b->fb = bopen_tmp_file(&sorter_fb_params);
+      b->fb = bopen_tmp_file(b->ctx->fb_params);
       if (sorter_debug & SORT_DEBUG_KEEP_BUCKETS)
        bconfig(b->fb, BCONFIG_IS_TEMP_FILE, 0);
       b->flags |= SBF_OPEN_WRITE;
@@ -143,7 +144,7 @@ sorter_alloc_buf(struct sort_context *ctx)
   if (ctx->big_buf)
     return;
   ctx->big_buf = big_alloc(ctx->big_buf_size);
-  SORT_XTRACE(2, "Allocated sorting buffer (%s)", stk_fsize(ctx->big_buf_size));
+  SORT_XTRACE(3, "Allocated sorting buffer (%s)", stk_fsize(ctx->big_buf_size));
 }
 
 void
@@ -153,5 +154,5 @@ sorter_free_buf(struct sort_context *ctx)
     return;
   big_free(ctx->big_buf, ctx->big_buf_size);
   ctx->big_buf = NULL;
-  SORT_XTRACE(2, "Freed sorting buffer");
+  SORT_XTRACE(3, "Freed sorting buffer");
 }