0

我正在使用网络块设备 (NBD),但找不到关于 NBD_SET_SIZE 所指内容的任何文档。我怀疑它是块设备的大小,然后 NBD_SET_BLKSIZE 是底层设备块大小的提示。那么什么是 NBD_SET_SIZE_BLOCKS?

有没有什么地方可以得到 nbd.h 中定义的所有 ioctl 标志的定义?进行谷歌搜索没有任何结果,并且 nbd.h 不包含有关这些标志的评论。

4

1 回答 1

1

你可以在这里阅读代码。

基本上,有两种设置大小的方式:一种是以字节为单位的,另一种是以块为单位的。

前者是 NBD_SET_SIZE。后者需要您执行两个 ioctl,一个设置块大小 (NBD_SET_BLKSIZE),另一个设置块大小 (NBD_SET_SIZE_BLOCKS)。

一旦你理解了名字的来源,这真的不是那么难:-)

我不确定 NBD_SET_SIZE 是否仍受支持,因为我知道的大多数 nbd 实现都使用 NBD_SET_BLKSIZE。

于 2015-03-12T19:11:41.263 回答