qemu-patch-raspberry4/qemu-tool.c
Ronnie Sahlberg 31459f463a iscsi: Pick default initiator-name based on the name of the VM
This patch updates the iscsi layer to automatically pick a 'unique'
initiator-name based on the name of the vm in case the user has not set
an explicit iqn-name to use.

Create a new function qemu_get_vm_name() that returns the name of the VM,
if specified.

This way we can thus create default names to use as the initiator name
based on the guest session.

If the VM is not named via the '-name' command line argument, the iscsi
initiator-name used wiull simply be

    iqn.2008-11.org.linux-kvm

If a name for the VM was specified with the '-name' option, iscsi will
use a default initiatorname of

    iqn.2008-11.org.linux-kvm:<name>

These names are just the default iscsi initiator name that qemu will
generate/use only when the user has not set an explicit initiator name
via the commandlines or config files.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-08-09 15:04:09 +02:00

117 lines
1.8 KiB
C

/*
* Compatibility for qemu-img/qemu-nbd
*
* Copyright IBM, Corp. 2008
*
* Authors:
* Anthony Liguori <aliguori@us.ibm.com>
*
* This work is licensed under the terms of the GNU GPL, version 2. See
* the COPYING file in the top-level directory.
*
* Contributions after 2012-01-13 are licensed under the terms of the
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "qemu-common.h"
#include "monitor.h"
#include "qemu-timer.h"
#include "qemu-log.h"
#include "migration.h"
#include "main-loop.h"
#include "qemu_socket.h"
#include "slirp/libslirp.h"
#include <sys/time.h>
struct QEMUBH
{
QEMUBHFunc *cb;
void *opaque;
};
const char *qemu_get_vm_name(void)
{
return NULL;
}
Monitor *cur_mon;
int monitor_cur_is_qmp(void)
{
return 0;
}
void monitor_set_error(Monitor *mon, QError *qerror)
{
}
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
{
}
void monitor_printf(Monitor *mon, const char *fmt, ...)
{
}
void monitor_print_filename(Monitor *mon, const char *filename)
{
}
void monitor_protocol_event(MonitorEvent event, QObject *data)
{
}
int64_t cpu_get_clock(void)
{
return qemu_get_clock_ns(rt_clock);
}
int64_t cpu_get_icount(void)
{
abort();
}
void qemu_mutex_lock_iothread(void)
{
}
void qemu_mutex_unlock_iothread(void)
{
}
int use_icount;
void qemu_clock_warp(QEMUClock *clock)
{
}
int qemu_init_main_loop(void)
{
init_clocks();
init_timer_alarm();
return main_loop_init();
}
void slirp_update_timeout(uint32_t *timeout)
{
}
void slirp_select_fill(int *pnfds, fd_set *readfds,
fd_set *writefds, fd_set *xfds)
{
}
void slirp_select_poll(fd_set *readfds, fd_set *writefds,
fd_set *xfds, int select_error)
{
}
void migrate_add_blocker(Error *reason)
{
}
void migrate_del_blocker(Error *reason)
{
}