diff options
| author | Tim <timothyasir@gluster.com> | 2011-08-08 20:22:57 +0530 |
|---|---|---|
| committer | Tim <timothyasir@gluster.com> | 2011-08-08 20:22:57 +0530 |
| commit | 02f6e5d014eda5cd33e08ab5e5260ebd69f864de (patch) | |
| tree | 953c13a84c370959dd7b32176c0f9ea79dec05db | |
| parent | 16032dd64f349373beb62ac77eee4d675d9173f7 (diff) | |
Enhanced DiskUtils.py to get disk used space.
Added getDeviceUsedSpace function into DiskUtils.py
Updated DiskUtils.py to fetch disk used space only if the device is mounted.
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py index aa77cebb..341c9083 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py @@ -178,6 +178,9 @@ def getRaidDisk(): raid['MountPoint'] = getDeviceMountPoint(device) if raid['MountPoint']: raid['Type'] = "DATA" + raid['SpaceInUse'] = getDeviceUsedSpace(device) + else: + raid['SpaceInUse'] = None rv = Utils.runCommand("blkid -c /dev/null %s" % (device), output=True, root=True) raid['Uuid'] = None raid['FsType'] = None @@ -191,17 +194,6 @@ def getRaidDisk(): if len(words) > 2: raid['Uuid'] = words[1].split("UUID=")[-1].split('"')[1] raid['FsType'] = words[2].split("TYPE=")[-1].split('"')[1] - - used = 0 - rv = Utils.runCommand("df %s" % (device), output=True, root=True) - if rv["Status"] == 0: - try: - used = long(rv["Stdout"].split("\n")[1].split()[2]) / 1024 - except IndexError: - pass - except ValueError: - pass - raid['SpaceInUse'] = used raid['Disks'] = [x.split('[')[0] for x in tokens[4:]] raid['Size'] = float(array[1].split()[0]) / 1024.0 raidList[tokens[0]] = raid @@ -257,17 +249,6 @@ def getDiskInfo(diskDeviceList=None): disk["MountPoint"] = None disk["ReadOnlyAccess"] = None - spaceInUse = None - rv = Utils.runCommand("df %s" % (disk["Device"]), output=True, root=True) - if rv["Status"] == 0: - try: - spaceInUse = long(rv["Stdout"].split("\n")[1].split()[2]) / 1024 - except IndexError: - pass - except ValueError: - pass - disk["SpaceInUse"] = spaceInUse - partitionUdiList = halManager.FindDeviceStringMatch("info.parent", udi) if isDiskInFormatting(disk["Device"]): disk["Status"] = "INITIALIZING" @@ -285,6 +266,11 @@ def getDiskInfo(diskDeviceList=None): disk["FsType"] = mounts[disk["Device"]]["FsType"] disk["MountPoint"] = mounts[disk["Device"]]["MountPoint"] + if disk["MountPoint"]: + disk["SpaceInUse"] = getDeviceUsedSpace(disk["Device"]) + else: + disk["SpaceInUse"] = None + partitionList = [] diskSpaceInUse = 0 for partitionUdi in partitionUdiList: @@ -463,6 +449,15 @@ def getMountPointByUuid(partitionUuid): return entry.split()[1] return None +def getDeviceUsedSpace(device): + rv = Utils.runCommand("df -kl %s" % (device), output=True, root=True) + if rv["Status"] == 0: + try: + return long(rv["Stdout"].split("\n")[1].split()[2]) / 1024 + except IndexError: + pass + except ValueError: + pass def getDiskSizeInfo(partition): # get values from df output |
