Module Name:    src
Committed By:   manu
Date:           Thu Sep  2 08:58:06 UTC 2010

Modified Files:
        src/lib/libperfuse: ops.c

Log Message:
- only remove queued requests once they are executed, not when they
are set to be scheduled later
- remove an unused argument to make lint happy


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/lib/libperfuse/ops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libperfuse/ops.c
diff -u src/lib/libperfuse/ops.c:1.5 src/lib/libperfuse/ops.c:1.6
--- src/lib/libperfuse/ops.c:1.5	Wed Sep  1 14:57:24 2010
+++ src/lib/libperfuse/ops.c	Thu Sep  2 08:58:06 2010
@@ -1,4 +1,4 @@
-/*  $NetBSD: ops.c,v 1.5 2010/09/01 14:57:24 manu Exp $ */
+/*  $NetBSD: ops.c,v 1.6 2010/09/02 08:58:06 manu Exp $ */
 
 /*-
  *  Copyright (c) 2010 Emmanuel Dreyfus. All rights reserved.
@@ -49,8 +49,7 @@
 static int node_lookup_common(struct puffs_usermount *, puffs_cookie_t, 
     const char*, struct puffs_node **);
 static int node_mk_common(struct puffs_usermount *, puffs_cookie_t,
-    struct puffs_newinfo *, const struct puffs_cn *pcn,
-    const struct vattr *, perfuse_msg_t *);
+    struct puffs_newinfo *, const struct puffs_cn *pcn, perfuse_msg_t *);
 static const char *basename_r(const char *);
 static ssize_t fuse_to_dirent(struct puffs_usermount *, puffs_cookie_t,
     struct fuse_dirent *, size_t);
@@ -241,12 +240,11 @@
  * perfuse_node_symlink
  */
 static int
-node_mk_common(pu, opc, pni, pcn, vap, pm)
+node_mk_common(pu, opc, pni, pcn, pm)
 	struct puffs_usermount *pu;
 	puffs_cookie_t opc;
 	struct puffs_newinfo *pni;
 	const struct puffs_cn *pcn;
-	const struct vattr *vap;
 	perfuse_msg_t *pm;
 {
 	struct perfuse_state *ps;
@@ -545,6 +543,7 @@
 #endif
 
 	puffs_cc_yield(pcq.pcq_cc);
+	TAILQ_REMOVE(&pnd->pnd_pcq, &pcq, pcq_next);
 
 #ifdef PERFUSE_DEBUG
 	if (perfuse_diagflags & PDF_REQUEUE)
@@ -576,14 +575,12 @@
 		if (pcq->pcq_type != type)
 			continue;
 	
-		puffs_cc_schedule(pcq->pcq_cc);
-		TAILQ_REMOVE(&pnd->pnd_pcq, pcq, pcq_next);
-
 #ifdef PERFUSE_DEBUG
 		if (perfuse_diagflags & PDF_REQUEUE)
 			DPRINTF("%s: SCHEDULE opc = %p, pcc = %p\n",
 				__func__, (void *)opc, pcq->pcq_cc);
 #endif
+		puffs_cc_schedule(pcq->pcq_cc);
 		
 		if (++dequeued == max)
 			break;
@@ -970,7 +967,7 @@
 	fmi->umask = 0; 	/* Seems unused bu libfuse */
 	(void)strlcpy((char *)(void *)(fmi + 1), path, len - sizeof(*fmi));
 
-	return node_mk_common(pu, opc, pni, pcn, vap, pm);
+	return node_mk_common(pu, opc, pni, pcn, pm);
 }
 
 
@@ -1758,7 +1755,7 @@
 	fmi->umask = 0; 	/* Seems unused bu libfuse? */
 	(void)strlcpy((char *)(void *)(fmi + 1), path, len - sizeof(*fmi));
 
-	return node_mk_common(pu, opc, pni, pcn, vap, pm);
+	return node_mk_common(pu, opc, pni, pcn, pm);
 }
 
 
@@ -1848,7 +1845,7 @@
 	np += path_len;
 	(void)strlcpy(np, link_target, linkname_len);
 
-	return node_mk_common(pu, opc, pni, pcn_src, vap, pm);
+	return node_mk_common(pu, opc, pni, pcn_src, pm);
 }
 
 int 

Reply via email to