X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ucw%2Ffb-atomic.c;h=32c9ca9bfe3facd3da41bc29537bd2f321fd9916;hb=ca1e06ed14e04fe2bcff4dca15cdea1e65a5ab65;hp=5eca3905770afb4a62be08b3d8739665a500d515;hpb=343150ef4c405939d98421d5ac4c09f9565ef35a;p=libucw.git diff --git a/ucw/fb-atomic.c b/ucw/fb-atomic.c index 5eca3905..32c9ca9b 100644 --- a/ucw/fb-atomic.c +++ b/ucw/fb-atomic.c @@ -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 {