From ededb764b496669013198419a56f2ee513d52587 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sat, 28 Jul 2012 21:21:35 +0200 Subject: Fixes for DiskU, which was exploding on recent Linux We're using now the recommended statvfs interface, instead of the obsolete statfs64. Moreover, we compute correctly the used space. --- src/Plugins/Monitors/Disk.hs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/Plugins') diff --git a/src/Plugins/Monitors/Disk.hs b/src/Plugins/Monitors/Disk.hs index 725fe29..554be05 100644 --- a/src/Plugins/Monitors/Disk.hs +++ b/src/Plugins/Monitors/Disk.hs @@ -77,15 +77,6 @@ parseDev dat dev = dat' = if length xs > 6 then [sp, rSp, wSp] else [0, 0, 0] in (dev, dat') -fsStats :: String -> IO [Integer] -fsStats path = do - stats <- getFileSystemStats path - case stats of - Nothing -> return [0, 0, 0] - Just f -> let tot = fsStatByteCount f - free = fsStatBytesAvailable f - in return [tot, free, tot - free] - speedToStr :: Float -> String speedToStr = showWithUnits 2 1 @@ -131,6 +122,16 @@ startDiskIO disks args rate cb = do _ <- mountedData dref (map fst mounted) runM args diskIOConfig (runDiskIO dref disks) rate cb +fsStats :: String -> IO [Integer] +fsStats path = do + stats <- getFileSystemStats path + case stats of + Nothing -> return [0, 0, 0] + Just f -> let tot = fsStatByteCount f + free = fsStatBytesAvailable f + used = fsStatBytesUsed f + in return [tot, free, used] + runDiskU' :: String -> String -> Monitor String runDiskU' tmp path = do setConfigValue tmp template -- cgit v1.2.3