NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

iscsifs to a server with >1 targets: ***ERROR*** Bad "ISID": Got 16777217 expected 1.



I'm trying to make a NetBSD iSCSI initiator get along with a FreeBSD iSCSI target.

Things work well when the server only has one target defined:


freebsd-target# cat targets
extent0         /dev/zvol/storage/volumes/vol0  0       6G    (* see p.s c.)
#extent1         /dev/zvol/storage/volumes/vol1  0       6G  (* see p.s c.)

# target        flags   storage         netmask
target0         rw      extent0         0.0.0.0/0
#target1         rw      extent1         0.0.0.0/0


( NetBSD initiator )
initiator# iscsifs -u alice -h $ISCSI_SERVER_ADDR /iscsi/
iscsifs: puffs_mount: "/iscsi/" is a relative path.
iscsifs: puffs_mount: using "/iscsi" instead.


Now, if I uncomment extent1 and target1 @ the targets file on the FreeBSD box:

initiator# iscsifs -u alice -h $ISCSI_SERVER_ADDR /iscsi/
pid 5286:initiator.c:2020: ***ERROR*** Bad "ISID": Got 16777217 expected 1.
pid 5286:initiator.c:1813: ***ERROR*** initiator_cmd_t failed
pid 5286:initiator.c:762: ***ERROR*** login_phase_i() failed
pid 5286:initiator.c:1169: ***ERROR*** enqueue_worker: full_feature_phase() failed (ignoring command)




I can connect to both just fine, with either version of the configuration file, from another FreeBSD server:

freebsd-initiator# iscontrol -n target0
iscontrol[21250]: running
iscontrol[21250]: (pass5:iscsi0:0:0:0):  tagged openings now 0
iscontrol[21250]: cam_open_btl: no passthrough device found at 3:0:1
iscontrol[21250]: cam_open_btl: no passthrough device found at 3:0:2
iscontrol[21250]: cam_open_btl: no passthrough device found at 3:0:3
iscontrol: supervise starting main loop

freebsd-initiator# iscontrol -n target1
iscontrol[21254]: running
iscontrol[21254]: (pass5:iscsi0:0:1:0):  tagged openings now 0
iscontrol[21254]: cam_open_btl: no passthrough device found at 3:1:1
iscontrol[21254]: cam_open_btl: no passthrough device found at 3:1:2
iscontrol[21254]: cam_open_btl: no passthrough device found at 3:1:3
iscontrol: supervise starting main loop

freebsd-initiator# dmesg | egrep "(da3|da4)"
da3 at iscsi0 bus 0 target 1 lun 0
da3: <NetBSD NetBSD iSCSI 0> Fixed Direct Access SCSI-3 device
da4 at iscsi0 bus 0 target 0 lun 0
da4: <NetBSD NetBSD iSCSI 0> Fixed Direct Access SCSI-3 device




I can't for the life of me figure out what I'm doing wrong.




p.s: A few observations about iscsifs:

a) If iscsifs exposes the iscsi target under a directory of one's choice, isn't -t target redundant? targets will show up under dir/ip/ , and the block storage is under the dir/ip/targetX directory.


b) small bug?
netbsd-initiator# iscsifs -u alice -h $ISCSI_SERVER_ADDR /iscsi&
[1] 529
# cd /iscsi
# dir
total 1.5K
drwxr-xr-x   2 root  wheel  -   0B Dec 31  1969 ./
drwxr-xr-x  24 root  wheel  - 1.0K Oct 21 08:48 ../
drwxr-xr-x   2 root  wheel  - 512B Sep 25 08:21 $ISCSI_SERVER_ADDR/
# dir $ISCSI_SERVER_ADDR/
ls: $ISCSI_SERVER_ADDR: No such file or directory <- XXXXXXXXXX ?
total 1.0K
drwxr-xr-x  2 root  wheel  - 512B Sep 25 08:21 ./
drwxr-xr-x  2 root  wheel  -   0B Dec 31  1969 ../
drwxr-xr-x  2 root  wheel  - 512B Sep 25 08:21 target0/


c) According to the manpage:
"The fourth field in the definition is the size of
    the extent.  The basic unit is bytes, and the shorthand KB, MB, GB, and
    TB can be used for kilobytes (1024 bytes), megabytes (1024 kilobytes),
gigabytes (1024 megabytes), and terabytes (1024 gigabytes) respectively. It is possible to use the word ``size'' to use the full size of the pre-
    existing regular file given in the extent name."

but:
freebsd-target# /usr/local/etc/rc.d/iscsi_target forcestart
Starting iscsi_target.
Reading configuration from `/usr/local/etc/iscsi/targets'
target0:rw:0.0.0.0/0
       extent0:/dev/zvol/storage/volumes/vol0:0:0
DISK: 1 logical unit (0 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: pid 45864:disk.c:675: ***ERROR*** error reading "target0"pid 45864:disk.c:807: ***ERROR*** error allocating space for "target0"pid 45864:target.
c:1553: ***ERROR*** device_init() failed
pid 45864:iscsi-target.c:145: ***ERROR*** target_init() failed

Assuming this was related to my use of ZVOLs, I tried with a md(4) device. Same problem.

Home | Main Index | Thread Index | Old Index