Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Sep 2013 11:06:01 -0400
From:      Outback Dingo <outbackdingo@gmail.com>
To:        =?ISO-8859-2?Q?Edward_Tomasz_Napiera=B3a?= <trasz@freebsd.org>
Cc:        freebsd-scsi@freebsd.org, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>, Alfred Perlstein <bright@mu.org>, "freebsd-current@FreeBSD.org" <freebsd-current@freebsd.org>
Subject:   Re: New iSCSI stack.
Message-ID:  <CAKYr3zzLUtdpp1V3LH19d26P1ieH_zc88nhTZJuPePCaO_pg1g@mail.gmail.com>
In-Reply-To: <CAKYr3zxdt3x8dqUN3_QTmjTaVEvZ%2B8KS4rVkiUPUcJQGiseGPQ@mail.gmail.com>
References:  <A758F12B-2798-4A90-8C67-88F78B82434D@FreeBSD.org> <522A1C73.9030402@mu.org> <A08A0702-86FF-4F05-B007-CF84F80FF8D5@FreeBSD.org> <CAKYr3zxdt3x8dqUN3_QTmjTaVEvZ%2B8KS4rVkiUPUcJQGiseGPQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 8, 2013 at 9:32 AM, Outback Dingo <outbackdingo@gmail.com>wrote=
:

>
>
>
> On Sun, Sep 8, 2013 at 6:29 AM, Edward Tomasz Napiera=B3a <trasz@freebsd.=
org
> > wrote:
>
>> Wiadomo=B6=E6 napisana przez Alfred Perlstein <bright@mu.org> w dniu 6 w=
rz
>> 2013, o godz. 20:18:
>> > On 9/5/13 3:27 AM, Edward Tomasz Napiera=B3a wrote:
>> >> Hello.  At http://people.freebsd.org/~trasz/cfiscsi-20130904.diffyou'=
ll find
>> >> a patch which adds the new iSCSI initiator and target, against
>> 10-CURRENT.
>> >> To use the new initiator, start with "man iscsictl".  For the target =
-
>> "man
>> >> ctld".
>> >>
>> >> All feedback is welcome.  If nothing unexpected comes up, I'll commit
>> it
>> >> in a few days from now.  Note that it's still not optimized; at this
>> point
>> >> I'm focusing more on reliability and interoperability.
>> >>
>> >> This work is being sponsored by FreeBSD Foundation.
>> >>
>> >> _______________________________________________
>> >> freebsd-current@freebsd.org mailing list
>> >> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> >> To unsubscribe, send any mail to "
>> freebsd-current-unsubscribe@freebsd.org"
>> >>
>> > Edward, this is really exciting!
>> >
>> > Is there an easy way to use the userland iscsi configuration files?
>>
>> Which iSCSI userland configuration files, the ctl.conf(5)?  If you need
>> an ability to parse it and modify from a shell scripts, see confctl
>> utility
>> (sysutils/confctl, https://github.com/trasz/confctl/).
>>
>> > We would love to quickly backport and ship this with FreeNAS as an
>> option for our users, having the config files be the same OR having a ve=
ry
>> good converter would really make that much easier for us.
>>
>> Porting to 9 should be quite easy - there are Capsicum API differences;
>> you might also want to compare CTL between 10 and 9 to see if there are
>> any changes which need to be merged.  Taking a look at the code searchin=
g
>> for possible security issues would be also very welcome :-)
>>
>> As for the config files - writing a converter should be quite easy.  Whi=
ch
>> configuration files you need to support, ctl.conf(5) and istgt
>> configuration?
>>
>
> I was i belive quite close to having it working on the last patch, howeve=
r
> could never seem to get the ctl kernel module to function,
> And feel im a bit further away with this latest patch retracing my steps,
> from previous... quite easy to backport.... maybe for you, or other
> but yes, I also would like to integrate the work to stable/9 in the lab
> for some benchmarks
>
>>
>>
Still trying to tackle this...... any ideas?? I think if i can get past the
few errors im encountering i can get a patch against stable/9 for others to
test....

clang -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE
-nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/home/dingo/devel/sys/GENERIC/opt_global.h -I. -I@ -I@/contrib/=
altq
-fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-I/usr/obj/usr/home/dingo/devel/sys/GENERIC  -mno-aes -mno-avx
-mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float
 -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
-std=3Diso9899:1999 -Qunused-arguments -fstack-protector -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
 -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs
-fdiagnostics-show-option  -Wno-error-tautological-compare
-Wno-error-empty-body  -Wno-error-parentheses-equality -c
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_cam_sim.c
ctfconvert -L VERSION -g ctl_frontend_cam_sim.o
clang -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE
-nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/home/dingo/devel/sys/GENERIC/opt_global.h -I. -I@ -I@/contrib/=
altq
-fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-I/usr/obj/usr/home/dingo/devel/sys/GENERIC  -mno-aes -mno-avx
-mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float
 -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
-std=3Diso9899:1999 -Qunused-arguments -fstack-protector -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
 -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs
-fdiagnostics-show-option  -Wno-error-tautological-compare
-Wno-error-empty-body  -Wno-error-parentheses-equality -c
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_internal.c
ctfconvert -L VERSION -g ctl_frontend_internal.o
clang -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE
-nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/home/dingo/devel/sys/GENERIC/opt_global.h -I. -I@ -I@/contrib/=
altq
-fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-I/usr/obj/usr/home/dingo/devel/sys/GENERIC  -mno-aes -mno-avx
-mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float
 -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
-std=3Diso9899:1999 -Qunused-arguments -fstack-protector -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
 -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs
-fdiagnostics-show-option  -Wno-error-tautological-compare
-Wno-error-empty-body  -Wno-error-parentheses-equality -c
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:52=
5:19:
error: no member named 'lun_map_fn' in 'struct ctl_nexus'
        io->io_hdr.nexus.lun_map_fn =3D cfiscsi_map_lun;
        ~~~~~~~~~~~~~~~~ ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:52=
6:19:
error: no member named 'lun_map_arg' in 'struct ctl_nexus'
        io->io_hdr.nexus.lun_map_arg =3D cs;
        ~~~~~~~~~~~~~~~~ ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:58=
7:19:
error: no member named 'lun_map_fn' in 'struct ctl_nexus'
        io->io_hdr.nexus.lun_map_fn =3D cfiscsi_map_lun;
        ~~~~~~~~~~~~~~~~ ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:58=
8:19:
error: no member named 'lun_map_arg' in 'struct ctl_nexus'
        io->io_hdr.nexus.lun_map_arg =3D cs;
        ~~~~~~~~~~~~~~~~ ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:12=
30:6:
error: no member named 'ioctl' in 'struct ctl_frontend'
        fe->ioctl =3D cfiscsi_ioctl;
        ~~  ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:12=
31:6:
error: no member named 'devid' in 'struct ctl_frontend'
        fe->devid =3D cfiscsi_devid;
        ~~  ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:19=
55:25:
error: use of undeclared identifier 'SCSI_PROTO_ISCSI'
        desc->proto_codeset =3D (SCSI_PROTO_ISCSI << 4) |
SVPD_ID_CODESET_ASCII;
                               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:19=
80:33:
error: use of undeclared identifier 'SCSI_PROTO_ISCSI'
        desc1->proto_codeset =3D (SCSI_PROTO_ISCSI << 4) |
SVPD_ID_CODESET_UTF8;
                                ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:19=
90:33:
error: use of undeclared identifier 'SCSI_PROTO_ISCSI'
        desc2->proto_codeset =3D (SCSI_PROTO_ISCSI << 4) |
SVPD_ID_CODESET_BINARY;
                                ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:19=
99:33:
error: use of undeclared identifier 'SCSI_PROTO_ISCSI'
        desc3->proto_codeset =3D (SCSI_PROTO_ISCSI << 4) |
SVPD_ID_CODESET_BINARY;
                                ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
82:48:
error: no member named 'options' in 'struct ctl_be_lun'
            &control_softc->ctl_luns[lun_id]->be_lun->options, links) {
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
@/sys/queue.h:272:28: note: expanded from macro 'STAILQ_FOREACH'
        for((var) =3D STAILQ_FIRST((head));                               \
                                  ^
@/sys/queue.h:269:30: note: expanded from macro 'STAILQ_FIRST'
#define STAILQ_FIRST(head)      ((head)->stqh_first)
                                  ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
81:2:
error: incomplete definition of type 'struct ctl_be_lun_option'
        STAILQ_FOREACH(opt,
        ^~~~~~~~~~~~~~~~~~~
@/sys/queue.h:274:13: note: expanded from macro 'STAILQ_FOREACH'
           (var) =3D STAILQ_NEXT((var), field))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
@/sys/queue.h:318:39: note: expanded from macro 'STAILQ_NEXT'
#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
                                 ~~~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
83:17:
error: incomplete definition of type 'struct ctl_be_lun_option'
                if (strcmp(opt->name, "cfiscsi_target") =3D=3D 0)
                           ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
84:16:
error: incomplete definition of type 'struct ctl_be_lun_option'
                        target =3D opt->value;
                                 ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
85:22:
error: incomplete definition of type 'struct ctl_be_lun_option'
                else if (strcmp(opt->name, "cfiscsi_target_alias") =3D=3D 0=
)
                                ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
86:22:
error: incomplete definition of type 'struct ctl_be_lun_option'
                        target_alias =3D opt->value;
                                       ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
87:22:
error: incomplete definition of type 'struct ctl_be_lun_option'
                else if (strcmp(opt->name, "cfiscsi_lun") =3D=3D 0)
                                ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
88:13:
error: incomplete definition of type 'struct ctl_be_lun_option'
                        lun =3D opt->value;
                              ~~~^
/usr/home/dingo/devel/sys/modules/ctl/../../cam/ctl/ctl_frontend_iscsi.c:21=
74:9:
note: forward declaration of 'struct ctl_be_lun_option'
        struct ctl_be_lun_option *opt;
               ^
18 errors generated.
*** [ctl_frontend_iscsi.o] Error code 1

Stop in /usr/home/dingo/devel/sys/modules/ctl.
*** [all] Error code 1

Stop in /usr/home/dingo/devel/sys/modules.
*** [modules-all] Error code 1

Stop in /usr/obj/usr/home/dingo/devel/sys/GENERIC.
*** [buildkernel] Error code 1

Stop in /usr/home/dingo/devel.
*** [buildkernel] Error code 1

Stop in /usr/home/dingo/devel.



_______________________________________________
>> freebsd-current@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.or=
g
>> "
>>
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKYr3zzLUtdpp1V3LH19d26P1ieH_zc88nhTZJuPePCaO_pg1g>