我认为这应该是非常简单的事情,但此刻它正在躲避我。最 示例处理“如果你有一个BSD名称/开发/磁盘,你怎么能找到设备”,而我刚刚注册了我的设备,并希望找到它给出的BSD名称。即,/ dev / disk2。
我制定标准
class net_lundman_zfs_zvol : public IOService
class net_lundman_zfs_zvol_device : public IOBlockStorageDevice
为新设备创建一个小块;
bool net_lundman_zfs_zvol::createBlockStorageDevice (zvol_state_t *zv)
{
net_lundman_zfs_zvol_device *nub = NULL;
bool result = false;
nub = new net_lundman_zfs_zvol_device;
if (nub == NULL) goto bail;
if (nub->init(zv) == false) goto bail;
if (nub->attach(this) == false) goto bail;
nub->registerService();
}
现在,我想找出我的新小组给出的BSDName。如果它对我没关系 如果在net_lundman_zfs_zvol或net_lundman_zfs_zvol_device。
我以为我可以打电话
getProperty(kIOBSDNameKey);
但它始终为NULL。我可能需要找到IOMedia *
并从那里拨打getProperty()
吗?