From: Jeffrey Altman Date: Sat, 7 Feb 2009 17:22:46 +0000 (+0000) Subject: DEVEL15-rx-writevproc-wrong-type-20090207 X-Git-Tag: openafs-devel-1_5_58~153 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=c85a24fa0e0393c734260373679e22d17736e6d7;p=packages%2Fo%2Fopenafs.git DEVEL15-rx-writevproc-wrong-type-20090207 LICENSE BSD In rxi_WritevProc the queueScan that sets RX_PKTFLAG_TQ on the packet really needs to cast the queue objects to rx_packet instead of rx_call. Trashing random fields is not a good idea. (cherry picked from commit 0edbc512b52848f076525ede5ff166f3785128a7) --- diff --git a/src/rx/rx_rdwr.c b/src/rx/rx_rdwr.c index 1f1d908fc..a8a5d80c0 100644 --- a/src/rx/rx_rdwr.c +++ b/src/rx/rx_rdwr.c @@ -1123,7 +1123,7 @@ int rxi_WritevProc(struct rx_call *call, struct iovec *iov, int nio, int nbytes) { struct rx_packet *cp = NULL; - struct rx_call *p, *np; + struct rx_packet *p, *np; int nextio; int requestCount; struct rx_queue tmpq; @@ -1260,11 +1260,7 @@ rxi_WritevProc(struct rx_call *call, struct iovec *iov, int nio, int nbytes) /* Move the packets from the temporary queue onto the transmit queue. * We may end up with more than call->twind packets on the queue. */ -#ifdef KDUMP_RX_LOCK - for (queue_Scan(&tmpq, p, np, rx_call_rx_lock)) -#else - for (queue_Scan(&tmpq, p, np, rx_call)) -#endif + for (queue_Scan(&tmpq, p, np, rx_packet)) { p->flags |= RX_PKTFLAG_TQ; }