Relectura forzada de la tabla de particiones: ¿diferencia entre BLKRRPART y BLKPG ioctl? (Linux)

8

Cuando quiero que Linux considere las particiones recién creadas sin reiniciar, tengo varias herramientas disponibles para forzar una actualización de la "caché de partición" del núcleo:

  • partx -va /dev/sdX
  • kpartx -va /dev/sdX
  • hdparm -z /dev/sdX
  • sfdisk -R /dev/sdX
  • ...

No estoy seguro de la diferencia entre estas técnicas, pero creo que no usan lo mismo ioctl, como BLKRRPARTo BLKPG. Entonces, ¿cuál es la diferencia entre esos ioctl?

Totor
fuente
Probablemente ninguno en absoluto. kpartxse deriva de partx, sfdiskes otra herramienta de edición de particiones. hdparmes para otros usos, pero también tiene una forma de leer la tabla de particiones en el núcleo. Si realmente necesita saber, mire el código fuente.
ctrl-alt-delor

Respuestas:

5

BLKRRPART le dice al núcleo que vuelva a leer la tabla de particiones. man 4 sd

Con BLKPGusted puede crear, agregar, eliminar particiones como desee (desde el núcleo, no en el disco, por supuesto). Debe decirle al kernel el desplazamiento y el tamaño de la partición individual, lo que implica que debe haber analizado la tabla de particiones de antemano. Ver kernel de Linux:/include/uapi/linux/blkpg.h

Yo personalmente uso partprobe(parte de parted) , que usa el último enfoque, probablemente para admitir tablas de particiones no admitidas por el kernel.

Rondom
fuente