]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/fb-atomic.c
make Sherlock compilable on Darwin without hacks due to missing direct IO
[libucw.git] / ucw / fb-atomic.c
index 5eca3905770afb4a62be08b3d8739665a500d515..32c9ca9bfe3facd3da41bc29537bd2f321fd9916 100644 (file)
@@ -7,31 +7,6 @@
  *     of the GNU Lesser General Public License.
  */
 
-/*
- *     This fastbuf backend is intended for cases where several threads
- *     of a single program append records to a single file and while the
- *     record can mix in an arbitrary way, the bytes inside a single
- *     record must remain uninterrupted.
- *
- *     In case of files with fixed record size, we just allocate the
- *     buffer to hold a whole number of records and take advantage
- *     of the atomicity of the write() system call.
- *
- *     With variable-sized records, we need another solution: when
- *     writing a record, we keep the fastbuf in a locked state, which
- *     prevents buffer flushing (and if the buffer becomes full, we extend it),
- *     and we wait for an explicit commit operation which write()s the buffer
- *     if the free space in the buffer falls below the expected maximum record
- *     length.
- *
- *     fbatomic_open() is called with the following parameters:
- *         name - name of the file to open
- *         master - fbatomic for the master thread or NULL if it's the first open
- *         bufsize - initial buffer size
- *         record_len - record length for fixed-size records;
- *             or -(expected maximum record length) for variable-sized ones.
- */
-
 #include "ucw/lib.h"
 #include "ucw/fastbuf.h"
 #include "ucw/lfs.h"
@@ -43,6 +18,8 @@
 
 static uns trace;
 
+#ifndef TEST
+
 static struct cf_section fbatomic_config = {
   CF_ITEMS {
     CF_UNS("Trace", &trace)
@@ -54,6 +31,8 @@ static void CONSTRUCTOR fbatomic_init_config(void)
   cf_declare_section("FBAtomic", &fbatomic_config, 1);
 }
 
+#endif
+
 #define TRACE(m...) do { if(trace) msg(L_DEBUG, "FB_ATOMIC: " m); } while(0)
 
 struct fb_atomic_file {