Skip to contentSkip to conversation

fs-backend: fix FD allocation for file creation

PATCH New Samuel Thibault 1 participant 1 message Jul 25, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fs-backend: fix FD allocation for file creation

fs-backend: fix FD allocation for file creation

The creation operation also opens a file, we need to allocate a virtual fd for that too.

tools/fs-back/fs-ops.c +11 -1
diff -r 70a43a82aaf1 tools/fs-back/fs-ops.c
@@ -461,7 +461,17 @@
     else
     {
         printf("Issuing create for file: %s\n", full_path);
-        ret = creat(full_path, mode); 
+        ret = get_fd(mount);
+        if (ret >= 0) {
+            int real_fd = creat(full_path, mode); 
+            if (real_fd < 0)
+                ret = -1;
+            else
+            {
+                mount->fds[ret] = real_fd;
+                printf("Got FD: %d for real %d\n", ret, real_fd);
+            }
+        }
     }
     printf("Got ret %d (errno=%d)\n", ret, errno);