Ok, so you do appear to be running the 64-bit Solaris.
In that case I would have expected you to see the 'amd64' version
of the iscsi target on your system.

This is what I have on my system:

        # uname -a
        SunOS solaris 5.11 snv_70 i86pc i386 i86pc
        
        # isainfo -kv
        64-bit amd64 kernel modules
        
        # find / -name iscsitgtd | xargs ls -l
        -r-xr-xr-x   1 root     bin       417464 Jul 29  2007 
/usr/sbin/amd64/iscsitgtd
        -r-xr-xr-x   1 root     bin       336976 Jul 29  2007 
/usr/sbin/i86/iscsitgtd
        -r-xr-xr-x  72 root     bin         8100 Jul 29  2007 
/usr/sbin/iscsitgtd
        
        # find / -name iscsitgtd | xargs file
        /usr/sbin/amd64/iscsitgtd:      ELF 64-bit LSB executable AMD64 Version 
1 [SSE2 SSE FXSR CMOV FPU], dynamically linked, not stripped, no debugging 
information available
        /usr/sbin/i86/iscsitgtd:        ELF 32-bit LSB executable 80386 Version 
1 [FPU], dynamically linked, not stripped, no debugging information available
        /usr/sbin/iscsitgtd:    ELF 32-bit LSB executable 80386 Version 1 
[FPU], dynamically linked, not stripped, no debugging information available

The shell script that normally starts the iscsi target
is "/lib/svc/method/svc-iscsitgt".
If you look at that script, you see that it
runs "/usr/sbin/iscsitgtd" to start the iscsi daemon.

You can use "truss" to trace the execution of "/usr/sbin/iscsitgtd"
and you see something like this:

        # truss -adf /usr/sbin/iscsitgtd
        21360:   0.0000 execve("/usr/sbin/iscsitgtd", 0x08047DA4, 0x08047DAC)  
argc = 1
        <--snip-->
        21360:   0.0125 sysinfo(SI_ISALIST, "amd64 pentium_pro+mmx pentium_pro 
pentium+mmx pentium i486 i386 i86", 255) = 68
        21360:   0.0127 access("/usr/sbin/amd64/iscsitgtd", X_OK)       = 0
        21360:   0.0267 execve("/usr/sbin/amd64/iscsitgtd", 0x08047DA4, 
0x08047DAC)  argc = 1
        21360:   0.0272 mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_ANON, 4294967295, 0) = 0xFFFFFD7FFF390000
        21360:   0.0274 resolvepath("/usr/lib/amd64/ld.so.1", 
"/lib/amd64/ld.so.1", 1023) = 18
        21360:   0.0276 resolvepath("/usr/sbin/amd64/iscsitgtd", 
"/usr/sbin/amd64/iscsitgtd", 1023) = 25
        21360:   0.0278 stat("/usr/sbin/amd64/iscsitgtd", 0xFFFFFD7FFFDFF9C0) = 0
        <--snip-->
        ^C21361/1:      18.1196     Received signal #2, SIGINT, in lwp_park() 
[default]

I'm not at expert at this, but my interpretation is that "/usr/sbin/iscsitgtd"
is a 32 bit loader, which work out if you are running 32 or 64-bit,
and then executes the appropriate next stage.

Chris, I think you have replaced the wrong executable.
You need to set "/usr/sbin/iscsitgtd" back to what it was.
And you should have a "/usr/sbin/amd64/iscsitgtd" and this 
is the one you need to replace with the executable from Andrew.
Regards
Nigel Smith
 
 
This message posted from opensolaris.org
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to