tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: physio split the request.. cannot proceed



On Dec 23, 2013, at 10:54 AM, Emmanuel Dreyfus <manu%netbsd.org@localhost> 
wrote:

> Hi
> 
> I am still working on porting LTFS to NetBSD. The thing now builds, 
> and I am able to format a tape using the mkltfs utility.
> 
> Next step is to mount the tape. It now fails within the NetBSD kernel.
> 
> Here is ltfs output:
> LTFS20039D Backend read: 524288 bytes
^^^^

> LTFS20010D SCSI request: [ 08 02 08 00 00 00 ] Requested length=524288
> LTFS20089D Driver detail:            errno = 0x5
> LTFS20089D Driver detail:      host_status = 0x0
> LTFS20089D Driver detail:    driver_status = 0x0
> LTFS20089D Driver detail:           status = 0x0
> LTFS20011D SCSI outcome: Driver status=0xFF SCSI status=0xFF Actual length=0
> LTFS20042E EIO in read
> 
> On the console, the kernel says:
> st0(mpii0:0:2:0) physio split the request.. cannot proceed
> 
> What does it meands, and how can I fix it? This is NetBSD 6.1.2.

In short: tape records bigger than MAXPHYS (most time 64k) don't work.
 
It means physio() broke the request into MAXPHYS chunks and the tape
driver needs the full request at once to read or write a record.

--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)



Home | Main Index | Thread Index | Old Index