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

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

    <bug>
          <bug_id>54501</bug_id>
          
          <creation_ts>2025-05-27 18:31:50 +0300</creation_ts>
          <short_desc>Нельзя сделать диск removable с помощью правил udev</short_desc>
          <delta_ts>2025-05-28 10:52:12 +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>udev</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem Varaksa">varaksaaa</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>arseny</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>265831</commentid>
    <comment_count>0</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-05-27 18:31:50 +0300</bug_when>
    <thetext>Шаги
====

1. Подключить внешний NVME диск, например:

&gt;  Device-1: 2-4:3 info: ASUSTek ROG STRIX Arion
&gt;    type: mass storage driver: usb-storage interfaces: 1
&gt;    rev: 2.1 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
&gt;    mode: 2.0 chip-ID: 0b05:1932 class-ID: 0806
&gt;    serial: &lt;filter&gt;

Диск изначально не removable (см. https://bugzilla.altlinux.org/54500)

2. Попробовать сделать диск removable по аналогии с https://wiki.archlinux.org/title/Udev#Some_devices,_that_should_be_treated_as_removable,_are_not :

2.1. # udevadm info /dev/sdb | grep ID_SERIAL
2.2. # cat &gt; /etc/udev/rules.d/99-removable.rules &lt;&lt; EOF
ENV{ID_SERIAL}==&quot;serial_number&quot;, ENV{UDISKS_AUTO}=&quot;1&quot;, ENV{UDISKS_SYSTEM}=&quot;0&quot;
EOF
2.3. Выполнить # udevadm control --reload и отключить/подключить устройство, перезагрузиться.

Фактический результат
=====================

В # udevadm info /dev/sdb теперь присутствуют строки:

&gt; E: UDISKS_AUTO=1
&gt; E: UDISKS_SYSTEM=0

Однако в # lsblk RM=0:

&gt; NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
&gt; ...
&gt; sdc      8:32   0 238,5G  0 disk
&gt; ├─sdc1   8:33   0   511M  0 part
&gt; ├─sdc2   8:34   0   3,7G  0 part
&gt; ├─sdc3   8:35   0  23,8G  0 part
&gt; └─sdc4   8:36   0 210,4G  0 part

И:

# cat /sys/block/sdc/removable
&gt; 0

Ожидаемый результат
===================

Диск определяется как removable.

Воспроизводимость
=================

Воспроизводится на виртуальных машинах (через SPICE USB):

[sisyphus] ALT Server 11.0 beta20250213 x86_64
udev-257.5-alt3.x86_64
libudev1-257.5-alt3.x86_64
udev-rules-sgutils-1.48-alt2.noarch
udev-rules-hotplug-cpu-1.0-alt1.noarch
kernel-image-6.12-6.12.30-alt2.x86_64

[p11] ALT Server 11.0 beta20250213 x86_64
libudev1-255.18-alt1.x86_64
udev-255.18-alt1.x86_64
udev-rules-hotplug-cpu-1.0-alt1.noarch
udev-rules-sgutils-1.48-alt2.noarch
kernel-image-6.12-6.12.27-alt1.x86_64

И на реальной машине [p11] ALT Workstation 11.0 x86_64.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265839</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2025-05-27 20:38:05 +0300</bug_when>
    <thetext>Мне кажется будет достаточно дописать в конце rules
, ATTR{removable}=&quot;1&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265870</commentid>
    <comment_count>2</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-05-28 10:52:12 +0300</bug_when>
    <thetext>Попробовал в p11 (ВМ + реальная) и sisyphus (ВМ) со строкой вида:

&gt; ENV{ID_SERIAL_SHORT}==&quot;...&quot;, ENV{UDISKS_AUTO}=&quot;1&quot;, ENV{UDISKS_SYSTEM}=&quot;0&quot;, ATTR{removable}=&quot;1&quot;

К сожалению, не помогает, # lsblk и # cat /sys/block/.../removable всё равно говорят, что не removable.

В отличие от UDISKS_AUTO и UDISKS_SYSTEM, removable не вижу чтобы как-либо отражался в выводе # udevadm info /dev/...:

&gt; P: /devices/pci0000:00/0000:00:08.1/0000:03:00.4/usb3/3-1/3-1:1.0/host2/target2:0:0/2:0:0:0/block/sda
&gt; M: sda
&gt; U: block
&gt; T: disk
&gt; D: b 8:0
&gt; N: sda
&gt; L: 0
&gt; S: disk/by-path/pci-0000:03:00.4-usb-0:1:1.0-scsi-0:0:0:0
&gt; S: disk/by-diskseq/33
&gt; S: disk/by-id/usb-ROG_ESD-S1C_&lt;SERIAL&gt;-0:0
&gt; S: disk/by-path/pci-0000:03:00.4-usbv2-0:1:1.0-scsi-0:0:0:0
&gt; Q: 33
&gt; E: DEVPATH=/devices/pci0000:00/0000:00:08.1/0000:03:00.4/usb3/3-1/3-1:1.0/host2/target2:0:0/2:0:0:0/block/sda
&gt; E: DEVNAME=/dev/sda
&gt; E: DEVTYPE=disk
&gt; E: DISKSEQ=33
&gt; E: MAJOR=8
&gt; E: MINOR=0
&gt; E: SUBSYSTEM=block
&gt; E: USEC_INITIALIZED=1519811695
&gt; E: ID_BUS=usb
&gt; E: ID_MODEL=ESD-S1C
&gt; E: ID_MODEL_ENC=ESD-S1C\x20\x20\x20\x20\x20\x20\x20\x20\x20
&gt; E: ID_MODEL_ID=1932
&gt; E: ID_SERIAL=ROG_ESD-S1C_&lt;SERIAL&gt;-0:0
&gt; E: ID_SERIAL_SHORT=&lt;SERIAL&gt;
&gt; E: ID_VENDOR=ROG
&gt; E: ID_VENDOR_ENC=ROG\x20\x20\x20\x20\x20
&gt; E: ID_VENDOR_ID=0b05
&gt; E: ID_REVISION=0
&gt; E: ID_TYPE=disk
&gt; E: ID_INSTANCE=0:0
&gt; E: ID_USB_MODEL=ESD-S1C
&gt; E: ID_USB_MODEL_ENC=ESD-S1C\x20\x20\x20\x20\x20\x20\x20\x20\x20
&gt; E: ID_USB_MODEL_ID=1932
&gt; E: ID_USB_SERIAL=ROG_ESD-S1C_&lt;SERIAL&gt;-0:0
&gt; E: ID_USB_SERIAL_SHORT=&lt;SERIAL&gt;
&gt; E: ID_USB_VENDOR=ROG
&gt; E: ID_USB_VENDOR_ENC=ROG\x20\x20\x20\x20\x20
&gt; E: ID_USB_VENDOR_ID=0b05
&gt; E: ID_USB_REVISION=0
&gt; E: ID_USB_TYPE=disk
&gt; E: ID_USB_INSTANCE=0:0
&gt; E: ID_USB_INTERFACES=:080650:080662:
&gt; E: ID_USB_INTERFACE_NUM=00
&gt; E: ID_USB_DRIVER=usb-storage
&gt; E: ID_PATH_WITH_USB_REVISION=pci-0000:03:00.4-usbv2-0:1:1.0-scsi-0:0:0:0
&gt; E: ID_PATH=pci-0000:03:00.4-usb-0:1:1.0-scsi-0:0:0:0
&gt; E: ID_PATH_TAG=pci-0000_03_00_4-usb-0_1_1_0-scsi-0_0_0_0
&gt; E: ID_PART_TABLE_UUID=260763ea-456d-844b-ae19-15e7aaceb3ce
&gt; E: ID_PART_TABLE_TYPE=gpt
&gt; E: LVM_SYSTEMD=0
&gt; E: UDISKS_AUTO=1
&gt; E: UDISKS_SYSTEM=0
&gt; E: DEVLINKS=/dev/disk/by-path/pci-0000:03:00.4-usb-0:1:1.0-scsi-0:0:0:0 /dev/disk/by-diskseq/33 &gt; /dev/disk/by-id/usb-ROG_ESD-S1C_&lt;SERIAL&gt;-0:0 /dev/disk/by-path/pci-0000:03:00.4-usbv2-0:1:1.0-scsi-0:0:0:0
&gt; E: TAGS=:systemd:
&gt; E: CURRENT_TAGS=:systemd:</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>