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