On my machine, the Free space reported by Thunar is clearly incorrect. Filesystem size used avail capacity Mounted on /dev/md/dsk/d10 24G 12G 11G 54% / /dev/dsk/c2d0s7 174G 54G 118G 32% /export and yet Thunar reports 88G Free on / and 945G free on /export. Looking at thunar-vfs/thunar-vfs-io-local.c, the problem appears to be that it's assuming that the size calculation is done in units of f_bsize rather than f_frsize. Hence a factor 8. So a fix for Solaris is: ==================== --- thunar-vfs/thunar-vfs-io-local.c.orig Mon Jan 12 20:38:49 2009 +++ thunar-vfs/thunar-vfs-io-local.c Sun Jul 12 11:48:47 2009 @@ -219,7 +219,7 @@ /* return the free space */ if (G_LIKELY (succeed && free_space_return != NULL)) - *free_space_return = ((ThunarVfsFileSize) statfsb.f_bavail * (ThunarVfsFileSize) statfsb.f_bsize); + *free_space_return = ((ThunarVfsFileSize) statfsb.f_bavail * (ThunarVfsFileSize) statfsb.f_frsize); return succeed; } ==================== However, I have no access to any other OS to verify behaviour there. All I can say is, on Solaris 10, use f_frsize rather than f_bsize.
Tested the same patch on Oracle Solaris 11 for Thunar-vfs 1.2.0: --- thunar-vfs-1.2.0/thunar-vfs/thunar-vfs-io-local.c.old 2011-10-09 01:10 :22.024674206 +0100 +++ thunar-vfs-1.2.0/thunar-vfs/thunar-vfs-io-local.c 2011-10-09 01:11:24.9966 57675 +0100 @@ -219,7 +219,7 @@ _thunar_vfs_io_local_get_free_space (con /* return the free space */ if (G_LIKELY (succeed && free_space_return != NULL)) - *free_space_return = ((ThunarVfsFileSize) statfsb.f_bavail * (ThunarVfsFile Size) statfsb.f_bsize); + *free_space_return = ((ThunarVfsFileSize) statfsb.f_bavail * (ThunarVfsFile Size) statfsb.f_frsize); return succeed; } Tested and compiles clean for Oracle Solaris 11/OpenSolaris-based platforms.
Close bug reports of archived products.