problems writing/reading to newly created vsds

DESC:   Customer configured some vsds and used 'vsdvts' to test
his ability to read and write to the vsds.  vsdvts was successful
but when he tries to run the same dd commands against the vsds it 
errors out with: 0511-053 write failed.

He looked in the /usr/lpp/csd/bin/vsdvts script and it uses
the file /usr/lib/drivers/vsdd as the infile to the /dev/rvsd.  
He has written a script that includes one line for every one
of his vsds:

dd if=/tmp/junk of=/dev/rvsd.oralv10_n1

When he runs this it errors out.  The permissions on his junk
file are 777 oracle:db.  He tried running the command using the
same file vsdvts uses (/usr/lib/drivers/vsdd) and it still fails.
/tmp/junk is an ascii file that contains text inputed using vi.

ACT:    Did some testing and found the following information.

/tmp/mick.tst  (ascii file created via an editor )

dd if=/tmp/mick.tst of=/dev/mick_vsd   --> success
dd if=/tmp/mick.tst of=/dev/rmick_vsd  --> failed

dd if=/usr/lib/drivers/vsdd of=/dev/rmick_vsd  --> failed
dd if=/usr/lib/drivers/vsdd of=/dev/rmick_vsd bs=512 count=\#\# --> success

Found that a dd of any other driver or executeable file to the
raw device was successfull.  I believe the ascii file fails because of 
control characters within the file and the character device is
choking on this.  However, when writing to the raw device it is
necessary to specify the blocksize (bs) and the input block count (count)
since no buffering is done when writing to raw devices.

If you place a set -x in the vsdvts script you will see that the
command it echos it is running is different from what it
actually runs.  The script adds a bs of 512 and a count of 98 to
the actual command.  

Support Line: problems writing/reading to newly created vsds ITEM: AL1074L
Dated: September 1995 Category: N/A
This HTML file was generated 99/06/24~13:30:26
Comments or suggestions? Contact us