Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Feb 1998 20:20:23 -0800 (PST)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs
Subject:   Re: kern/5846: Generic SCSI ioctl w/ big data transfer fails with "physio split the request" diagnostics.
Message-ID:  <199802260420.UAA02031@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/5846; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: freebsd-gnats-submit@FreeBSD.ORG, gene@nttlabs.com
Cc:  Subject: Re: kern/5846: Generic SCSI ioctl w/ big data transfer fails with "physio split the request" diagnostics.
Date: Thu, 26 Feb 1998 15:12:19 +1100

 >>Description:
 >Generic SCSI ioctl, particularly SCIOCCOMMAND, with data-in/out phase
 >fails if the size of data to be transferred is larger than a certain
 >threshold (approximately 128 bytes in my case).  The kernel dumps
 >"physio split the request.. cannot proceed" onto the console and the
 >ioctl returns -1 with errno=EIO, as programmed in /sys/scsi/scsi_ioctl.h.
 
 This is essentially the same problem as in PR 5599.
 
 >>Fix:
 
 Untested unimplemented fixes:
 
 1) In maxphys(), don't reduce the transfer size to bp->b_kvasize if that
    size is 0.
 2) Consider fixing all the places that allocate buffer headers bogusly
    using malloc() and bzero().  scsi_do_ioctl() knows nothing of
    bp->b_kvasize, but it happens to initialize it correctly using
    bzero() (I think the bug is in maxphys() in this case - some buffers
    just don't have kva).
 
 Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802260420.UAA02031>