Merge branch 'hvm' of 10.141.1.101:/var/lib/qubes/git/marmarek/core into hvm
This commit is contained in:
		
						commit
						11b952ffc5
					
				| @ -13,7 +13,7 @@ echo $$ > $PIDFILE | ||||
| trap "rm $PIDFILE" EXIT | ||||
| 
 | ||||
| # If no updates available - exit here | ||||
| qvm-dom0-updates --check-only && exit | ||||
| qubes-dom0-updates --check-only && exit | ||||
| RETCODE=$? | ||||
| 
 | ||||
| if [ "$RETCODE" -ne 100 ]; then | ||||
| @ -32,4 +32,4 @@ zenity --notification --window-icon=$NOTIFY_ICON --text="Qubes dom0 updates avai | ||||
| zenity --question --title="Qubes Dom0 updates" \ | ||||
|       --text="There are updates for dom0 available, do you want to download them now?" || exit 0 | ||||
| 
 | ||||
| su -c "DISPLAY=:0 qvm-dom0-update --gui" $LOCAL_USER | ||||
| su -c "DISPLAY=:0 qubes-dom0-update --gui" $LOCAL_USER | ||||
|  | ||||
| @ -32,7 +32,7 @@ if [ -e /sys/bus/pci/drivers/pciback/$BDF ]; then | ||||
|     # Check if device not assigned to any RUNNING VM | ||||
|     XS_PATH=/local/domain/0/backend/pci | ||||
|     GREP_RE="^$XS_PATH/[0-9]*/[0-9]*/dev-[0-9]* = \"$BDF\"" | ||||
|     if xenstore-ls -f $XS_PATH | grep -q "$GREP_RE"; then | ||||
|     if xenstore-ls -f $XS_PATH 2> /dev/null | grep -q "$GREP_RE"; then | ||||
|         DOMID=`xenstore-ls -f $XS_PATH | grep  "$GREP_RE"|cut -d/ -f7` | ||||
|         echo "ERROR: Device already attached to the running VM '`xl domname $DOMID`'" >&2 | ||||
|         exit 1 | ||||
|  | ||||
| @ -60,7 +60,6 @@ qubes_servicevms_dir = qubes_base_dir + "/servicevms" | ||||
| qubes_store_filename = qubes_base_dir + "/qubes.xml" | ||||
| qubes_kernels_base_dir = qubes_base_dir + "/vm-kernels" | ||||
| 
 | ||||
| qubes_max_xid = 1024 | ||||
| qubes_max_qid = 254 | ||||
| qubes_max_netid = 254 | ||||
| vm_default_netmask = "255.255.255.0" | ||||
| @ -142,7 +141,7 @@ class QubesHost(object): | ||||
|         if previous is None: | ||||
|             previous_time = time.time() | ||||
|             previous = {} | ||||
|             info = xc.domain_getinfo(0, qubes_max_xid) | ||||
|             info = xc.domain_getinfo(0, qubes_max_qid) | ||||
|             for vm in info: | ||||
|                 previous[vm['domid']] = {} | ||||
|                 previous[vm['domid']]['cpu_time'] = vm['cpu_time']/vm['online_vcpus'] | ||||
| @ -151,7 +150,7 @@ class QubesHost(object): | ||||
| 
 | ||||
|         current_time = time.time() | ||||
|         current = {} | ||||
|         info = xc.domain_getinfo(0, qubes_max_xid) | ||||
|         info = xc.domain_getinfo(0, qubes_max_qid) | ||||
|         for vm in info: | ||||
|             current[vm['domid']] = {} | ||||
|             current[vm['domid']]['cpu_time'] = vm['cpu_time']/max(vm['online_vcpus'],1) | ||||
| @ -553,7 +552,7 @@ class QubesVm(object): | ||||
|         if start_xid < 0: | ||||
|             start_xid = 0 | ||||
|         try: | ||||
|             domains = xc.domain_getinfo(start_xid, qubes_max_xid-start_xid) | ||||
|             domains = xc.domain_getinfo(start_xid, qubes_max_qid) | ||||
|         except xen.lowlevel.xc.Error: | ||||
|             return None | ||||
| 
 | ||||
| @ -2376,6 +2375,14 @@ class QubesHVm(QubesVm): | ||||
|         xc.domain_unpause(self.stubdom_xid) | ||||
|         super(QubesHVm, self).unpause() | ||||
| 
 | ||||
|     def is_fully_usable(self): | ||||
|         xid = self.stubdom_xid | ||||
|         if xid < 0: | ||||
|             return False | ||||
|         if not os.path.exists('/var/run/qubes/guid_running.%d' % xid): | ||||
|             return False | ||||
|         return True | ||||
| 
 | ||||
| class QubesVmCollection(dict): | ||||
|     """ | ||||
|     A collection of Qubes VMs indexed by Qubes id (qid) | ||||
|  | ||||
| @ -174,7 +174,10 @@ def main(): | ||||
|     for vm in vms_to_display: | ||||
|         data_row = {} | ||||
|         for f in fields_to_display: | ||||
|             data_row[f] = str(eval(fields[f]["func"])) | ||||
|             if vm.qid == 0 and (f.startswith('priv-') or f.startswith('root-') or f == 'disk'): | ||||
|                 data_row[f] = 'n/a' | ||||
|             else: | ||||
|                 data_row[f] = str(eval(fields[f]["func"])) | ||||
|             l = len(data_row[f]) | ||||
|             if l > fields[f]["max_width"]: | ||||
|                 fields[f]["max_width"] = l | ||||
|  | ||||
| @ -14,7 +14,9 @@ fi | ||||
| 
 | ||||
| shopt -s nullglob | ||||
| 
 | ||||
| HOTPLUG_STORE="/var/run/xen-hotplug/${XENBUS_PATH//\//-}" | ||||
| if [ -n "$XENBUS_PATH" ]; then | ||||
|   HOTPLUG_STORE="/var/run/xen-hotplug/${XENBUS_PATH//\//-}" | ||||
| fi | ||||
| 
 | ||||
| get_dev() { | ||||
|   dev=$1 | ||||
| @ -102,7 +104,10 @@ case "$command" in | ||||
|   add) | ||||
|     case $t in | ||||
|       snapshot|origin) | ||||
|         p=$(xenstore_read "$XENBUS_PATH/params") | ||||
|         p=$(xenstore_read_default "$XENBUS_PATH/params" 'MISSING') | ||||
|         if [ "$p" == "MISSING" ]; then | ||||
|           fatal "Missing device parameters ($t $XENBUS_PATH/params)" | ||||
|         fi | ||||
|         base=${p/:*/} | ||||
|         cow=${p/*:/} | ||||
| 
 | ||||
| @ -191,18 +196,20 @@ case "$command" in | ||||
|     if [ "$command" = "cleanup" ]; then | ||||
|       t=$2 | ||||
|     else | ||||
|       t=$(cat $HOTPLUG_STORE-type) | ||||
|       t=$(cat $HOTPLUG_STORE-type 2>/dev/null || echo 'MISSING') | ||||
|     fi | ||||
|     case $t in | ||||
|     case "$t" in | ||||
|       snapshot|origin) | ||||
|         if [ "$command" = "cleanup" ]; then | ||||
|           node=$3 | ||||
|         else | ||||
|           node=$(cat "$HOTPLUG_STORE-node") | ||||
|           node=$(cat "$HOTPLUG_STORE-node" 2> /dev/null) | ||||
|         fi | ||||
| 
 | ||||
|         if [ -z "$node" ]; then | ||||
|           fatal "No device node to remove" | ||||
|           #fatal "No device node to remove" | ||||
|           #Most likely already removed | ||||
|           exit 0 | ||||
|         fi | ||||
| 
 | ||||
|         if [ ! -e "$node" ]; then | ||||
| @ -258,10 +265,13 @@ case "$command" in | ||||
|         for dev in $deps; do | ||||
|           if [ -b "$dev" ]; then | ||||
|             log debug "Removing $dev" | ||||
|             losetup -d $dev || true 2> /dev/null | ||||
|             losetup -d $dev 2> /dev/null || true | ||||
|           fi | ||||
|         done | ||||
| 
 | ||||
|         if [ -n "$HOTPLUG_STORE" ]; then | ||||
|           rm $HOTPLUG_STORE-* | ||||
|         fi | ||||
|         release_lock "block" | ||||
|          | ||||
|         exit 0 | ||||
|  | ||||
| @ -57,6 +57,9 @@ fi | ||||
| 
 | ||||
| if [ -z "$PKGLIST" ]; then | ||||
|     # No new updates | ||||
|     if [ "$GUI" = 1 ]; then | ||||
|         zenity --info --text="No new updates available" | ||||
|     fi | ||||
|     exit 0 | ||||
| fi | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Joanna Rutkowska
						Joanna Rutkowska