Às vezes, ao redimensionar ou mexer nas partições de um disco, o cfdisk dirá:
Wrote partition table, but re-read table failed. Reboot to update table.
(Isso também acontece com outras ferramentas de particionamento, então estou pensando que este é um problema do Linux e não um problema do cfdisk.) Por que isso acontece e por que isso só acontece às vezes , e o que posso fazer para evitá-lo?
Nota: Por favor, assuma que nenhuma das partições que estou realmente editando está aberta, montada ou em uso.
Atualizar:
cfdisk usa ioctl(fd, BLKRRPART, NULL)
para dizer ao Linux para reler a tabela de partições. Duas das outras ferramentas recomendadas até agora ( hdparm -z
DEVICE
, sfdisk -R
DEVICE
) fazem exatamente a mesma coisa. O partprobe
DEVICE
comando, por outro lado, parece usar um novo ioctl chamado BLKPG, que pode ser melhor; Não sei. (Ele também recorre ao BLKRRPART se o BLKPG falhar.)
O BLKPG parece ser uma operação "esta partição mudou; aqui está o novo tamanho" e parecia ser partprobe
chamado individualmente em todas as partições do dispositivo passado, portanto, deve funcionar se as partições individuais não forem usadas. No entanto, não tive a oportunidade de experimentá-lo.