Adam, a Q NSS shows the following: *NSS 0160 NSS S 0001 02/13 00:26:27 SHRUSR DCSS DCSS1
Your "SHSUSR" dcss is, at this point, only a skeleton ("S" in the line
above) and not yet a real dcss.Try doing a CP SAVESEG SHRUSR command before attempting to have the kernel access it. That will change the status of the dcss ftrom S to "A" (active). You should then be able to access it via dcssblk.
DJ
Adam Thornton wrote:
I think there's something I'm misunderstanding about the way a DCSS is supposed to work.
I want to define a 128MB DCSS, starting at 128MB, going up to 256MB.
I give my Linux guest class E privileges, and then issue a
DEFSEG SHRUSR 8000-FFFF SW
This succeeds.
Q NSS NAME SHRUSR MAP gives me FILE FILENAME FILETYPE MINSIZE BEGPAG ENDPAG TYPE CL #USERS PARMREGS VMGROUP 0160 SHRUSR DCSS N/A 08000 0FFFF SW S 00000 N/A N/A
So I got what I asked for, it looks like.
Now I'm a little unclear on what the following means in the Device Driver book:
You must have set the mem kernel parameter to cover the upper limit of the DCSS.
when taken in conjunction with
You cannot access a DCSS that overlaps with your guest virtual storage.
I *think* what this means is that I'm supposed to define my guest smaller than 128MB--which I have, in this case, 64M, but that I have to boot with mem=256M. If that's the case, that's what I've done:
dcss1:~# cat /proc/cmdline root=/dev/dasd/0150/part1 ro noinitrd dasd=0150,0151(ro),0152 vmpoff="LOGOFF" mem=256M
total used free shared buffers cached Mem: 58284 23568 34716 0 1380 12456 -/+ buffers/cache: 9732 48552 Swap: 99156 0 99156
I can modprobe dcssblk just fine:
dcss1:~# modprobe -v dcssblk /sbin/insmod /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o Using /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o Symbol version prefix 'smp_'
But then:
echo "SHRUSR" > /proc/dcssblk/add
gives me
dcssblk warning:SEGMENT SHRUSR NOT LOADED RC=-2
I thought maybe I'd misunderstood who has to have the memory mapped, but this doesn't change at all when I set the machine's virtual storage to 256MB but change Linux's mem parameter to use 64MB; I still get the RC=-2.
What am I missing?
Adam
-- Dave Jones Sine Nomine Associates Houston, TX 281.578.7544
