Module Name: src Committed By: uwe Date: Tue May 26 22:54:43 UTC 2020
Modified Files: src/usr.sbin/puffs/mount_9p: ninepuffs.h node.c Log Message: Use the typedef to declare tag in AUTOVAR. Do not allocate 9P tags in advance in AUTOVAR, do it right before we need them. Do no reuse tags. If we are going to use sequential tags, we might as well try to make them really sequential. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/puffs/mount_9p/ninepuffs.h cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/puffs/mount_9p/node.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/puffs/mount_9p/ninepuffs.h diff -u src/usr.sbin/puffs/mount_9p/ninepuffs.h:1.15 src/usr.sbin/puffs/mount_9p/ninepuffs.h:1.16 --- src/usr.sbin/puffs/mount_9p/ninepuffs.h:1.15 Mon Oct 28 02:59:25 2019 +++ src/usr.sbin/puffs/mount_9p/ninepuffs.h Tue May 26 22:54:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ninepuffs.h,v 1.15 2019/10/28 02:59:25 ozaki-r Exp $ */ +/* $NetBSD: ninepuffs.h,v 1.16 2020/05/26 22:54:43 uwe Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -64,7 +64,7 @@ typedef uint32_t p9pfid_t; #define AUTOVAR(pu) \ struct puffs_cc *pcc = puffs_cc_getcc(pu); \ struct puffs9p *p9p = puffs_getspecific(pu); \ - uint16_t tag = NEXTTAG(p9p); \ + p9ptag_t tag; \ struct puffs_framebuf *pb = p9pbuf_makeout(); \ int rv = 0 Index: src/usr.sbin/puffs/mount_9p/node.c diff -u src/usr.sbin/puffs/mount_9p/node.c:1.24 src/usr.sbin/puffs/mount_9p/node.c:1.25 --- src/usr.sbin/puffs/mount_9p/node.c:1.24 Tue May 26 22:08:11 2020 +++ src/usr.sbin/puffs/mount_9p/node.c Tue May 26 22:54:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: node.c,v 1.24 2020/05/26 22:08:11 uwe Exp $ */ +/* $NetBSD: node.c,v 1.25 2020/05/26 22:54:43 uwe Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -27,7 +27,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: node.c,v 1.24 2020/05/26 22:08:11 uwe Exp $"); +__RCSID("$NetBSD: node.c,v 1.25 2020/05/26 22:54:43 uwe Exp $"); #endif /* !lint */ #include <assert.h> @@ -57,6 +57,7 @@ do_getattr(struct puffs_usermount *pu, s AUTOVAR(pu); struct p9pnode *p9n = pn->pn_data; + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_STAT); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n->fid_base); @@ -97,6 +98,7 @@ puffs9p_node_lookup(struct puffs_usermou struct qid9p newqid; uint16_t nqid; + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_WALK); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n_dir->fid_base); @@ -232,6 +234,7 @@ puffs9p_node_setattr(struct puffs_usermo struct puffs_node *pn = opc; struct p9pnode *p9n = pn->pn_data; + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_WSTAT); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n->fid_base); @@ -327,6 +330,7 @@ puffs9p_node_read(struct puffs_usermount nread = 0; while (*resid > 0 && (uint64_t)(offset+nread) < pn->pn_va.va_size) { + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_READ); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n->fid_read); @@ -374,6 +378,7 @@ puffs9p_node_write(struct puffs_usermoun while (*resid > 0) { chunk = MIN(*resid, p9p->maxreq-32); + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_WRITE); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n->fid_write); @@ -425,6 +430,7 @@ nodecreate(struct puffs_usermount *pu, s if (rv) goto out; + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_CREATE); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, nfid); @@ -448,6 +454,7 @@ nodecreate(struct puffs_usermount *pu, s nfid = NEXTFID(p9p); p9pbuf_recycleout(pb); + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_WALK); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n->fid_base); @@ -506,6 +513,7 @@ noderemove(struct puffs_usermount *pu, s if (rv) goto out; + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_REMOVE); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, testfid); @@ -583,6 +591,7 @@ puffs9p_node_rename(struct puffs_usermou goto out; } + tag = NEXTTAG(p9p); p9pbuf_put_1(pb, P9PROTO_T_WSTAT); p9pbuf_put_2(pb, tag); p9pbuf_put_4(pb, p9n_src->fid_base);