commit ae4d33c8f29bab6f45d813f3e23cc870f1d184cd
Merge: 0672f52 90dd9cd
Author: Chris Hofstaedtler <zeha@debian.org>
Date: Sun Aug 27 12:18:29 2023 +0200
Update upstream source from tag 'upstream/2.1.9'
Update to upstream version '2.1.9'
with Debian dir e4004102e31b7862a7d91e131e1d6ff459ea902f
commit 90dd9cda503bb414a83699f53803a0867ada5594
Merge: be2751b 678c3e9
Author: Chris Hofstaedtler <zeha@debian.org>
Date: Sun Aug 27 12:18:28 2023 +0200
New upstream version 2.1.9
commit 678c3e9232b2b7177b7131071910da14f065e037
Author: Lee Duncan <lduncan@suse.com>
Date: Thu Jun 15 09:56:23 2023 -0700
Preparing for version 2.1.9 (#421)
commit 9e92292849ece601a645ec8716f70b9e9e026ef6
Author: Nilesh Javali <njavali@marvell.com>
Date: Tue Jun 6 15:02:52 2023 +0530
iscsiuio: update version to 0.7.8.7
Signed-off-by: Nilesh Javali <njavali@marvell.com>
commit 315e52ae53295d34b263ffc23ed7752936b27cc3
Author: Nilesh Javali <njavali@marvell.com>
Date: Tue May 30 19:16:58 2023 +0530
iscsiuio: fix corrupted unsorted chunks while freeing memory
While iscsiuio service stops, removal of all nics
causes iscsiuio to crash,
iscsiuio[50077]: free(): corrupted unsorted chunks
Correct the deletion of nic from nic_list.
Signed-off-by: Nilesh Javali <njavali@marvell.com>
commit 9206242125b75853630b986997edae1819458acc
Author: Nilesh Javali <njavali@marvell.com>
Date: Tue May 30 19:02:24 2023 +0530
iscsiuio: validate nic interface associated with qedi
While the iscsiuio service stops, nic_loop is
engaged in processing the packets for qedi causing
iscsiuio to crash,
iscsiuio[49684]: segfault at 70 ip 000055ef1055ce91
sp 00007f9046ffcce0
error 4 in iscsiuio[55ef10543000+28000]
While processing the read packets, validate if the
nic interface has been freed or still associated with
the qedi.
Signed-off-by: Nilesh Javali <njavali@marvell.com>
commit 885fb792b80c31040eed3ae3767c47465d01ef72
Author: Tomas Bzatek <tbzatek@redhat.com>
Date: Wed May 17 17:47:50 2023 +0200
Spelling fixes
commit e64761b36f65a64cfb35bf1f7a111d8203a8c3fb
Author: Lee Duncan <lduncan@suse.com>
Date: Fri Apr 28 10:15:02 2023 -0700
Remove incorrect "BindTo" line in iscsiuio.service (#415)
The correct syntax is "BindsTo", but we do not
actually want to use this, because it would imply
that iscsid.service needs to be started _before_
iscsiuio.service, but that is backwards.
Found by: Martin Wilck @ SUSE
commit f3c53e0bd2198b0a851698cf794ff9edd50720cf
Author: Chris Leech <cleech@redhat.com>
Date: Thu Apr 20 09:36:44 2023 -0700
remove OFFLOAD_BOOT_SUPPORTED ifdef (#412)
Does anyone not build with this enabled?
Signed-off-by: Chris Leech <cleech@redhat.com>
commit 713524df809396e11f42d7691bd8ead2ffc1ca6b
Author: Lee Duncan <lduncan@suse.com>
Date: Thu Apr 20 09:33:27 2023 -0700
Build: make open-isns usage optional. (#407)
* Build: make open-isns usage optional.
In some cases open-isns may not be needed or may not
be available. Make building without it optional, using
meson. The depricated Makefile build is not effected.
* Build: ensure "make" enables iSNS support
Even though "make" is deprecated, it's still here,
so make sure it enables iSNS support, since that is what
it has always done. If somebody wants to make iSNS
optional for "make", they can do so.
* Build: clean up how iSNS library is used.
The functionality stays the same, but the meson.build
file is a little easier to understand this way.
Suggested by: Eli Schwartz
* build: clean up comments for isns lib detection
commit 5ad0943d86816a6a95c3775301491d4d2eb77839
Author: Lee Duncan <lduncan@suse.com>
Date: Tue Apr 18 10:17:07 2023 -0700
README: add info about disabling NOPs for tape. (#414)
commit fda79fc718828af859f092cedc78a8ee710a09da
Author: Chris Leech <cleech@redhat.com>
Date: Tue Apr 18 09:22:21 2023 -0700
iscsi-iname: make default IQN prefix configurable (#410)
Signed-off-by: Chris Leech <cleech@redhat.com>
commit 7b571d76d6937a78c141630fc38c3c57c532466c
Author: Chris Leech <cleech@redhat.com>
Date: Mon Apr 17 17:07:34 2023 -0700
When writing DB record without a tpgt, take tpgt from existing record (#409)
* idmb_rec_write, check for tpgt first
Factor out the check for a tpgt to a single place, before going crazy on
the rec files. Makes flow of this function easier to follow, and preps
for splitting it up.
Signed-off-by: Chris Leech <cleech@redhat.com>
* idbm_rec_write, seperate old and new style writes
Duplicates a small bit of code, but easier to understand and extened.
Signed-off-by: Chris Leech <cleech@redhat.com>
* idbm_rec_write, pick tpgt from existing record
On a static add (-m node -o new) without a user specified tpgt, looks
for existing new style records with tpgt before creating an old style
record without. If one exists, take the tpgt from it an write an
updated new style record instead.
Signed-off-by: Chris Leech <cleech@redhat.com>
---------
Signed-off-by: Chris Leech <cleech@redhat.com>
commit 0838a2ef2db491ef04607f8ee12e98d540a4e82f
Author: Chris Leech <cleech@redhat.com>
Date: Mon Apr 17 17:07:06 2023 -0700
sync iscsi_if.h with kernel (#411)
Adds definition for ISCSI_UEVENT_DESTROY_SESSION_ASYNC
Replaces zero-length array with C99 flexible array member
Signed-off-by: Chris Leech <cleech@redhat.com>
commit 0334727da730a3d011a8e8b350d8df2ddcf408ce
Author: Chris Leech <cleech@redhat.com>
Date: Mon Apr 17 17:04:40 2023 -0700
discoveryd: fix format overflow warning (#413)
This function can be called with NULL arguments, so check that before
passing to log_error.
Signed-off-by: Chris Leech <cleech@redhat.com>
commit 10d50ed4bcf9ef6820f7fe544df0c3605ea4144f
Author: Lee Duncan <lduncan@suse.com>
Date: Fri Apr 14 11:27:55 2023 -0700
Fix libopeniscsiusr licensing (#403)
* Fix libopeniscsiusr licensing
The library was licensed GLPv3, but LGPLv3 is more
appropriate for a library used widely by others.
The change is done with permission of the library
author, after some discussion.
This will effectively upgrade the license, in
practice, for open-iscsi, to GPLv3, without
having to actually change the higher-level license.
* Fixing libopeniscsiusr License: continued
Change License text in each source file to mention
that we are now using the "Lesser" GPL v3.
* Add license info to the README file
Add a section to the top-level section in the
README file about the license of open-iscsi and
that of libopeniscsiusr.
commit d1d456cf28cd89c3a78c2bdb40f6950290ad2cd1
Author: Lee Duncan <lduncan@suse.com>
Date: Fri Mar 17 14:32:25 2023 -0700
Remove unused SLP discovery code (#401)
Support for SLP Discovery of targets was never full implemented,
and likely won't be any time soon by this project, so remove
the code that was designed to support it.
Note that this removal does not include the code for
NFS SLP, which is a different beast, and left unchanged.
commit 43c125f1c5287a4e5896b1ed5a45c26b4e777727
Author: Eric Mackay <eric.mackay@oracle.com>
Date: Thu Mar 16 11:53:06 2023 -0700
Make UID the default auth type for IPCs (#404)
Modern security practices include checking the originating UID
of an IPC. But not the username, as there are many valid scenarios
where a user database may not exist or the root account may not be
explicitly named "root".
The mode to check UID and username is still functional, but is now
on the path to deprecation. Related function names and enums now
include the term "legacy" to indicate this deprecated status.
The 'iscsid.ipc_auth_uid' setting in iscsid.config now defaults to
'Yes', rather than introducing a new key. Users sometimes keep old
config files when upgrading packages, and this ensures behavior
remains the same if this setting was explicitly defined in an old
config.
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Eric Mackay <eric.mackay@oracle.com>
commit c4c0c14692f31d5b4f4b4d5e899ed73de1193693
Author: Lee Duncan <lduncan@suse.com>
Date: Fri Mar 3 10:33:05 2023 -0800
Small cleanup (#399)
* Cleanup discovery.c source file
No functional changes. Cleaning up the file in anticipation
of making iSNS and SLP discovery optional. Cleanups:
* Remove SLP_ENABLE ifdef, since it was never used and could not compile
* Remove "if 0" code, also never used
* Reformatting:
- Convert spaces to tabs for format alignment
- Remove spaces at end of line
- Convert strings on multiple lines to one line (for better searching)
- Align multi-line function arguments consistently
* Build: rearrange meson options file
No functional change. Moving around options in anticipation
of adding new options for iSNS and/or SLP support.
commit 9b72f836cd72e2d7cee80a5288cf0ffcaafb084b
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed Feb 15 18:03:18 2023 +0100
SHA3 is not supported by libressl (#396)
Disable SHA3 with libressl as it is not supported resulting in the
following build failure:
/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/or1k-buildroot-linux-gnu/11.3.0/../../../../or1k-buildroot-linux-gnu/bin/ld: iscsid.p/usr_auth.c.o: in function `auth_hash_init':
auth.c:(.text+0x7bc): undefined reference to `EVP_sha3_256'
Fixes:
- http://autobuild.buildroot.org/results/48a4bddc355956733d712214797350cca8e111d9
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
commit 2eda28874196ed02c0d7b3696ccf81142c60409c
Author: Lee Duncan <lduncan@suse.com>
Date: Sat Feb 4 11:56:32 2023 -0800
Build: change meson default for DB home (#395)
Change DB home (for nodes, send_targets, etc) from
/etc/iscsi to /var/lib/iscsi. This can still be
overridden with the "-dbroot" option with meson.
commit 152320d16391edd6d6d56bbef6540699a2b180bd
Author: Lee Duncan <lduncan@suse.com>
Date: Mon Jan 23 10:43:32 2023 -0800
iscsid.conf: remove incorrect comment about location (#392)
Remove the comment in the config file saying where
it might be located, since it was incorrect, and
users already know where it's located if they are
reading the comment.
commit 7e6d34ef4639c9999546e9eced53dd8f512d8ea1
Author: Lee Duncan <lduncan@suse.com>
Date: Mon Jan 23 10:34:17 2023 -0800
Small netlink fixes, and one debug print fix (#391)
* iscsid: do not try to print thread name when thread done
We are printing the thread name in a debug log message when
the thread is done, but the name is no longer valid then.
* iscsid: clean up netlink code a bit
There are no functional changes here. Just some cleanup,
like fixing a place where a local variable and a global
variable had the same name.
commit 64202d6526e71f8ea8a08e84ab4bee02d8f5506d
Author: lilinjie <102012657+uniontech-lilinjie@users.noreply.github.com>
Date: Thu Jan 12 03:11:09 2023 +0000
fix typo (#389)
Signed-off-by: lilinjie <lilinjie@uniontech.com>
commit 9f2074568e6c39f85c9d948cb3b869f4fc774695
Author: Wenchao Hao <73930449+wenchao-hao@users.noreply.github.com>
Date: Thu Jan 12 11:10:05 2023 +0800
iscsid: stop connection for recovery if error is not timeout in iscsi_login_eh (#388)
When iscsid is reopening a connection, and the reopen process has succeed
to call bind_conn and comes to iscsi_session_set_params() to set
parameters. If the iscsi target trigger another error event(such as
close the socket connection between initiator and target) at this time,
kernel would perform the error handler and set connection's state to
ISCSI_CONN_FAILED, and set kernel iscsi_cls_conn->flags'
ISCSI_CLS_CONN_BIT_CLEANUP bit. Which would make iscsid's
iscsi_session_set_params() failed with ENOTCONN, so iscsi_login_eh()
would be called by iscsid to handle this error.
Now iscsid see conn->state is ISCSI_CONN_STATE_XPT_WAIT and
session->r_stage is R_STAGE_SESSION_REOPEN, so it would call
session_conn_reopen() with do_stop set to 0, which would not trigger
kernel to call iscsi_if_stop_conn() to clear kernel data struct
iscsi_cls_conn->flags' ISCSI_CLS_CONN_BIT_CLEANUP bit.
The reopen would fall into an infinite cycle which looks like
following:
iscsi_conn_connect -> bind_conn(failed with ENOTCONN)
^ |
| |
| v
session_conn_reopwn(with do_stop set to 0)
The phenomenon is iscsid would always report log "can't bind conn x:0
to session x, retcode -107 (115)" and the session would not recovery.
Fix this issue by checking error type in iscsi_login_eh(), if the error
type is not timeout, make sure we would call session_conn_reopen() with
do_stop set to STOP_CONN_RECOVER.
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
commit 138a5306fc9238d0becf3cc8a5d90ca0b9d71f72
Author: Wenchao Hao <73930449+wenchao-hao@users.noreply.github.com>
Date: Thu Jan 5 07:46:05 2023 +0800
iscsid: clear scanning thread's PR_SET_IO_FLUSHER flag (#382)
commit 72949ef (iscsid: set PR_SET_IO_FLUSHER) set the iscsid's
PR_SET_IO_FLUSHER flag to avoid deadlock. While we do not need
to set this flag when scanning host.
If this flag is set for scanning thread, we may lost devices
reported by target because of memory allocation failure.
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
commit 239df1174a5df9a47fdb822edda1ef59b02148ac
Author: baker915 <liqi5277@gmail.com>
Date: Sun Dec 25 03:52:58 2022 +0800
Fix a typo error in iscsiuio/src/uip/lc-switch.h (#386)
commit fd0b3973ac90f6b0e57f5007034705628f7d6b3e
Author: Lee Duncan <lduncan@suse.com>
Date: Fri Oct 14 10:56:59 2022 -0700
iscsid/iscsiuio: fix OOM adjustment (#377)
* iscsid/iscsiuio: fix OOM adjustment
For both the iscsid and iscsiuio daemons, they try to modify
nice value and OOM adjustment value, so they have priority
and will not be killed by the OOM-killer.
But the code incorrectly set the value to "-17" for modern
linux systems, when the maximum is actually "-1000". While
making the changes, use "/proc/self/..." instead of
"/proc/<PID>/...", so we don't have to use getpid() nor
print out the pathname. Now we either write "-16" to
the old interface, "-1000" to the new interface, or we
print a warning.
Several "log_debug()" calls that should have been warnings
are changed to "log_warning()" calls in iscsid.
* iscsid/iscsiuio: fix OOM adjustment value for older systems
On older linux system, "-17" is the maximum, not "-16".
commit fe11f9da5c73581c0e1b01cc59031995b8254f96
Author: Lee Duncan <lduncan@suse.com>
Date: Mon Sep 26 15:03:54 2022 -0700
meson: remove unused 'source_date_epoch' option (#372)
Use env. variable KBUILD_BUILD_TIMESTAMP to acheive
reproducable builds.
Among the 2 debian patches available in version 2.1.8-2 of the package, we noticed the following issues: