Commit Graph

40 Commits

Author SHA1 Message Date
Marek Marczykowski
c8fb5cfd99 dispvm: minor fixes 2014-11-19 12:50:24 +01:00
Marek Marczykowski
ff2c925e18 dispvm: use qubesdb instead of xenstore 2014-11-19 12:50:24 +01:00
Marek Marczykowski
107ebad9d5 Migration to libvirt - DispVM
Move DispVM creation to qfile-daemon-dvm/QubesDisposableVm from
qubes-restore. As actual restore is handled by libvirt, we don't get
much from separate qubes-restore process.
This code still needs some improvements, especially on performance.
2014-11-19 12:48:26 +01:00
Marek Marczykowski
a880483092 Migration to libvirt - core part
Still not all code migrated, added appropriate TODO/FIXME comments.
2014-11-19 12:47:00 +01:00
Marek Marczykowski-Górecki
7fbbcd58bf dispvm: print diagnostics to stderr 2014-11-10 11:42:47 +01:00
Marek Marczykowski-Górecki
1b99011bbb dispvm: use getopt to parse qubes-restore cmdline
It will ease further enhancements, especially adding additional options.
2014-11-04 02:55:35 +01:00
Marek Marczykowski-Górecki
c10909e9f9 dispvm: use tray notification for "Updating default DispVM savefile" msg (#877) 2014-07-04 04:33:16 +02:00
Marek Marczykowski-Górecki
6ce4028033 dispvm: use tray notify for no-memory error (#877) 2014-07-03 04:09:17 +02:00
Marek Marczykowski-Górecki
b81ecc4fba dispvm: fix tray notifications (#874) 2014-07-02 02:31:05 +02:00
Marek Marczykowski-Górecki
5443826fff Fix block hotplug script locking
Do not let hotplug script inherit lock FD - if it starts some long
running process (like xenstore-watch), it will hold the lock and block other scripts.
2014-06-27 00:08:30 +02:00
Marek Marczykowski-Górecki
1ed9c74d83 Rearrange code to not import PyQt on every qvm-* call
Move notification functions to separate file (out of guihelpers).
2014-06-05 01:59:42 +02:00
Marek Marczykowski-Górecki
2abe0649d4 dispvm: show "DisposableVM creation failed" msg using tray notification (#821) 2014-05-15 18:35:01 +02:00
Marek Marczykowski-Górecki
2bde8d906b dispvm: do not fail when notification service unavailable 2014-05-15 18:34:57 +02:00
Marek Marczykowski-Górecki
9ee207514e dispvm: increase log verbosity during domain restore 2014-04-16 16:44:42 +02:00
Marek Marczykowski-Górecki
e2f3446f22 dispvm: do not limit DispVM memory to reported allocated size
Apparently it doesn't work with some kernels - saved domain still needs
original memory amount to restore successfully. This happens at least on
3.12.14 kernel.
Because qfile-daemon-dvm always requests 400MB from qmemman, this change
should harm anyone - in any case DispVM needs 400MB free memory to
start.

Note that "xl mem-set" line is still there, which makes savefile somehow
smaller (so faster restore).
2014-04-16 16:44:42 +02:00
Marek Marczykowski-Górecki
8be54ab174 dispvm: display warning if the template is running (#754)
Opening a DispVM when the TemplateVM is running forces savefile
regeneration. Checking real root.img modification time (taking into
account root-cow.img) is tricky, so display a warning instead.
2014-03-28 04:27:51 +01:00
Vincent Penquerc'h
a8f62a960b Do not close fd 2 if it's the one we need
This should not happen based if stderr was not already closed,
but it's better not to make assumptions.
2014-02-16 11:44:03 +01:00
Marek Marczykowski-Górecki
17d2f94d8c dispvm: add -Wextra -Werror, fix warnings 2014-02-16 11:14:40 +01:00
Marek Marczykowski-Górecki
62457da085 Merge branch 'appicons' 2014-02-07 05:52:36 +01:00
Marek Marczykowski-Górecki
7a639911f8 dispvm: simplify DispVM preparation script 2014-01-21 04:41:18 +01:00
Marek Marczykowski-Górecki
c57c5fc107 dispvm: fix non-networked DispVM
The 'netvm-id.txt' will be empty in this case.
2014-01-16 15:48:24 +01:00
Vincent Penquerc'h
8e16c0be34 qubes-restore: check for negative numbers from file data 2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
cdbfa0b7eb xenstore-watch: initialize token passed to xen
Xen will read it till the terminating NUL.

Plus return 0 on exit and define main as returning int.
2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
2924a3436f qubes-restore: minor const/void fixups 2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
cb39059ede qubes-restore: trivial error message \n fixups 2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
702cd90c4d qubes-restore: fix buffer reading loop
It would work twice, but no more.

Also guard explicitely against buffer overflow, since once that
code actually works, sizeof(buf)-buflen will be interpreted as
large positive, and allow overwriting the stack.
2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
67c198552b qubes-restore: guard against falling off the start of the buffer 2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
f34728c0bb qubes-restore: make error message more truthful 2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
f3850b7a71 qubes-restore: ensure we don't read outside the buffer
Marek says the 20 offset was there for a previous Xen
save file format, and is no longer needed.
2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
ed24d8bc75 qubes-restore: fix race condition in allocating VM IDs 2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
2cf4ad18eb qubes-restore: some syscall error checking 2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
8c7a5e5933 qubes-restore: fix buffer overflow in command line building 2014-01-06 17:42:50 +01:00
Vincent Penquerc'h
95c76e071e qubes-restore: properly format time
2 microseconds are not 2 deciseconds
2014-01-06 17:42:50 +01:00
Vincent Penquerc'h
bf6486e973 qubes-restore: properly NUL terminate buffer and check for errors
It looks like a succesful read would have worked, assuming that the
other side always sends a \n last, as strtoul would find one before
the NUL. However, an error would write before the buffer.
2014-01-06 17:42:50 +01:00
Marek Marczykowski-Górecki
8cee6e22f4 dispvm:
Remove temp file if already existed. It could be created with different
owner, so unavailable for this process.
2013-11-27 03:22:24 +01:00
Marek Marczykowski-Górecki
aadd47ce45 dispvm: fix commit "pass VM name to qrexec-daemon" 2013-10-19 15:55:31 +02:00
Marek Marczykowski-Górecki
3443f94aa9 dispvm: fix out of memory message - Xfce version 2013-10-19 15:54:55 +02:00
Marek Marczykowski-Górecki
ed3d602140 dispvm: pass VM name to qrexec-daemon
Now qrexec-daemon requires three arguments: domid, domname,
default_user.
2013-10-19 00:07:25 +02:00
Marek Marczykowski
8efba3092c dispvm: fix zenity arguments for error message 2013-05-16 15:53:29 +02:00
Marek Marczykowski
a84886db07 Move all files one level up 2013-03-16 19:56:51 +01:00