[OmniOS-discuss] itadm delete-tpg hang

Alexandre Lecuyer alexandre.lecuyer at gmail.com
Wed Oct 8 16:08:44 UTC 2014


I have seen this happen twice :

"/usr/sbin/itadm delete-tpg <tpg>" hangs.

The stack :

[ ffffff002d2c9930 _resume_from_idle+0xf4() ]
  ffffff002d2c9960 swtch+0x141()
  ffffff002d2c99a0 cv_wait+0x70(ffffff1724512ba8, ffffff1724512ba0)
  ffffff002d2c99e0 idm_refcnt_wait_ref+0x7b(ffffff1724512b88)
  ffffff002d2c9a20 iscsit_config_destroy_tpgs+0x4d(ffffff002d2c9a90)
  ffffff002d2c9ae0 iscsit_config_merge+0xfb(ffffff486c690c70)
  ffffff002d2c9c80 iscsit_drv_ioctl+0x3d6(10800000000, 1, 8047cf8, 100403,
ffffff295594dc48, ffffff002d2c9e68)
  ffffff002d2c9cc0 cdev_ioctl+0x39(10800000000, 1, 8047cf8, 100403,
ffffff295594dc48, ffffff002d2c9e68)
  ffffff002d2c9d10 spec_ioctl+0x60(ffffff2847bbca00, 1, 8047cf8, 100403,
ffffff295594dc48, ffffff002d2c9e68, 0)
  ffffff002d2c9da0 fop_ioctl+0x55(ffffff2847bbca00, 1, 8047cf8, 100403,
ffffff295594dc48, ffffff002d2c9e68, 0)
  ffffff002d2c9ec0 ioctl+0x9b(4, 1, 8047cf8)
  ffffff002d2c9f10 sys_syscall32+0xff()

idm_refcnt_wait wants refcount to be 0, but that doesn't happen.
> ffffff1724512b88::print -t idm_refcnt_t
idm_refcnt_t {
    int ir_refcnt = 0x1
[..]

I found only two places where ir_refcnt is decremented :
idm_refcnt_rele
idm_refcnt_rele_and_destroy

They seem likely to be called from iscsit_config_merge_tpg or
iscsit_portal_offline
But at this point I don't really know what to look for.

Has anyone already seen this ?

cheers,
alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20141008/3cc59fd6/attachment.html>


More information about the OmniOS-discuss mailing list