[Kimchi-devel] [PATCH 1/2] Guest storage: Fix attaching type judgement
lvroyce at linux.vnet.ibm.com
lvroyce at linux.vnet.ibm.com
Tue Aug 26 09:50:01 UTC 2014
From: Royce Lv <lvroyce at linux.vnet.ibm.com>
When we only supportted cdrom attachment, we check if a cdrom is
a valid block device by reading /proc info.
Now we added disk attachment support, when a file is neither regular file
nor url, we need to see if it is a block device according to its stats.
Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
---
src/kimchi/model/vmstorages.py | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/src/kimchi/model/vmstorages.py b/src/kimchi/model/vmstorages.py
index 91c2ab8..f11bcec 100644
--- a/src/kimchi/model/vmstorages.py
+++ b/src/kimchi/model/vmstorages.py
@@ -20,6 +20,7 @@
import os
import re
import socket
+import stat
import string
import urlparse
@@ -90,16 +91,8 @@ def _check_path(path):
if os.path.isfile(path):
src_type = 'file'
else:
- # Check if path is a valid cdrom drive
- with open('/proc/sys/dev/cdrom/info') as cdinfo:
- content = cdinfo.read()
-
- cds = re.findall("drive name:\t\t(.*)", content)
- if not cds:
- raise InvalidParameter("KCHVMSTOR0003E", {'value': path})
-
- drives = [os.path.join('/dev', p) for p in cds[0].split('\t')]
- if path not in drives:
+ r_path = os.path.realpath(path)
+ if not stat.S_ISBLK(os.stat(r_path).st_mode):
raise InvalidParameter("KCHVMSTOR0003E", {'value': path})
src_type = 'block'
--
1.8.3.2
More information about the Kimchi-devel
mailing list