[Groonga-commit] groonga/groonga at bd55bd9 [master] io: share common code to compute base segment address

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Jan 16 14:49:37 JST 2015


Kouhei Sutou	2015-01-16 14:49:37 +0900 (Fri, 16 Jan 2015)

  New Revision: bd55bd9b0e24b577a4c55c19f54806cf922da240
  https://github.com/groonga/groonga/commit/bd55bd9b0e24b577a4c55c19f54806cf922da240

  Message:
    io: share common code to compute base segment address

  Modified files:
    lib/io.c

  Modified: lib/io.c (+8 -2)
===================================================================
--- lib/io.c    2015-01-16 14:45:16 +0900 (18532b2)
+++ lib/io.c    2015-01-16 14:49:37 +0900 (3853dc8)
@@ -111,6 +111,12 @@ grn_io_compute_base(uint32_t header_size)
   return (total_header_size + grn_pagesize - 1) & ~(grn_pagesize - 1);
 }
 
+static inline uint32_t
+grn_io_compute_base_segment(uint32_t base, uint32_t segment_size)
+{
+  return (base + segment_size - 1) / segment_size;
+}
+
 grn_io *
 grn_io_create_tmp(uint32_t header_size, uint32_t segment_size,
                   uint32_t max_segment, grn_io_mode mode, uint32_t flags)
@@ -207,7 +213,7 @@ grn_io_create(grn_ctx *ctx, const char *path, uint32_t header_size, uint32_t seg
   }
   if (!*path || (strlen(path) > PATH_MAX - 4)) { return NULL; }
   b = grn_io_compute_base(header_size);
-  bs = (b + segment_size - 1) / segment_size;
+  bs = grn_io_compute_base_segment(b, segment_size);
   max_nfiles = (unsigned int)(
     ((uint64_t)segment_size * (max_segment + bs) + GRN_IO_FILE_SIZE - 1)
     / GRN_IO_FILE_SIZE);
@@ -455,7 +461,7 @@ grn_io_open(grn_ctx *ctx, const char *path, grn_io_mode mode)
     if (!segment_size) { return NULL; }
   }
   b = grn_io_compute_base(header_size);
-  bs = (b + segment_size - 1) / segment_size;
+  bs = grn_io_compute_base_segment(b, segment_size);
   max_nfiles = (unsigned int)(
     ((uint64_t)segment_size * (max_segment + bs) + GRN_IO_FILE_SIZE - 1)
     / GRN_IO_FILE_SIZE);
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index