Rileggi forzati della tabella delle partizioni: differenza tra BLKRRPART e BLKPG ioctl? (Linux)


8

Quando voglio che Linux consideri le partizioni appena create senza riavviare, ho diversi strumenti disponibili per forzare un aggiornamento della "cache delle partizioni" del kernel:

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

Non sono sicuro della differenza tra queste tecniche, ma penso che non usino lo stesso ioctl, come BLKRRPARTo BLKPG. Quindi, qual è la differenza tra quelli ioctl?


Probabilmente nessuno. kpartxè derivato da partx, sfdiskè un altro strumento di modifica delle partizioni. hdparmè per altri usi, ma ha anche un modo per leggere la tabella delle partizioni nel kernel. Se hai davvero bisogno di sapere, guarda il codice sorgente.
ctrl-alt-delor,

Risposte:


5

BLKRRPART dice al kernel di rileggere la tabella delle partizioni. man 4 sd

Con BLKPGte puoi creare, aggiungere, eliminare partizioni a tuo piacimento (dal kernel, ovviamente non su disco). Devi dire al kernel l'offset e la dimensione della singola partizione, il che implica che devi aver analizzato la tabella delle partizioni in anticipo. Vedi kernel Linux:/include/uapi/linux/blkpg.h

Personalmente uso partprobe(parte di parted) , che utilizza quest'ultimo approccio, probabilmente per supportare tabelle di partizioni non supportate dal kernel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.