#include <palacios/vmm.h>
#include <palacios/vmm_dev_mgr.h>
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
#ifndef CONFIG_DEBUG_IDE
#undef PrintDebug
-static int disk_free(struct vm_device * dev) {
+static int disk_free(struct disk_state * disk) {
+
+ v3_socket_close(disk->socket);
+
+ V3_Free(disk);
return 0;
}
static struct v3_device_ops dev_ops = {
- .free = disk_free,
+ .free = (int (*)(void *))disk_free,
};
disk->socket = v3_create_tcp_socket(disk->vm);
- PrintDebug("DISK socket: %d\n", disk->socket);
+ PrintDebug("DISK socket: %p\n", disk->socket);
PrintDebug("Connecting to: %s:%d\n", v3_inet_ntoa(disk->ip_addr), disk->port);
v3_connect_to_ip(disk->socket, v3_ntohl(disk->ip_addr), disk->port);