Пакетное создание раздела, затем узла раздела; провал доступа

Итак, у меня есть программа, которая берет устройство, разделяет его и создает узел устройства для раздела. Проблема в том, что ядро ​​не поднимает устройство до тех пор, пока не будет принудительно вызвано какое-то повторное сканирование. Например:

  • Разделительное устройство
  • Сделать узел
  • cat node> cat: / dev / xxx: нет такого устройства или адреса

Но это работает:

  • Разделительное устройство
  • Сделать узел
  • Запустите cfdisk / dev / xxx и немедленно выйдите
  • узел cat> отлично работает

Почему это? Есть ли какой-либо ioctl для повторного сканирования шины SCSI или что-то еще?

И это не работает:

echo "- - -" > /sys/class/scsi_host/hostX/scan 

  • Что такое команда Linux, в которой перечислены только USB-устройства хранения данных?
  • Почему так долго нужно обнаружить USB-накопитель?
  • Как достигается надежность с помощью SCSI и SAN?
  • Расположить диск в корпусе SAS
  • «Невозможно выделить память» при чтении с ленты SCSI
  • Устройства переименовываются при подключении диска SATA
  • Не удалось редактировать файл / sys / block / sdX / device / queue_depth
  • Получить имена SAN Lun
  • One Solution collect form web for “Пакетное создание раздела, затем узла раздела; провал доступа”

    Использовать partprobe /dev/xxx

    partprobe является частью parted пакета. На странице руководства:

    partprobe – это программа, которая информирует ядро ​​операционной системы о изменениях таблицы разделов.

    Другая альтернатива, если у вас есть многораздельное блочное устройство (например, файл образа диска), и вы хотите автоматически создавать узлы устройства (например, / dev / loop *) для него. И информировать ядро, вы можете использовать kpartx . Он вызывается автоматически в событиях hotplug, таких как вставка USB-накопителя или SATA-накопителя с возможностью «горячей» замены.

    Linux и Unix - лучшая ОС в мире.