Baca ulang paksa tabel partisi: perbedaan antara BLKRRPART dan BLKPG ioctl? (Linux)

8

Ketika saya ingin Linux mempertimbangkan partisi yang baru dibuat tanpa me-reboot, saya memiliki beberapa alat yang tersedia untuk memaksa penyegaran "cache partisi" kernel:

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

Saya tidak yakin tentang perbedaan antara teknik-teknik ini, tetapi saya pikir mereka tidak menggunakan yang sama ioctl, seperti BLKRRPARTatau BLKPG. Jadi, apa perbedaannya ioctl?

Totor
sumber
Mungkin tidak ada sama sekali. kpartxberasal dari partx, sfdiskadalah alat edit partisi lain. hdparmadalah untuk kegunaan lain, tetapi juga memiliki cara untuk membaca tabel partisi ke dalam kernel. Jika Anda benar-benar perlu tahu, maka lihat kode sumbernya.
ctrl-alt-delor

Jawaban:

5

BLKRRPART memberitahu kernel untuk membaca ulang tabel partisi. man 4 sd

Dengan BLKPGAnda dapat membuat, menambah, menghapus partisi sesuka Anda (dari kernel, bukan pada disk tentu saja). Anda harus memberi tahu kernel tentang offset dan ukuran partisi individual, yang menyiratkan bahwa Anda harus mem-parsing sendiri tabel partisi sebelumnya. Lihat kernel Linux:/include/uapi/linux/blkpg.h

Saya pribadi menggunakan partprobe(bagian dari parted) , yang menggunakan pendekatan terakhir, mungkin untuk mendukung tabel partisi yang tidak didukung oleh kernel.

Rondom
sumber