本文整理汇总了C++中del_gendisk函数的典型用法代码示例。如果您正苦于以下问题:C++ del_gendisk函数的具体用法?C++ del_gendisk怎么用?C++ del_gendisk使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了del_gendisk函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: zvol_free
/*
* Cleanup then free a zvol_state_t which was created by zvol_alloc().
*/
static void
zvol_free(zvol_state_t *zv)
{
avl_destroy(&zv->zv_znode.z_range_avl);
mutex_destroy(&zv->zv_znode.z_range_lock);
del_gendisk(zv->zv_disk);
blk_cleanup_queue(zv->zv_queue);
put_disk(zv->zv_disk);
kmem_free(zv, sizeof (zvol_state_t));
}
示例2: tbio_exit
static void tbio_exit(void)
{
if(Device.bdev) {
invalidate_bdev(Device.bdev,1);
bdput(Device.bdev);
}
del_gendisk(Device.gd);
put_disk(Device.gd);
unregister_blkdev(TBIO_MAJOR , "tbio");
vfree(Device.data);
}
示例3: tc20
static void tc20(void)
{
struct gendisk *gd_ptr;
gd_ptr = alloc_disk(1);
if (!gd_ptr) {
return;
}
printk(KERN_DEBUG "gd_ptr after alloc=%p\n", gd_ptr);
del_gendisk(gd_ptr);
}
示例4: null_del_dev
static void null_del_dev(struct nullb *nullb)
{
list_del_init(&nullb->list);
del_gendisk(nullb->disk);
if (queue_mode == NULL_Q_MQ)
blk_mq_free_queue(nullb->q);
else
blk_cleanup_queue(nullb->q);
put_disk(nullb->disk);
kfree(nullb);
}
示例5: cleanup_device
static void cleanup_device(osprd_info_t *d)
{
wake_up_all(&d->blockq);
if (d->gd) {
del_gendisk(d->gd);
put_disk(d->gd);
}
if (d->queue)
blk_cleanup_queue(d->queue);
if (d->data)
vfree(d->data);
}
示例6: aoedev_freedev
static void
aoedev_freedev(struct aoedev *d)
{
if (d->gd) {
aoedisk_rm_sysfs(d);
del_gendisk(d->gd);
put_disk(d->gd);
}
kfree(d->frames);
if (d->bufpool)
mempool_destroy(d->bufpool);
kfree(d);
}
示例7: sbd_exit
static void __exit sbd_exit(void)
{
del_gendisk(Device.gd);
put_disk(Device.gd);
unregister_blkdev(major_num, "sbd");
blk_cleanup_queue(Queue);
crypto_free_cipher(tfm);
device_remove_file(&rd_root_dev, &dev_attr_key);
device_unregister(&rd_root_dev);
vfree(Device.data);
}
示例8: ramblock_exit
static void ramblock_exit(void)
{
unregister_blkdev(major, "ramblock");
del_gendisk(ramblock_gendisk);
/* put_disk(ramblock_gendisk);
* 视频里有这一句话,我这里注释掉貌似也没什么问题
* 应该是需要的,要把计数器减去1
*/
blk_cleanup_queue(ramblock_request_queue);
kfree(ramblock_buf);
}
示例9: ramhd_exit
void ramhd_exit(void) {
int i;
for (i = 0; i < RAMHD_MAX_DEVICE; i++) {
del_gendisk(rdev[i]->gd);
put_disk(rdev[i]->gd);
blk_cleanup_queue(rdev[i]->queue);
}
unregister_blkdev(ramhd_major, RAMHD_NAME);
clean_ramdev();
ramhd_space_clean();
}
示例10: ide_gd_remove
static void ide_gd_remove(ide_drive_t *drive)
{
struct ide_disk_obj *idkp = drive->driver_data;
struct gendisk *g = idkp->disk;
ide_proc_unregister_driver(drive, idkp->driver);
del_gendisk(g);
drive->disk_ops->flush(drive);
ide_disk_put(idkp);
}
示例11: slot_disable
LOCAL void slot_disable(int slot)
{
struct ndas_slot* sd = NDAS_GET_SLOT_DEV(slot);
dbgl_blk(2, "ing slot=%d",slot);
if ( sd == NULL ) {
dbgl_blk(0, "ndas: fix me at slot_disable!!");
goto out;
}
down(&sd->mutex);
if ( !sd->enabled ) {
dbgl_blk(1, "ed slot=%d is already disabled",slot);
up(&sd->mutex);
goto out;
}
#if LINUX_VERSION_25_ABOVE
del_gendisk(sd->disk);
put_disk(sd->disk);
sd->disk = NULL;
blk_cleanup_queue(sd->queue);
sd->queue = NULL;
#else
ndas_ops_set_blk_size(slot, 0, 0, 0, 0);
ndas_ops_invalidate_slot(slot);
#endif
#ifdef NDAS_DEVFS
// devfs_unregister(sd->devfs_handle);
#endif
sd->enabled = 0;
up(&sd->mutex);
module_put(THIS_MODULE);
MOD_DEC_USE_COUNT;
if ( sd ) {
#if LINUX_VERSION_25_ABOVE
printk("ndas: /dev/%s is disabled\n", sd->devname);
#else
#ifdef NDAS_DEVFS
printk("ndas: /dev/nd/disc%d is disabled\n", slot - NDAS_FIRST_SLOT_NR);
#else
printk("ndas: /dev/nd%c is disabled\n", slot + 'a' - NDAS_FIRST_SLOT_NR);
#endif
#endif
}
else
printk("ndas: slot %d is disabled\n", slot);
out:
dbgl_blk(3, "ed");
}
示例12: cleanup_module
void cleanup_module(void)
{
printk(KERN_ALERT "Exiting module and cleaning up \n");
pm_unregister(ltp_pm_dev);
put_disk(gd_ptr);
del_gendisk(gd_ptr);
unregister_blkdev(ltp_fs_major, LTP_FS_DEV_NAME);
}
示例13: ide_gd_remove
static void ide_gd_remove(ide_drive_t *drive)
{
struct ide_disk_obj *idkp = drive->driver_data;
struct gendisk *g = idkp->disk;
ide_proc_unregister_driver(drive, idkp->driver);
device_del(&idkp->dev);
del_gendisk(g);
drive->disk_ops->flush(drive);
mutex_lock(&ide_disk_ref_mutex);
put_device(&idkp->dev);
mutex_unlock(&ide_disk_ref_mutex);
}
示例14: pt_exit
static void pt_exit(void)
{
if (passthrough->gd) {
del_gendisk(passthrough->gd);
put_disk(passthrough->gd);
}
if (passthrough->queue)
blk_cleanup_queue(passthrough->queue);
blkdev_put(passthrough->target_dev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
unregister_blkdev(passthrough->major, "passthrough");
kfree(passthrough);
}
示例15: null_del_dev
static void null_del_dev(struct nullb *nullb)
{
list_del_init(&nullb->list);
if (use_lightnvm)
null_nvm_unregister(nullb);
else
del_gendisk(nullb->disk);
blk_cleanup_queue(nullb->q);
if (queue_mode == NULL_Q_MQ)
blk_mq_free_tag_set(&nullb->tag_set);
if (!use_lightnvm)
put_disk(nullb->disk);
cleanup_queues(nullb);
kfree(nullb);
}