<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>35491</bug_id>
          
          <creation_ts>2018-10-08 23:33:04 +0300</creation_ts>
          <short_desc>инит-скрипт tgt выдаёт ошибку при остановке тагета с подключенным инициатором</short_desc>
          <delta_ts>2026-09-15 18:42:27 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>scsitarget-utils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Стас">stas.grumbler</reporter>
          <assigned_to name="Andrew Vasilyev">andy</assigned_to>
          <cc>andy</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
    
    <cc>piastry</cc>
    
    <cc>piastryyy</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>174828</commentid>
    <comment_count>0</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2018-10-08 23:33:04 +0300</bug_when>
    <thetext>Ситуация: дисковый том, раздаваемый через iscsi, отсутствует при старте демона.
после восстановления тома пытаюсь переинициализировать iscsi командой service tgt restart - получаю ошибку &quot;tgtadm: invalid request&quot;:
# service tgt restart
Stopping iSCSI target service: tgtadm: invalid request
                                                                                                                                           [FAILED]
Service iSCSI target is already running.                                                                                                   [PASSED]


Предлагаю сделать возможность указать в /etc/sysconfig/tgt переменную FORCE_STOP со значением &quot;-f&quot;.

патч:

--- /etc/init.d/tgt~	2016-01-11 13:05:39.000000000 +0500
+++ /etc/init.d/tgt	2018-10-09 01:19:37.281448517 +0500
@@ -68,7 +68,7 @@
 
 stop() {
 	STOP_OPTIONS1=&quot;--op update --mode sys --name State -v offline&quot;
-	STOP_OPTIONS2=&quot;--update ALL -c /dev/null&quot;
+	STOP_OPTIONS2=&quot;--update ALL -c /dev/null $FORCE_STOP&quot;
 	STOP_OPTIONS3=&quot;--op delete --mode system&quot;
 	daemon_status
 	RETVAL=$?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174844</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2018-10-09 13:48:02 +0300</bug_when>
    <thetext>Кажется, piastry@ давно уж ничего не собирает.
(кстати, повесил по дороге bug 35495)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174849</commentid>
    <comment_count>2</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2018-10-09 14:09:47 +0300</bug_when>
    <thetext>Тогда могу пакет забрать себе.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298301</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-12 19:00:32 +0300</bug_when>
    <thetext>Воспроизведено на scsitarget-utils 1.0.97-alt1 (задание https://packages.altlinux.org/tasks/400616/) в контейнере Sisyphus: tgtd с одной целью на /tmp/disk.img, инициатор — iscsi-perf из libiscsi-utils (I_T nexus виден в tgtadm --op show), затем:

    $ /etc/rc.d/init.d/tgt stop
    Stopping iSCSI target service: tgtadm: invalid request    [FAILED]
    rc=22, tgtd продолжает работать

Механика: tgt.init:71 STOP_OPTIONS2=&quot;--update ALL -c /dev/null&quot; без -f — tgt-admin молча пропускает занятую цель (tgt-admin, строки 1126/1153: &quot;is in use… you have to add --force&quot;) и возвращает 0, после чего tgtadm --op delete --mode system падает с &quot;invalid request&quot; (22). tgt.init не менялся с 11.01.2016 (коммит 0c417fc); в tgt.service:27 та же команда без -f. Апстримный scripts/tgtd.service делает ExecStop=tgt-admin --offline ALL и затем tgt-admin --update ALL -c /dev/null -f.

С -f в том же контейнере: tgt-admin --update ALL -c /dev/null -f → rc=0, tgtadm --op delete --mode system → rc=0, tgtd завершается. Без инициатора stop проходит и сейчас.

Правка — добавить -f в tgt.init:71 и tgt.service:27 (по образцу апстрима можно и --offline ALL перед этим); вариант с $FORCE_STOP из sysconfig, предложенный в отчёте, тоже годится. Перевешиваю на andy@ — все сборки с 2020 года его; репортёр пакет так и не забрал.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298948</commentid>
    <comment_count>4</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-09-15 18:42:27 +0300</bug_when>
    <thetext>scsitarget-utils-1.0.97-alt2 -&gt; sisyphus:

Tue Sep 15 2026 Andrew A. Vasilyev &lt;andy@altlinux&gt; 1.0.97-alt2
- update tgt.{service,init} to force stop target (Closes: #35491)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>