Re: New iSCSI stack.

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Thu, 5 Sep 2013 23:09:07 +0200
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_at_**
> > 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) ^~~~~~~~~ _at_/sys/capability.h:197:20:
note: expanded from macro 'CAP_IOCTL' #define CAP_IOCTL
CAPRIGHT(1, 0x0000000000000080ULL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_at_/sys/capability.h:53:28: note: expanded from macro 'CAPRIGHT'
#define CAPRIGHT(idx, bit)      ((1ULL << (57 + (idx))) | (bit))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_at_/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



Received on Thu Sep 05 2013 - 19:04:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC