[stgt] tgtd crash when more than 40 LUNs per target (and a way to reproduce)

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Tue Dec 23 12:23:12 CET 2008


On Tue, 23 Dec 2008 12:05:26 +0100
Tomasz Chmielewski <mangoo at wpkg.org> wrote:

> FUJITA Tomonori schrieb:
> > On Tue, 23 Dec 2008 11:49:45 +0100
> > Tomasz Chmielewski <mangoo at wpkg.org> wrote:
> > 
> >> FUJITA Tomonori schrieb:
> >>
> >>>>> 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.
> >>>> Any news on this?
> >>>> I'll be hitting this limit (~60 targets and more) on my 32 bit targets 
> >>>> by the end of this year and this issue makes me feel uncomfortable :(
> >>> I don't loosen the limit yet but this patch should fix the segfault
> >>> and deadlocks caused by the target or lun creation. Can you try this?
> >> Hmmm...
> >>
> >> # tgtd -f
> >> can't open /proc/sys/fs/nr_open, No such file or directory
> > 
> > You don't enable procfs?
> 
> I do, but I don't have this file on my system (running 2.6.24.3):
> 
> # ls /proc/sys/fs/
> aio-max-nr  dentry-state       file-max  inode-nr     inotify/ 
> leases-enable  nfs/         overflowuid
> aio-nr      dir-notify-enable  file-nr   inode-state  lease-break-time 
> mqueue/        overflowgid  suid_dumpable
> 
> I think it was added in a later kernel.

Ah, you are right. It was added this year (I can't remember exactly
when).


> > Then, can you disable nr_file_adjust() in the patch and try again?
> 
> (...)
> lun 40 
> 
> lun 41 
> 
> lun 42 <- output from the script 
>  
> 
> tgtadm: out of memory <- tgtadm output
> 
> Existing targets still work after that,

Thanks, as expected, the patch seems to fix the segfault and deadlocks
caused by the target or lun creation failure.


> but tgtd won't accept any new targets/luns.

Yeah, that's a different issue. I still need to think about a clean
way to loosen the limitation. Well, the easiest solution is using
64bit kernels. Then you can create tons of targets or luns.
--
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 mailing list