Whilst VM doesn't use the VTOC it does create one to prevent MVS trampling over VM disks so it's very happy to use a volume created with DASDINIT providing you add a label
On Mon, 29 Apr 2024, 16:55 Fish Fish via , <david.b.trout=[email protected]> wrote:
Bertram Moshier
> I used the command:? ?dasdls vm0380_BGM000.cckd
> Hercules was not running.
>
> Got as output:
>
[...]
> HHC02471E Format 4 DSCB record not found
>
> I guess I did something wrong.? When I do the command against
> a 3350 drive (e.g. vm50-1.cckd) I get RC=0 and the VOLSER.
>
> What did I do wrong?
Nothing.
What dasdls is saying is your particular dasd volume does not have a VOLSER.
dasdls was designed to list a volume's VTOC (list all of a volume's datasets), the description of which is contained in a Format 4 DSCB record. The address of the VTOC (Format 4 DSCB record) is held in a field in the VOL1 record, which your volume obviously does not have. Hence the HHC02471E error.
Your particular dasd was obviously initialized using the '-r' (raw) option of dasdinit(*), which creates a dasd image *without* a VOL1 record. It was probably initialized this way because VM does not use VTOCs. It uses a completely different technique for accessing files on its volumes, and thus does not need a VTOC, thereby eliminating its need for a VOL1 record too.
So if you get the error you're getting ("HHC02471E Format 4 DSCB record not found"), that simply means your volume does not have a VOLSER.
You did nothing wrong.
--------
(*)
--
"Fish" (David B. Trout)
Software Development Laboratories