Move the content of the script file vtpm-addtodb into the

vtpm-common.sh
script. The newly created function 'vtpm_add_and_activate' also
assigns
the instance number to the xenstore entry to activate the backend. 
Renaming of isLocalAddress function to vtpm_isLocalAddress.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This commit is contained in:
kfraser@localhost.localdomain committed 2006-07-10 17:36:41 +01:00
1 parent 3863ac76d1
commit b3685ce3b8
5 files changed
+42 -21

No files matched your search

+1 -1
View File
@@ -26,7 +26,7 @@ XEN_SCRIPTS += network-route vif-route
XEN_SCRIPTS += network-nat vif-nat
XEN_SCRIPTS += block
XEN_SCRIPTS += block-enbd block-nbd
XEN_SCRIPTS += vtpm vtpm-delete vtpm-addtodb
XEN_SCRIPTS += vtpm vtpm-delete
XEN_SCRIPTS += xen-hotplug-cleanup
XEN_SCRIPTS += external-device-migrate
XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh
-1
View File
@@ -25,7 +25,6 @@ vif-common.sh - sourced by vif-bridge
vif-nat - xen virtual network start/stop script in NAT mode
vif-route - xen virtual network start/stop script in routed mode
vtpm - called by xen-backend.agent to bind/unbind vTPM devices
vtpm-addtodb - script for adding a vTPM instance to the vTPM table
vtpm-common.sh - common code for vTPM handling
vtpm-delete - remove an entry from the vTPM table given the
domain's name
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
# This script must be called with the following parameters to have
# an entry added to the TPM-to-domain associations table in /etc/xen/vtpm.db
# vtpm-addtodb <dom name> <instance number>
dir=$(dirname "$0")
. "$dir/vtpm-common.sh"
vtpmdb_add_instance $1 $2
+41 -7
View File
@@ -24,12 +24,9 @@ VTPMDB="/etc/xen/vtpm.db"
#In the vtpm-impl file some commands should be defined:
# vtpm_create, vtpm_setup, vtpm_start, etc. (see below)
#This should be indicated by setting VTPM_IMPL_DEFINED.
if [ -r "$dir/vtpm-impl" ]; then
. "$dir/vtpm-impl"
fi
if [ -z "$VTPM_IMPL_DEFINED" ]; then
else
function vtpm_create () {
true
}
@@ -245,6 +242,12 @@ function vtpm_create_instance () {
claim_lock vtpmdb
instance=$(vtpmdb_find_instance $domname)
if [ "$instance" == "0" -a "$reason" != "create" ]; then
release_lock vtpmdb
return
fi
if [ "$instance" == "0" ]; then
#Try to give the preferred instance to the domain
instance=$(xenstore_read "$XENBUS_PATH"/pref_instance)
@@ -317,7 +320,7 @@ function vtpm_delete_instance () {
# "-1" : the given machine name is invalid
# "0" : this is not an address of this machine
# "1" : this is an address local to this machine
function isLocalAddress() {
function vtpm_isLocalAddress() {
local addr res
addr=$(ping $1 -c 1 | \
gawk '{ print substr($3,2,length($3)-2); exit }')
@@ -347,7 +350,7 @@ function isLocalAddress() {
# 2nd: name of the domain to migrate
# 3rd: the migration step to perform
function vtpm_migration_step() {
local res=$(isLocalAddress $1)
local res=$(vtpm_isLocalAddress $1)
if [ "$res" == "0" ]; then
vtpm_migrate $1 $2 $3
fi
@@ -361,8 +364,39 @@ function vtpm_migration_step() {
# 3rd: the last successful migration step that was done
function vtpm_recover() {
local res
res=$(isLocalAddress $1)
res=$(vtpm_isLocalAddress $1)
if [ "$res" == "0" ]; then
vtpm_migrate_recover $1 $2 $3
fi
}
#Determine the domain id given a domain's name.
#1st parameter: name of the domain
#return value: domain id or -1 if domain id could not be determined
function vtpm_domid_from_name () {
local id name ids
ids=$(xenstore-list /local/domain)
for id in $ids; do
name=$(xenstore-read /local/domain/$id/name)
if [ "$name" == "$1" ]; then
echo "$id"
return
fi
done
echo "-1"
}
#Add a virtual TPM instance number and its associated domain name
#to the VTPMDB file and activate usage of this virtual TPM instance
#by writing the instance number into the xenstore
#1st parm: name of virtual machine
#2nd parm: instance of assoicate virtual TPM
function vtpm_add_and_activate() {
local domid=$(vtpm_domid_from_name $1)
if [ "$domid" != "-1" ]; then
vtpmdb_add_instance $1 $2
xenstore-write backend/vtpm/$domid/0/instance $2
fi
}
-2
View File
@@ -32,8 +32,6 @@
# OF THE POSSIBILITY OF SUCH DAMAGE.
# ===================================================================
VTPM_IMPL_DEFINED=1
# | SRC | TAG | CMD SIZE | ORD | type| mode
TPM_CMD_OPEN=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x10\\x01\\x00\\x00\\x01\\x01\\x01
TPM_CMD_RESM=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x10\\x01\\x00\\x00\\x01\\x01\\x02
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.