- partitions = file("/proc/partitions", "r")
- pat = re.compile("\s+")
- while True:
- buf = partitions.readline()
- if buf == "":
- break
- buf = buf.strip()
- fields = re.split(pat, buf)
- dev = fields[-1]
- if not dev.startswith("dm-") and dev.endswith("1") and dev not in in_vg:
- devices.append("/dev/%s" % dev)
+ with open("/proc/partitions") as partitions:
+ pat = re.compile("\s+")
+ while True:
+ buf = partitions.readline()
+ if buf == "":
+ break
+ buf = buf.strip()
+ fields = re.split(pat, buf)
+ dev = fields[-1]
+ if (not dev.startswith("dm-") and dev not in in_vg and
+ os.path.exists("/dev/%s" % dev) and
+ (os.minor(os.stat("/dev/%s" % dev).st_rdev) % 2) != 0):
+ devices.append("/dev/%s" % dev)