Updated Branches:
  refs/heads/4.2 3e76e5cb4 -> da10231dd

CLOUDSTACK-4559: fix devcloud
(cherry picked from commit 1a333f369b33c8d46d6a034daac311e284bc8e49)

Signed-off-by: animesh <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ff9130dd
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ff9130dd
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ff9130dd

Branch: refs/heads/4.2
Commit: ff9130dd20854d491989aa13e8ec1fca9b7b5262
Parents: 66beddf
Author: Edison Su <[email protected]>
Authored: Thu Aug 29 10:33:47 2013 -0700
Committer: animesh <[email protected]>
Committed: Mon Sep 2 22:34:20 2013 -0700

----------------------------------------------------------------------
 .../vm/hypervisor/xenserver/xcposs/vmopsSnapshot    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ff9130dd/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot 
b/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
index 31f26ad..53f31a9 100644
--- a/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
+++ b/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
@@ -372,8 +372,16 @@ def unmountSnapshotsDir(session, args):
 
     return "1"
 
-def getPrimarySRPath(primaryStorageSRUuid, isISCSI):
-    if isISCSI:
+def getPrimarySRPath(session, primaryStorageSRUuid, isISCSI):
+    sr = session.xenapi.SR.get_by_uuid(primaryStorageSRUuid)
+    srrec = session.xenapi.SR.get_record(sr)
+    srtype = srrec["type"]
+    if srtype == "file":
+        pbd = session.xenapi.SR.get_PBDs(sr)[0]
+        pbdrec = session.xenapi.PBD.get_record(pbd)
+        primarySRPath = pbdrec["device_config"]["location"]
+        return primarySRPath
+    elif isISCSI:
         primarySRDir = lvhdutil.VG_PREFIX + primaryStorageSRUuid
         return os.path.join(lvhdutil.VG_LOCATION, primarySRDir)
     else:
@@ -472,7 +480,7 @@ def getVhdParent(session, args):
     snapshotUuid              = args['snapshotUuid']
     isISCSI                   = getIsTrueString(args['isISCSI']) 
 
-    primarySRPath = getPrimarySRPath(primaryStorageSRUuid, isISCSI)
+    primarySRPath = getPrimarySRPath(session, primaryStorageSRUuid, isISCSI)
     util.SMlog("primarySRPath: " + primarySRPath)
 
     baseCopyUuid = getParentOfSnapshot(snapshotUuid, primarySRPath, isISCSI)
@@ -490,7 +498,7 @@ def backupSnapshot(session, args):
     isISCSI                   = getIsTrueString(args['isISCSI'])
     path = args['path']
     localMountPoint = args['localMountPoint']
-    primarySRPath = getPrimarySRPath(primaryStorageSRUuid, isISCSI)
+    primarySRPath = getPrimarySRPath(session, primaryStorageSRUuid, isISCSI)
     util.SMlog("primarySRPath: " + primarySRPath)
 
     baseCopyUuid = getParentOfSnapshot(snapshotUuid, primarySRPath, isISCSI)

Reply via email to