now won't throw exception if we don't have permission to stat a mtab

entry on linux (weird chromebook issue)
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
This commit is contained in:
Brian Coca 2013-07-14 22:59:24 -04:00
parent 915d8e1847
commit dd1ffce0a0

View file

@ -626,16 +626,28 @@ class LinuxHardware(Hardware):
if line.startswith('/'): if line.startswith('/'):
fields = line.rstrip('\n').split() fields = line.rstrip('\n').split()
if(fields[2] != 'none'): if(fields[2] != 'none'):
statvfs_result = os.statvfs(fields[1]) try:
self.facts['mounts'].append( statvfs_result = os.statvfs(fields[1])
{'mount': fields[1], self.facts['mounts'].append(
'device':fields[0], {'mount': fields[1],
'fstype': fields[2], 'device':fields[0],
'options': fields[3], 'fstype': fields[2],
# statvfs data 'options': fields[3],
'size_total': statvfs_result.f_bsize * statvfs_result.f_blocks, # statvfs data
'size_available': statvfs_result.f_bsize * (statvfs_result.f_bavail), 'size_total': statvfs_result.f_bsize * statvfs_result.f_blocks,
}) 'size_available': statvfs_result.f_bsize * (statvfs_result.f_bavail),
})
except OSError, e:
# don't have access to stat so we'll set to None
self.facts['mounts'].append(
{'mount': fields[1],
'device':fields[0],
'fstype': fields[2],
'options': fields[3],
# statvfs data
'size_total': None,
'size_available': None,
})
def get_device_facts(self): def get_device_facts(self):
self.facts['devices'] = {} self.facts['devices'] = {}