[stgt] tgtd crash when more than 40 LUNs per target (and a way to reproduce)
fujita.tomonori at lab.ntt.co.jp
Thu Sep 25 17:12:28 CEST 2008
On Thu, 25 Sep 2008 17:05:13 +0200
Tomasz Chmielewski <mangoo at wpkg.org> wrote:
> FUJITA Tomonori schrieb:
> > On Thu, 25 Sep 2008 16:17:02 +0200
> > Tomasz Chmielewski <mangoo at wpkg.org> wrote:
> >> tgtd crashes if we want to use more than ~43 luns in a target.
> >> To reproduce, use this bash script:
> >> #!/bin/bash
> >> i=1
> >> tgtadm --lld iscsi --op new --mode target --tid 7 -T iqn.2007-02.com.example:test.break
> >> while [ $i -ne 1024 ] ; do
> >> tgtadm --lld iscsi --op new --mode logicalunit --tid 7 --lun $i -b /dev/sda
> >> [ $? -ne 0 ] && exit
> >> echo lun $i
> >> i=$((i+1))
> >> done
> > You might fail to create pthreads with both problems.
> > This patch enables you to create more luns (but eventually, tgtd
> > crashes) ?
> Yes, with this patch it crashes after ~110 luns or ~60 targets.
I see, thanks.
The first problem is that tgtd can't handle the failure to create
pthreads. I'll try to fix this soon.
The second problem is seems that glibc has the limit of the maximum
number of pthreads per process.
I guess that we create too many pthreads per lun. Probably, it would
be better to have some pthreads per target (regardless of the number
of luns). But it takes some time to fix the second problem.
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt