autoNAS / config / 99-autonas-disk.rules
Newer Older
44 lines | 4.5kb
Bogdan Timofte authored 3 months ago
1
# AutoNAS udev rules
2
# Place this file in /etc/udev/rules.d/
3

            
4
# Rule for USB storage devices - trigger on add/remove
5
# Detect USB disks (whole disk)
6
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="usb", RUN+="/bin/systemctl start autonas-attach@%E{ID_FS_UUID}.service"
Bogdan Timofte authored 2 weeks ago
7
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="usb", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
8

            
9
# Detect USB partitions (more common case)
10
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="usb", RUN+="/bin/systemctl start autonas-attach@%E{ID_FS_UUID}.service"
Bogdan Timofte authored 2 weeks ago
11
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="usb", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
12

            
13
# Rule for built-in SD/MMC readers, including GoPro SDXC cards exposed as
14
# /dev/mmcblkNpM. These devices usually do not set ID_BUS=usb, so the USB
15
# rules above never see them.
16
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", KERNEL=="mmcblk*p[0-9]*", RUN+="/usr/local/lib/xdev/autonas/autonas-udev-wrapper.sh attach %E{ID_FS_UUID}"
17
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", KERNEL=="mmcblk*p[0-9]*", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
18

            
19
# Rule for ATA/SATA external storage devices (USB-to-SATA bridges)
20
# Detect ATA disks (whole disk) - these appear as ATA but are actually USB external
Bogdan Timofte authored 2 weeks ago
21
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="ata", ATTRS{removable}=="1", RUN+="/usr/local/lib/xdev/autonas/autonas-udev-wrapper.sh attach %E{ID_FS_UUID}"
22
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="ata", ATTRS{removable}=="1", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
23

            
24
# Detect ATA partitions (more common case)
Bogdan Timofte authored 2 weeks ago
25
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="ata", ATTRS{removable}=="1", RUN+="/usr/local/lib/xdev/autonas/autonas-udev-wrapper.sh attach %E{ID_FS_UUID}"
26
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="ata", ATTRS{removable}=="1", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
27

            
28
# Special rule for USB-to-SATA bridges that appear as ATA but have USB properties
29
# This safely identifies external USB drives that appear as ATA
Bogdan Timofte authored 2 weeks ago
30
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="ata", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/local/lib/xdev/autonas/autonas-udev-wrapper.sh attach %E{ID_FS_UUID}"
31
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="ata", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
32

            
33
# Detect USB-to-SATA bridge partitions
Bogdan Timofte authored 2 weeks ago
34
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="ata", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/local/lib/xdev/autonas/autonas-udev-wrapper.sh attach %E{ID_FS_UUID}"
35
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="ata", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
36

            
37
# Rule for SCSI external storage devices
38
# Detect removable disks (whole disk) - exclude USB devices (handled above)
39
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ATTRS{removable}=="1", ENV{ID_BUS}!="usb", RUN+="/bin/systemctl start autonas-attach@%E{ID_FS_UUID}.service"
Bogdan Timofte authored 2 weeks ago
40
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="disk", ATTRS{removable}=="1", ENV{ID_BUS}!="usb", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"
Bogdan Timofte authored 3 months ago
41

            
42
# Detect removable partitions (more common case) - exclude USB devices (handled above)
43
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ATTRS{removable}=="1", ENV{ID_BUS}!="usb", RUN+="/bin/systemctl start autonas-attach@%E{ID_FS_UUID}.service"
Bogdan Timofte authored 2 weeks ago
44
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}!="", ENV{DEVTYPE}=="partition", ATTRS{removable}=="1", ENV{ID_BUS}!="usb", RUN+="/usr/local/lib/xdev/autonas/autonas-disk-handler.sh detach %E{ID_FS_UUID}"