New iSCSI stack.
O. Hartmann
ohartman at zedat.fu-berlin.de
Thu Sep 5 21:04:48 UTC 2013
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-scsi/attachments/20130905/56a80fa2/attachment.sig>
More information about the freebsd-scsi
mailing list