| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| | |
| | | |
Use sd notify for systemd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Updates:
* support iscsiuio
* support iscsid/systemd notifcation
* change kill mode for iscsi
* make iscsid run in the foreground
* tell iscsid.service about iscsid.socket
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In addition, to be able to tells systemd when we are
reloading sessions, the code around forking a copy and
restoring sessions gets its PID saved so that we know
when it is done and can update systemd status.
Note that this requires systemd unit file iscsid.service
to use Type=notify and NotifyAccess=main.
|
| | |
| | |
| | |
| | |
| | | |
This service file layers on top of iscsid.serivce
to manage logging into and out of known targets.
|
| |\ \
| |/ /
|/| | |
Merge latest from upstream
|
|\ \ \
| | | |
| | | | |
Restore space in node-mode level 0 output
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As part of the libopeniscsiusr update, the output
of "iscsiadm -m node" dropped a space that needs to
be between the portal and the target, for proper
parsing.
Fixes: 87ea50a1c3a97
|
|\ \ \
| |/ /
| | | |
Make reconnect to session on startup forever default.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The daemon has traditionally tried to recover stale
sessions, at startup, in serial and in a forked process.
A recent commit, b9afe4709900, added the ability to limit
these retries, and it made the default 32. Commit
467946a945cc added back in the ability to retry forever,
if the retry count was set to 0, but left the default
at 32. This commit changes the default to 0, so as
not to disrupt the expected reconnection behavior by
default.
|
|\ \
| | |
| | | |
Update GPLv2 License information.
|
|/ /
| |
| |
| |
| |
| | |
Update the COPYING file, with the whole GPLv2.0 license,
and a script that seems to have a notice, as well. Both
were outdated and had incorrect FSF addresses.
|
|\ \
| | |
| | | |
Use libkmod instead of fork/exec of modprobe.
|
|/ /
| |
| |
| |
| | |
There is no reason to continue to use fork/exec to probe
for modules, so remove the code that supported this.
|
|\ \
| | |
| | | |
When reopen_max=0 retry reopening forever.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit b9afe4709900 added a configuration variable for session
reconnect called reopen_max that defaults to 32. This changes the
behavior of iscsid on startup if it finds any session information
left over from previous invocations. Adding the option of setting
the retry count to zero to imply previous behavior allows those
that are counting on this behavior to continue. But, make no
mistake, it is recommended not to retry forever, as it leaves
iscsid stuck in "iscsi_sysfs_for_each_session()" in iscsid.c:main(),
so iscsid never fully gets up and running.
|
|\ \
| | |
| | | |
Do not allow multiple sessions when nr_sessions=1
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a request is made to login to a target, creating
a session, then another request is submitted so quickly
that the first one has not completed, both requests
can succeed, despite having nr_sessions=1 configured.
Only allow multiple login requests if nr_sessions is
greater than 1.
|
|\ \
| | |
| | | |
Small cleanups x 3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The compare function is supposed to match the prototype:
int (*compar)(const void *, const void *)
so the function nic_cmp() was declared incorrectly, which
makes gcc much happier.
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Limit iscsid infinite session reconnect attempts at startup using a new config value
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add new configuration value session.relogin_max, which
will default to 32. The limits the session-recovery
relogin attempts to about 64 seconds (2 seconds between
attempts) instead of an infinite number of retries.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This error happens when the daemon is attempting to
reconnect a session when starting up, so should not
be considered an internal error.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The message printed when ENOENT was returned for
a number-type sysfs value was missing the attribute
name parameter.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The session_logout_qtask() function now recognizes
a new state of "target likely not connected" if
syncing up, in connection wait state, and re-opening
the connection.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code for reading all sysfs integer types (of all
sizes) did not work when reading signed integers and
the return value was negative. So when the default was -1
and the value was not present, the code tried to return -1.
But the logic for checking against "max value" was
incorrect, causing INT_MAX to be returned instead of -1.
|
| | |
| | |
| | |
| | |
| | |
| | | |
If "port" is available and "persistent_port" is not, then
correctly use the one that is present for both values.
Likewise for "address" and "persistent_address".
|
| | |
| | |
| | |
| | |
| | | |
Do not consider it a fatal error if reading sysfs value
for "port" fails, since we allow failure for "address".
|
|\ \ \
| | | |
| | | | |
Cleanup nic nl open usage
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The return value of nic_nl_open was ignored and while working by chance
being the latest call before the error label any later insertion of code
after this might break it.
Avoid that by checking for the retval and explicitly jumping to the
error label in case it is non zero.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
nic_nl_open might have collected a non-zero rc and jumped to the error
label but still returned zero which would indicate success.
The function should return whatever it has collected in rc and while
working without, also explicitly initialize it to zero.
Fixes #125
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|\ \ \
| |/ /
|/| | |
Fix/iscsid pidfile write and exit on failure to create socket.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This does 2 things:
a.) shows strerror when the socket creation of NETLINK_ISCSI fails.
b.) moves the attempt to create the socket to after pid file writing.
The reason for 'b' is that if failure happens in 'a', then no pid
file is written. Systemd's tracking would then not notice the failure.
|
|/ /
| |
| |
| |
| |
| |
| | |
The file descriptors used for writing to the pid file were
not being closed. Just be more clean and close them.
Also fix a debug message that said 'lock file' rather than 'pid file'.
|
|\ \
| | |
| | | |
Plugging a memory leak from discovery.
|
|/ /
| |
| |
| |
| |
| |
| | |
During discovery the function get_op_params_text_keys()
can allocate a target_alias, but this is never freed.
Discovered-by: zhangzujian.7@gmail.com
|
|\ \
| |/
| | |
iscsiuio: Release xmit_mutex in error code path.
|
| |
| |
| |
| |
| |
| |
| |
| | |
After successful stateless router adv., the restart of handle_ndp thread
infinitely checks dhcpv6 causing IPv6 DHCP sequence failure.
Limit the retries of dhcpv6 validation.
Signed-off-by: Nilesh Javali <nilesh.javali@cavium.com>
|
| |
| |
| |
| |
| |
| |
| | |
This prevents iscsiuio seg fault in case get_tx_pkt fails
while sending ARP.
Signed-off-by: Manish Rangankar <manish.rangankar@cavium.com>
|
|\ \
| | |
| | | |
context.h: add missing stdarg.h include
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix compilation error on uclibc based systems:
==
In file included from idbm.c:59:0:
context.h:27:25: error: unknown type name ‘va_list’
const char *format, va_list args);
^
<builtin>: recipe for target 'idbm.o' failed
make[1]: *** [idbm.o] Error 1
==
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
|
|\ \
| | |
| | | |
enable MaxOutstandingR2T negotiation
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The iscsi_tcp kernel side R2T handling is in libiscsi_tcp and is shared
with at least cxgbi3, and the drivers claim CAP_MULTI_R2T. But the
iscsid login parameter negotiation code never enabled MaxOutstandingR2T.
I've tested this against an LIO target, negotiating to 2 and 4 R2Ts.
The network traces looked good, with the initiator keeping track of
multiple outstanding R2Ts and using the correct next identifier.
Throughput of bulk write data was improved, even over low latency virtio
links.
Signed-off-by: Chris Leech <cleech@redhat.com>
|
|\ \ \
| |/ /
|/| /
| |/ |
iscsiuio: Add inter-host mutex while doing xmit
|
| |
| |
| |
| |
| |
| |
| | |
During boot for SAN scenario after switch root iscsid not
passing gateway information to iscsiuio.
Signed-off-by: Manish Rangankar <manish.rangankar@cavium.com>
|
|/
|
|
|
|
|
| |
This avoids the netlink buffer corruption when more than one host
try to xmit packet at the same time.
Signed-off-by: Manish Rangankar <manish.rangankar@cavium.com>
|
|\
| |
| | |
Fix installation of libopeniscsiusr symlinks
|
| |
| |
| |
| |
| |
| |
| | |
The install(1) command dereferences symlinks when copying to the target
location, so use an alternate approach to create symlinks from scratch instead.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
|
|\ \
| | |
| | | |
various fixes
|