hurdextras-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libfuse/src netfs.c


From: Stefan Siegl
Subject: libfuse/src netfs.c
Date: Thu, 03 Aug 2006 17:45:43 +0000

CVSROOT:        /sources/hurdextras
Module name:    libfuse
Changes by:     Stefan Siegl <stesie>   06/08/03 17:45:43

Modified files:
        src            : netfs.c 

Log message:
        call open and release callbacks on read/write even in fuse_ops_compat2 
mode

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libfuse/src/netfs.c?cvsroot=hurdextras&r1=1.2&r2=1.3

Patches:
Index: netfs.c
===================================================================
RCS file: /sources/hurdextras/libfuse/src/netfs.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- netfs.c     13 Apr 2006 22:52:47 -0000      1.2
+++ netfs.c     3 Aug 2006 17:45:43 -0000       1.3
@@ -1012,8 +1012,12 @@
 
   node->nn->info.compat22.writepage = 0; /* cannot distinct on the Hurd :( */
 
-  if(fuse_ops_compat22 && fuse_ops_compat22->open)
-    if((err = fuse_ops_compat22->open(node->nn->path,
+  if(fuse_ops_compat2 && fuse_ops_compat2->open
+     && (err = fuse_ops_compat2->open(node->nn->path,
+                                     node->nn->info.compat22.flags)))
+    goto out;
+  else if(fuse_ops_compat22 && fuse_ops_compat22->open
+         && (err = fuse_ops_compat22->open(node->nn->path,
                                      &node->nn->info.compat22)))
       goto out;
 
@@ -1032,7 +1036,10 @@
   if(sz >= 0 && fuse_ops_compat22 && fuse_ops_compat22->flush)
     err = fuse_ops_compat22->flush(node->nn->path, &node->nn->info.compat22);
 
-  if(fuse_ops_compat22 && fuse_ops_compat22->open
+  if(fuse_ops_compat2 && fuse_ops_compat2->open && fuse_ops_compat2->release)
+    fuse_ops_compat2->release(node->nn->path, node->nn->info.compat22.flags);
+
+  else if(fuse_ops_compat22 && fuse_ops_compat22->open
      && fuse_ops_compat22->release)
     fuse_ops_compat22->release(node->nn->path, &node->nn->info.compat22);
      
@@ -1112,8 +1119,12 @@
       goto out;
     }
 
-  if(fuse_ops_compat22 && fuse_ops_compat22->open)
-    if((err = fuse_ops_compat22->open(node->nn->path,
+  if(fuse_ops_compat2 && fuse_ops_compat2->open
+     && (err = fuse_ops_compat2->open(node->nn->path,
+                                     node->nn->info.compat22.flags)))
+    goto out;
+  else if(fuse_ops_compat22 && fuse_ops_compat22->open
+         && (err = fuse_ops_compat22->open(node->nn->path,
                                      &node->nn->info.compat22)))
       goto out;
 
@@ -1132,7 +1143,10 @@
   if(sz >= 0 && fuse_ops_compat22 && fuse_ops_compat22->flush)
     err = fuse_ops_compat22->flush(node->nn->path, &node->nn->info.compat22);
 
-  if(fuse_ops_compat22 && fuse_ops_compat22->open
+  if(fuse_ops_compat2 && fuse_ops_compat2->open && fuse_ops_compat2->release)
+    fuse_ops_compat2->release(node->nn->path, node->nn->info.compat22.flags);
+
+  else if(fuse_ops_compat22 && fuse_ops_compat22->open
      && fuse_ops_compat22->release)
     fuse_ops_compat22->release(node->nn->path, &node->nn->info.compat22);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]