New iSCSI stack.

Edward Tomasz Napierała trasz at freebsd.org
Thu Sep 5 21:09:00 UTC 2013


Wiadomość napisana przez Outback Dingo <outbackdingo at gmail.com> w dniu 5 wrz 2013, o godz. 22:03:
> 
> 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 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);

Yeah, broken by Capsicum changes committed earlier today.  I'll update the patch soon.
> 



More information about the freebsd-scsi mailing list