]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/fb-direct.c
Conf: Introduced cf_set_journalling()
[libucw.git] / ucw / fb-direct.c
index 71e7351b449d6ab51414a217a8f8f9538e357fc5..f87baa36316ba4ebfd78ce4d3371e3e9ce2a3491 100644 (file)
 
 #undef LOCAL_DEBUG
 
-#include "ucw/lib.h"
-#include "ucw/fastbuf.h"
-#include "ucw/lfs.h"
-#include "ucw/asio.h"
-#include "ucw/conf.h"
-#include "ucw/threads.h"
+#include <ucw/lib.h>
+#include <ucw/fastbuf.h>
+#include <ucw/io.h>
+#include <ucw/asio.h>
+#include <ucw/conf.h>
+#include <ucw/threads.h>
 
 #include <string.h>
 #include <fcntl.h>
@@ -57,7 +57,7 @@ struct fb_direct {
   enum fbdir_mode mode;
   byte name[0];
 };
-#define FB_DIRECT(f) ((struct fb_direct *)(f)->is_fastbuf)
+#define FB_DIRECT(f) ((struct fb_direct *)(f))
 
 #ifndef TEST
 uns fbdir_cheat;
@@ -159,7 +159,7 @@ fbdir_refill(struct fastbuf *f)
   if (!r->status)
     return 0;
   if (r->status < 0)
-    die("Error reading %s: %s", f->name, strerror(r->returned_errno));
+    bthrow(f, "read", "Error reading %s: %s", f->name, strerror(r->returned_errno));
   f->bptr = f->buffer = r->buffer;
   f->bstop = f->bufend = f->buffer + r->status;
   f->pos += r->status;
@@ -193,7 +193,7 @@ fbdir_spout(struct fastbuf *f)
          asio_sync(F->io_queue);
          DBG("FB-DIRECT: Truncating at %llu", (long long)f->pos);
          if (ucw_ftruncate(F->fd, f->pos) < 0)
-           die("Error truncating %s: %m", f->name);
+           bthrow(f, "write", "Error truncating %s: %m", f->name);
        }
       else
        asio_submit(r);
@@ -308,13 +308,12 @@ fbdir_open_fd_internal(int fd, const char *name, struct asio_queue *q, uns buffe
   f->close = fbdir_close;
   f->config = fbdir_config;
   f->can_overwrite_buffer = 2;
-  fb_tie(f);
   return f;
 }
 
 #ifdef TEST
 
-#include "ucw/getopt.h"
+#include <ucw/getopt.h>
 
 int main(int argc, char **argv)
 {