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