Error while creating new VTD (Virtual Target Device) on VIOS

You might have encountered this error:

padmin@vios:/home/padmin$ mkvdev -vadapter vhostX -vdev hdiskpowerX -dev vtdname
vtdname Available
Please reboot the client partition to see the newly added disk.

padmin@vios:/home/padmin$

In my case it was quite simple, I had 2 disks out of 9 which had different max_transfer size:

for i in `lsmap -vadapter vhostX |grep Backing |awk ‘{print $NF}’`

do

lsattr -EHl $i |grep max_transfer

done

And I got this:

max_transfer 0x100000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True
max_transfer 0x40000 Maximum transfer size True
max_transfer 0x40000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True
max_transfer 0x100000 Maximum transfer size True

 

So I figured out that the problem was coming from two disks which had different max_transfer size. I have removed the newly created VTDs, I have changed the attribute of the disks:

chdev -l hdiskpowerX -a max_transfer=0x100000

After this I was able to create the VTD and see it on the target LPAR without rebooting the it.