return ret;
 }
 
-static void nbd_clear_sock_ioctl(struct nbd_device *nbd,
-                                struct block_device *bdev)
+static void nbd_clear_sock_ioctl(struct nbd_device *nbd)
 {
+       blk_mark_disk_dead(nbd->disk);
        nbd_clear_sock(nbd);
-       __invalidate_device(bdev, true);
-       nbd_bdev_reset(nbd);
        if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF,
                               &nbd->config->runtime_flags))
                nbd_config_put(nbd);
        case NBD_DISCONNECT:
                return nbd_disconnect(nbd);
        case NBD_CLEAR_SOCK:
-               nbd_clear_sock_ioctl(nbd, bdev);
+               nbd_clear_sock_ioctl(nbd);
                return 0;
        case NBD_SET_SOCK:
                return nbd_add_socket(nbd, arg, false);