fixes for compressed NFS (from Macklem)
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 3 Oct 1990 02:46:14 +0000 (18:46 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 3 Oct 1990 02:46:14 +0000 (18:46 -0800)
SCCS-vsn: sys/nfs/nfs_subs.c 7.31
SCCS-vsn: sys/nfs/nfs_syscalls.c 7.20

usr/src/sys/nfs/nfs_subs.c
usr/src/sys/nfs/nfs_syscalls.c

index 85c0b9a..8fde260 100644 (file)
@@ -7,7 +7,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)nfs_subs.c  7.30 (Berkeley) %G%
+ *     @(#)nfs_subs.c  7.31 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -917,7 +917,7 @@ nfs_compress(m0)
                clget = 0;
        ileft = m->m_len - 9;
        ip = mtod(m, u_char *);
                clget = 0;
        ileft = m->m_len - 9;
        ip = mtod(m, u_char *);
-       MGETHDR(om, MT_DATA, M_WAIT);
+       MGETHDR(om, M_WAIT, MT_DATA);
        if (clget)
                MCLGET(om, M_WAIT);
        retm = om;
        if (clget)
                MCLGET(om, M_WAIT);
        retm = om;
@@ -925,7 +925,7 @@ nfs_compress(m0)
        olen = om->m_len = 5;
        oleft = M_TRAILINGSPACE(om);
        op = mtod(om, u_char *);
        olen = om->m_len = 5;
        oleft = M_TRAILINGSPACE(om);
        op = mtod(om, u_char *);
-       *((u_long *)op) = *((u_long *)ip);
+       bcopy(ip, op, sizeof(u_long));
        ip += 7;
        op += 4;
        *op++ = *ip++ + 1;
        ip += 7;
        op += 4;
        *op++ = *ip++ + 1;
@@ -1012,7 +1012,7 @@ nfs_uncompress(m0)
                clget = 1;
        else
                clget = 0;
                clget = 1;
        else
                clget = 0;
-       MGETHDR(om, MT_DATA, M_WAIT);
+       MGETHDR(om, M_WAIT, MT_DATA);
        if (clget)
                MCLGET(om, M_WAIT);
        olen = om->m_len = 8;
        if (clget)
                MCLGET(om, M_WAIT);
        olen = om->m_len = 8;
index 662391e..e9505d6 100644 (file)
@@ -7,7 +7,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)nfs_syscalls.c      7.19 (Berkeley) %G%
+ *     @(#)nfs_syscalls.c      7.20 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -242,8 +242,8 @@ nfssvc(p, uap, retval)
                        mreq->m_pkthdr.len = siz;
                        mreq->m_pkthdr.rcvif = (struct ifnet *)0;
                        if (wascomp && compressreply[procid]) {
                        mreq->m_pkthdr.len = siz;
                        mreq->m_pkthdr.rcvif = (struct ifnet *)0;
                        if (wascomp && compressreply[procid]) {
-                               m = nfs_compress(m);
-                               siz = m->m_pkthdr.len;
+                               mreq = nfs_compress(mreq);
+                               siz = mreq->m_pkthdr.len;
                        }
                        /*
                         * For non-atomic protocols, prepend a Sun RPC
                        }
                        /*
                         * For non-atomic protocols, prepend a Sun RPC