On My DAT tape with the latest patch [root@srp-server ~]# cat /sys/class/scsi_tape/st0/device/scsi_level 4 [root@srp-server ~]# mt -f /dev/st0 stsetoption can-partitions Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Block limits 1 - 16777215 bytes. Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Mode sense. Length 11, medium 0, WBS 10, BLL 8 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Density 47, tape length: 0, drv buffer: 1 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Block size: 0, buffer size: 4096 (1 blocks). Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Mode 0 options: buffer writes: 1, async writes: 1, read ahead: 1 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] can bsr: 1, two FMs: 0, fast mteom: 0, auto lock: 0, Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] defs for wr: 0, no block limits: 0, partitions: 1, s2 log: 0 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] sysv: 0 nowait: 0 sili: 0 nowait_filemark: 0 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] debugging: 1 Jan 28 18:17:49 srp-server kernel: st 6:0:1:0: [st0] Rewinding tape. [root@srp-server ~]# mt -f /dev/st0 mkpartition 1000 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Block limits 1 - 16777215 bytes. Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Mode sense. Length 11, medium 0, WBS 10, BLL 8 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Density 47, tape length: 0, drv buffer: 1 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Block size: 0, buffer size: 4096 (1 blocks). Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Loading tape. Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Error: 8000002, cmd: 0 0 0 0 0 0 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Sense Key : Unit Attention [current] Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Add. Sense: Not ready to ready change, medium may have changed Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Block limits 1 - 16777215 bytes. Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Mode sense. Length 11, medium 0, WBS 10, BLL 8 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Density 47, tape length: 0, drv buffer: 1 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Block size: 0, buffer size: 4096 (1 blocks). Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Partition page length is 10 bytes. Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] PP: max 1, add 0, xdp 0, psum 02, pofmetc 0, rec 03, units 00, sizes: 0 65535 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] MP: 11 08 01 00 10 03 00 00 00 00 ff ff Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] psd_cnt 2, max.parts 1, nbr_parts 0 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Formatting tape with two partitions (1 = 1000 MB). Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Sent partition page length is 12 bytes. needs_format: 0 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] PP: max 1, add 1, xdp 1, psum 02, pofmetc 0, rec 03, units 00, sizes: 65535 1000 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] MP: 11 0a 01 01 30 03 00 00 ff ff 03 e8 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Error: 8000002, cmd: 15 10 0 0 18 0 Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Sense Key : Illegal Request [current] Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Add. Sense: Invalid field in parameter list Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Partitioning of tape failed. Jan 28 18:18:01 srp-server kernel: st 6:0:1:0: [st0] Rewinding tape. Laurence Oberman Principal Software Maintenance Engineer Red Hat Global Support Services ----- Original Message ----- From: "Shane M Seymour" <shane.seymour@xxxxxxx> To: "Kai Mäkisara (Kolumbus)" <kai.makisara@xxxxxxxxxxx> Cc: "Laurence Oberman" <loberman@xxxxxxxxxx>, "Emmanuel Florac" <eflorac@xxxxxxxxxxxxxx>, "Laurence Oberman" <oberman.l@xxxxxxxxx>, linux-scsi@xxxxxxxxxxxxxxx Sent: Thursday, January 28, 2016 6:12:41 PM Subject: RE: What partition should the MTMKPART argument specify? Was: Re: st driver doesn't seem to grok LTO partitioning Hi Kai, $ pwd /sys/class/scsi_tape/st1/device $ cat scsi_level 4 Thanks Shane > -----Original Message----- > From: "Kai Mäkisara (Kolumbus)" [mailto:kai.makisara@xxxxxxxxxxx] > Sent: Friday, January 29, 2016 4:04 AM > To: Seymour, Shane M > Cc: Laurence Oberman; Emmanuel Florac; Laurence Oberman; linux- > scsi@xxxxxxxxxxxxxxx > Subject: Re: What partition should the MTMKPART argument specify? Was: > Re: st driver doesn't seem to grok LTO partitioning > > > > On 28.1.2016, at 9.36, Seymour, Shane M <shane.seymour@xxxxxxx> > wrote: > > > > Hi Kai, > > > > With the changes the I get a failure partitioning a HP DAT72 drive (DDS-5): > > > > # ./mt -f /dev/st1 stsetoption debug > > # ./mt -f /dev/st1 stsetoption can-partitions # ./mt -f /dev/st1 > > mkpartition 1000 > > /dev/st1: Input/output error > > > ... > > [ 3976.389605] st 6:0:3:0: [st1] Partition page length is 10 bytes. > > [ 3976.389610] st 6:0:3:0: [st1] PP: max 1, add 0, xdp 0, psum 02, > > pofmetc 0, rec 03, units 00, sizes: 0 65535 [ 3976.389614] st 6:0:3:0: > > [st1] MP: 11 08 01 00 10 03 00 00 00 00 ff ff [ 3976.389618] st > > 6:0:3:0: [st1] psd_cnt 2, max.parts 1, nbr_parts 0 > ^^^^^^^^^ The problem is here > > ... > > Using a slightly older kernel to partition the DAT72 drive works (same 3 > commands as above): > ... > > [ 351.584906] st 6:0:3:0: [st1] Partition page length is 10 bytes. > > [ 351.584908] st 6:0:3:0: [st1] psd_cnt 1, max.parts 1, nbr_parts 0 > > The old driver computes the psd_cnt from the returned page length. The > same applies to the patched driver if the SCSI level of the device < SCSI_3. > This works correctly with my drive that reports SCSI_2. So, the question is: > what SCSI level does your device report? > > Kai -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html