diff --git a/Makefile.am b/Makefile.am index 4e476ea92..50bfb322f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -52,6 +52,7 @@ SUBDIRS += tests/9p SUBDIRS += tests/rsync SUBDIRS += tests/bigdirs SUBDIRS += tests/disk-labels +SUBDIRS += tests/hotplug SUBDIRS += tests/regressions endif diff --git a/configure.ac b/configure.ac index 0422bcb40..b4720bce3 100644 --- a/configure.ac +++ b/configure.ac @@ -1379,6 +1379,7 @@ AC_CONFIG_FILES([Makefile tests/disk-labels/Makefile tests/extra/Makefile tests/guests/Makefile + tests/hotplug/Makefile tests/luks/Makefile tests/lvm/Makefile tests/md/Makefile diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 2a25c695f..9ffff152b 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -125,6 +125,7 @@ guestfsd_SOURCES = \ guestfsd.c \ headtail.c \ hexdump.c \ + hotplug.c \ hivex.c \ htonl.c \ initrd.c \ diff --git a/daemon/hotplug.c b/daemon/hotplug.c new file mode 100644 index 000000000..aae638e7a --- /dev/null +++ b/daemon/hotplug.c @@ -0,0 +1,67 @@ +/* libguestfs - the guestfsd daemon + * Copyright (C) 2012 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#include +#include +#include +#include +#include + +#include "guestfs_protocol.h" +#include "daemon.h" +#include "actions.h" + +#define HOT_ADD_TIMEOUT 30 /* seconds */ + +/* Wait for /dev/disk/guestfs/