Diff for /src/sys/kern/sys_pipe.c between versions 1.20 and 1.21

version 1.20, 2004/05/11 18:05:05 version 1.21, 2004/05/11 22:48:53
Line 635  pipe_build_write_buffer(wpipe, uio) Line 635  pipe_build_write_buffer(wpipe, uio)
         size = (u_int) uio->uio_iov->iov_len;          size = (u_int) uio->uio_iov->iov_len;
         if (size > wpipe->pipe_buffer.size)          if (size > wpipe->pipe_buffer.size)
                 size = wpipe->pipe_buffer.size;                  size = wpipe->pipe_buffer.size;
         if (size > XIO_INTERNAL_SIZE)  
                 size = XIO_INTERNAL_SIZE;  
   
         error = xio_init_ubuf(&wpipe->pipe_map, uio->uio_iov->iov_base,           error = xio_init_ubuf(&wpipe->pipe_map, uio->uio_iov->iov_base, 
                                 size, XIOF_READ);                                  size, XIOF_READ);
Line 652  pipe_build_write_buffer(wpipe, uio) Line 650  pipe_build_write_buffer(wpipe, uio)
         case PIPE_SFBUF2:          case PIPE_SFBUF2:
                 if (wpipe->pipe_kva == NULL) {                  if (wpipe->pipe_kva == NULL) {
                         wpipe->pipe_kva =                           wpipe->pipe_kva = 
                            kmem_alloc_pageable(kernel_map, XIO_INTERNAL_SIZE);                            kmem_alloc_nofault(kernel_map, XIO_INTERNAL_SIZE);
                         wpipe->pipe_kvamask = 0;                          wpipe->pipe_kvamask = 0;
                 }                  }
                 if (wpipe->pipe_feature == PIPE_KMEM) {                  if (wpipe->pipe_feature == PIPE_KMEM) {
Line 665  pipe_build_write_buffer(wpipe, uio) Line 663  pipe_build_write_buffer(wpipe, uio)
         }          }
   
         /*          /*
         * and update the uio data         * And update the uio data.  The XIO might have loaded fewer bytes
          * then requested so reload 'size'.
          */           */
           size = wpipe->pipe_map.xio_bytes;
         uio->uio_iov->iov_len -= size;          uio->uio_iov->iov_len -= size;
         uio->uio_iov->iov_base += size;          uio->uio_iov->iov_base += size;
         if (uio->uio_iov->iov_len == 0)          if (uio->uio_iov->iov_len == 0)

Removed from v.1.20  
changed lines
  Added in v.1.21