Reler forçada da tabela de partições: diferença entre BLKRRPART e BLKPG ioctl? (Linux)

7

Quando eu quero que o Linux considere partições recém-criadas sem reiniciar, eu tenho várias ferramentas disponíveis para forçar uma atualização do "cache de partição" do kernel:

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

Não tenho certeza sobre a diferença entre essas técnicas, mas acho que elas não usam o mesmo ioctl , como BLKRRPART ou BLKPG . Então, qual é a diferença entre os ioctl ?

    
por Totor 09.07.2014 / 10:08

1 resposta

3

BLKRRPART diz ao kernel para reler a tabela de partições. man 4 sd

Com BLKPG você pode criar, adicionar, deletar partições como quiser (do kernel, não no disco, é claro). Você tem que dizer ao kernel o deslocamento e o tamanho da partição individual, o que implica que você deve ter analisado a tabela de partição de antemão. Veja Linux kernel: /include/uapi/linux/blkpg.h

Eu pessoalmente uso partprobe (parte do parted) , que usa a última abordagem, provavelmente para apoiar tabelas de partição não suportadas pelo kernel.

    
por 14.07.2016 / 15:20