(Remembered this on my drive home...)

I just remembered another aspect of the problem.  lun structs can still be 
present but in a removed, no longer present state.  These should not be 
reported back though.  See resulting IOCTL code in ...

  http://cvs.opensolaris.org/source/xref/nwsc/src/sun_nws/iscsi/src/iscsi.c#3038
    - If not ISCSI_LUN_STATE_ONLINE they are skipped
  http://cvs.opensolaris.org/source/xref/nwsc/src/sun_nws/iscsi/src/iscsi.c#3115

That leads us back to if your LUNs are even getting marked offline.  You might 
want to try using dtrace to confirm this on the entry/exit of 
iscsi_lun_offline().  I'm rusty at dtrace so this might be slightly wrong and I 
don't currently have a system to test it.  But, Try putting this in a file with 
execute permissions, run it and then issue the devfsadm -C test case...

#!/usr/sbin/dtrace -s
fbt:iscsi:iscsi_lun_offline:entry
{
       printf("iscsi_lun_offline - lun:%d", (iscsi_lun_t *)arg1)->lun_num);
}

fbt:iscsi:iscsi_lun_offline:return
{
       printf("iscsi_lun_offline - return:%d", arg1);
}

(NOTE!!! I'm not sure if arg0 or arg1 was the return value on dtrace.  I think 
its 1 for some reason.)

... It should tell you whether the luns you expect to go away are having 
iscsi_lun_offline() called and whether it was successful.
 
 
This message posted from opensolaris.org
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to