Às vezes, ao redimensionar ou mexer com partições em 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 esse é um problema de Linux e não de cfdisk.) Por que isso e por que isso acontece apenas às vezes e o que posso fazer para evitá-lo?
Nota: Assuma que nenhuma das partições que estou editando esteja aberta, montada ou em uso.
Atualizar:
O cfdisk usa ioctl(fd, BLKRRPART, NULL)
para dizer ao Linux para reler a tabela de partição. 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; Eu não sei. (Ele também recai no BLKRRPART se o BLKPG falhar.)
O BLKPG parece ser uma operação "esta partição foi alterada; aqui está o novo tamanho" e parecia ser partprobe
chamada individualmente em todas as partições do dispositivo aprovadas; portanto, deve funcionar se as partições individuais não forem usadas. No entanto, não tive a oportunidade de experimentá-lo.
man sfdisk
diz:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.