From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH 2/2] kvm tools: Use host's resolv.conf within the guest Date: Wed, 14 Sep 2011 19:28:26 +0300 Message-ID: <1316017706-12348-2-git-send-email-levinsasha928@gmail.com> References: <1316017706-12348-1-git-send-email-levinsasha928@gmail.com> Cc: kvm@vger.kernel.org, mingo@elte.hu, asias.hejun@gmail.com, gorcunov@gmail.com, Sasha Levin To: penberg@kernel.org Return-path: Received: from mail-ww0-f44.google.com ([74.125.82.44]:44728 "EHLO mail-ww0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757026Ab1INQ3D (ORCPT ); Wed, 14 Sep 2011 12:29:03 -0400 Received: by wwf22 with SMTP id 22so2448366wwf.1 for ; Wed, 14 Sep 2011 09:29:02 -0700 (PDT) In-Reply-To: <1316017706-12348-1-git-send-email-levinsasha928@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: Since kernel IP autoconfiguration doesn't set up /etc/resolv.conf, we'll use the one located within the host, since this was anyway what we simulated within the DHCP offer packets. Signed-off-by: Sasha Levin --- tools/kvm/builtin-run.c | 2 ++ tools/kvm/builtin-setup.c | 9 +++++++++ tools/kvm/include/kvm/builtin-setup.h | 1 + 3 files changed, 12 insertions(+), 0 deletions(-) diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c index 5dafb15..9d61088 100644 --- a/tools/kvm/builtin-run.c +++ b/tools/kvm/builtin-run.c @@ -129,6 +129,7 @@ static int img_name_parser(const struct option *opt, const char *arg, int unset) die("Unable to initialize virtio 9p"); if (virtio_9p__register(kvm, "/", "hostfs") < 0) die("Unable to initialize virtio 9p"); + kvm_setup_resolv(arg); using_rootfs = custom_rootfs = 1; return 0; } @@ -750,6 +751,7 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) char tmp[PATH_MAX]; kvm_setup_create_new("default"); + kvm_setup_resolv("default"); snprintf(tmp, PATH_MAX, "%s%s%s", HOME_DIR, KVM_PID_FILE_PATH, "default"); if (virtio_9p__register(kvm, tmp, "/dev/root") < 0) diff --git a/tools/kvm/builtin-setup.c b/tools/kvm/builtin-setup.c index 6b8eb5b..3e569e7 100644 --- a/tools/kvm/builtin-setup.c +++ b/tools/kvm/builtin-setup.c @@ -168,6 +168,15 @@ static void make_guestfs_dir(const char *guestfs_name, const char *dir) make_dir(name); } +void kvm_setup_resolv(const char *guestfs_name) +{ + char path[PATH_MAX]; + + snprintf(path, PATH_MAX, "%s%s%s/etc/resolv.conf", HOME_DIR, KVM_PID_FILE_PATH, guestfs_name); + + copy_file("/etc/resolv.conf", path); +} + static int do_setup(const char *guestfs_name) { unsigned int i; diff --git a/tools/kvm/include/kvm/builtin-setup.h b/tools/kvm/include/kvm/builtin-setup.h index 6e183a1..f70ae78 100644 --- a/tools/kvm/include/kvm/builtin-setup.h +++ b/tools/kvm/include/kvm/builtin-setup.h @@ -4,5 +4,6 @@ int kvm_cmd_setup(int argc, const char **argv, const char *prefix); void kvm_setup_help(void); int kvm_setup_create_new(const char *guestfs_name); +void kvm_setup_resolv(const char *guestfs_name); #endif -- 1.7.6.1