]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-rx-writevproc-wrong-type-20090207
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 7 Feb 2009 17:22:46 +0000 (17:22 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 7 Feb 2009 17:22:46 +0000 (17:22 +0000)
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)

src/rx/rx_rdwr.c

index 1f1d908fc66ce95d3baad987956e53cd8357f1d9..a8a5d80c060346986ac5fdd5f5467716f9b7aff5 100644 (file)
@@ -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;
     }