]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/fb-param.c
Updated years in all README's.
[libucw.git] / ucw / fb-param.c
index 0ad576db8b89110a22c3d7ae34c8199d657d69c4..22f988c6d42d3a03effd32c04704893a96d7ba6f 100644 (file)
@@ -25,10 +25,21 @@ struct fb_params fbpar_def = {
 static char *
 fbpar_cf_commit(struct fb_params *p UNUSED)
 {
-#ifndef CONFIG_UCW_THREADS
   if (p->type == FB_DIRECT)
-    return "Direct I/O is supported only with CONFIG_UCW_THREADS";
+    {
+#ifndef CONFIG_UCW_THREADS
+      return "Direct I/O is supported only with CONFIG_UCW_THREADS";
+#endif
+#ifdef CONFIG_DARWIN
+      return "Direct I/O is not supported on darwin";
 #endif
+#ifndef CONFIG_DIRECT_IO
+      return "Direct I/O disabled by configure switch -CONFIG_DIRECT_IO";
+#endif
+#ifndef CONFIG_UCW_FB_DIRECT
+      return "Direct I/O disabled by configure switch -CONFIG_UCW_FB_DIRECT";
+#endif
+    }
   return NULL;
 }
 
@@ -72,7 +83,7 @@ bopen_fd_internal(int fd, struct fb_params *params, uns mode, const char *name)
   struct fastbuf *fb;
   switch (params->type)
     {
-#ifdef CONFIG_UCW_THREADS
+#ifdef CONFIG_UCW_FB_DIRECT
       case FB_DIRECT:
        fb = fbdir_open_fd_internal(fd, name, params->asio,
            params->buffer_size ? : fbpar_def.buffer_size,
@@ -102,13 +113,13 @@ bopen_file_internal(const char *name, int mode, struct fb_params *params, int tr
 {
   if (!params)
     params = &fbpar_def;
-#ifdef CONFIG_UCW_THREADS
+#ifdef CONFIG_UCW_FB_DIRECT
   if (params->type == FB_DIRECT && !fbdir_cheat)
     mode |= O_DIRECT;
 #endif
   if (params->type == FB_MMAP && (mode & O_ACCMODE) == O_WRONLY)
     mode = (mode & ~O_ACCMODE) | O_RDWR;
-  int fd = sh_open(name, mode, 0666);
+  int fd = ucw_open(name, mode, 0666);
   if (fd < 0)
     if (try)
       return NULL;