New iSCSI stack.

Outback Dingo outbackdingo at gmail.com
Thu Sep 5 22:19:31 UTC 2013


On Thu, Sep 5, 2013 at 5:09 PM, O. Hartmann <ohartman at zedat.fu-berlin.de>wrote:

> On Thu, 5 Sep 2013 16:03:31 -0400
> Outback Dingo <outbackdingo at gmail.com> wrote:
>
> > On Thu, Sep 5, 2013 at 2:47 PM, Miroslav Lachman <000.fbsd at quip.cz>
> > wrote:
> >
> > > Edward Tomasz Napierała wrote:
> > >
> > >> Wiadomość napisana przez Ivan Voras<ivoras at freebsd.org>  w dniu 5
> > >> wrz 2013, o godz. 13:18:
> > >>
> > >>> On 05/09/2013 12:27, Edward Tomasz Napierała wrote:
> > >>>
> > >>>> Hello.  At
> > >>>> http://people.freebsd.org/~**trasz/cfiscsi-20130904.diff<
> http://people.freebsd.org/~trasz/cfiscsi-20130904.diff>you'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".
> > >>>>
> > >>>
> > >>> Just a naming question: "ctld" could mean anything, I'd parse it
> > >>> as a "control deamon" or something like that. Could you name it
> > >>> something which reminds the user of iscsi? Like iscsictld?
> > >>>
> > >>
> > >> As the man page says, ctld is "CAM Target Layer / iSCSI target
> > >> daemon". Sure, right now it's pretty iSCSI-specific, but it
> > >> doesn't need to be - it can
> > >> be extended to just manage CTL configuration (e.g. for Fibre
> > >> Channel), or to support other CTL-backed storage protocols, such
> > >> as FCoE.
> > >>
> > >> It's just a helper daemon for ctl(4) - thus, ctld(8).  And in case
> > >> someone does "man -k iscsi", there is the "iSCSI target" in the
> > >> manual page title.
> > >>
> > >
> > > I understand your explanation, but still thinking rc.conf variables
> > > are really confusing and unintuitive:
> > >
> > > iscsid_enable
> > > iscsictl_enable
> > > ctld_enable
> > >
> > > I cannot tell what they control just by their names and the same
> > > apply for services names.
> > >
> > > "If I want to restart iscsi target, should I use 'service iscsid
> > > restart' or 'service iscsictl restart'? ... oh wait, it should be
> > > 'service ctld restart'"
> > >
> > > I think it should be more user friendly. Something as Apache 2.2.x
> > > has httpd and httpd.conf, but users are using 'service apache22
> > > restart' and 'apache22_enable="YES"', because there can be more
> > > "http" daemons.
> > >
> > > My $0.02
> > >
> > >
> > Just an FYI 10_CURRENT svn info
> > Path: .
> > Working Copy Root Path: /usr/src
> > URL: http://svn.freebsd.org/base/head
> > Relative URL: ^/head
> > Repository Root: http://svn.freebsd.org/base
> > Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
> > Revision: 255253
> > Node Kind: directory
> > Schedule: normal
> > Last Changed Author: sjg
> > Last Changed Rev: 255253
> > Last Changed Date: 2013-09-05 11:57:26 -0400 (Thu, 05 Sep 2013)
> >
> >
> > cc  -O2 -pipe  -I/usr/src/usr.sbin/ctld
> > -I/usr/src/usr.sbin/ctld/../../sys
> > -I/usr/src/usr.sbin/ctld/../../sys/cam/ctl
> > -I/usr/src/usr.sbin/ctld/../../sys/dev/iscsi -std=gnu99
> > -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall
> > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> > -Wold-style-definition -Wno-pointer-sign -Wno-empty-body
> > -Wno-string-plus-int -c /usr/src/usr.sbin/ctld/ctld.c cc  -O2 -pipe
> > -I/usr/src/usr.sbin/ctld -I/usr/src/usr.sbin/ctld/../../sys
> > -I/usr/src/usr.sbin/ctld/../../sys/cam/ctl
> > -I/usr/src/usr.sbin/ctld/../../sys/dev/iscsi -std=gnu99
> > -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall
> > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> > -Wold-style-definition -Wno-pointer-sign -Wno-empty-body
> > -Wno-string-plus-int -c /usr/src/usr.sbin/ctld/discovery.c cc  -O2
> > -pipe  -I/usr/src/usr.sbin/ctld -I/usr/src/usr.sbin/ctld/../../sys
> > -I/usr/src/usr.sbin/ctld/../../sys/cam/ctl
> > -I/usr/src/usr.sbin/ctld/../../sys/dev/iscsi -std=gnu99
> > -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall
> > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> > -Wold-style-definition -Wno-pointer-sign -Wno-empty-body
> > -Wno-string-plus-int
> > -c /usr/src/usr.sbin/ctld/kernel.c
> /usr/src/usr.sbin/ctld/kernel.c:762:35:
> > error: incompatible integer to pointer conversion passing 'unsigned
> > long long' to parameter of type 'const cap_rights_t *' (aka 'const
> > struct cap_rights *') [-Werror,-Wint-conversion] error =
> > cap_rights_limit(ctl_fd, CAP_IOCTL);
> > ^~~~~~~~~ /usr/src/usr.sbin/ctld/../../sys/sys/capability.h:197:20:
> > note: expanded from macro 'CAP_IOCTL' #define CAP_IOCTL
> > CAPRIGHT(1, 0x0000000000000080ULL)
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/src/usr.sbin/ctld/../../sys/sys/capability.h:53:28:
> > note: expanded from macro 'CAPRIGHT' #define CAPRIGHT(idx, bit)
> > ((1ULL << (57 + (idx))) | (bit))
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/src/usr.sbin/ctld/../../sys/sys/capability.h:327:50:
> > note: passing argument to parameter 'rights' here int
> > cap_rights_limit(int fd, const cap_rights_t *rights); ^ 1 error
> > generated. *** Error code 1
> >
> > Stop.
> > make[4]: stopped in /usr/src/usr.sbin/ctld
> >
> >
> >
> > > Miroslav Lachman
> > >
> > > ______________________________**_________________
> > > freebsd-current at freebsd.org mailing list
> > > http://lists.freebsd.org/**mailman/listinfo/freebsd-**current<
> http://lists.freebsd.org/mailman/listinfo/freebsd-current>
> > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@**
> > > freebsd.org <freebsd-current-unsubscribe at freebsd.org>"
> > >
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to
> > "freebsd-current-unsubscribe at freebsd.org"
>
>
>
> I get the very same mysterious error when compiling port
> x11/nvidia-driver:
>
> --- nvidia_linux.o ---
> nvidia_linux.c:42:37: error: incompatible integer to pointer conversion
> passing 'unsigned long long' to parameter of type 'cap_rights_t *' (aka
> 'struct cap_rights *') [-Werror,-Wint-conversion] if ((error = fget(td,
> args->fd, CAP_IOCTL, &fp)) != 0) ^~~~~~~~~ @/sys/capability.h:197:20:
> note: expanded from macro 'CAP_IOCTL' #define CAP_IOCTL
> CAPRIGHT(1, 0x0000000000000080ULL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> @/sys/capability.h:53:28: note: expanded from macro 'CAPRIGHT'
> #define CAPRIGHT(idx, bit)      ((1ULL << (57 + (idx))) | (bit))
>                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> @/sys/file.h:220:51: note: passing argument to parameter 'rightsp' here
> int fget(struct thread *td, int fd, cap_rights_t *rightsp, struct file
> **fpp);
>
>
> This from CURRENT > r255211, I'm with
> FreeBSD 10.0-CURRENT #1 r255249: Thu Sep  5 16:42:56 CEST 2013 amd64
> and on another box it is
> FreeBSD 10.0-CURRENT #3 r255259: Thu Sep  5 20:31:20 CEST 2013 amd64
>
> Got another one for you, at the kernel build


 ===> isci (all)
===> iscsi (all)
cc  -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc
 -I/usr/src/sys/modules/iscsi/../../ofed/include
-DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/src/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/src/sys/GENERIC  -mno-aes -mno-avx -mcmodel=kernel
-mno-red-zone -mno-mmx -mno-sse -msoft-float
 -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
-std=iso9899: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/src/sys/modules/iscsi/../../dev/iscsi//icl.c
/usr/src/sys/modules/iscsi/../../dev/iscsi//icl.c:1096:30: error: use of
undeclared identifier 'CAP_SOCK_ALL'
        error = fget(curthread, fd, CAP_SOCK_ALL, &fp);
                                    ^
1 error generated.
*** Error code 1

Stop.
make[4]: stopped in /usr/src/sys/modules/iscsi
*** Error code 1

Stop.
make[3]: stopped in /usr/src/sys/modules


More information about the freebsd-scsi mailing list