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

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

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

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

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

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

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

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

  • Как определить, является ли устройство SCSI съемным?
  • Совместите PCI-адрес контроллера SATA и адрес SCSI подключенных дисков
  • SCSI Ленточный накопитель на ubuntu и centos
  • dd output: «функция не реализована» при попытке записи в / dev / sg11
  • tar: / dev / nst0: невозможно записать: ошибка ввода / вывода при резервном копировании
  • Получение информации об использовании ленты SCSI
  • Модуль scsi_wait_scan не найден в CentOS kernel-ml вызывает панику ядра при загрузке
  • Как установить гораздо более новую версию драйвера mpt2sas в debian squeeze?
  • One Solution collect form web for “Пакетное создание раздела, затем узла раздела; провал доступа”

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

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

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

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

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