From e10f1ec908139d9778406d07274dd390b7f56bc8 Mon Sep 17 00:00:00 2001 From: shishir gowda Date: Tue, 16 Nov 2010 00:12:58 +0000 Subject: Solaris: df -h returned invalid size The reason seems to have been multiplying fields with f_bsize, while they are in f_frsize units. On linux both f_bize and f_frbsize seems to have been the same Signed-off-by: shishir gowda Signed-off-by: Anand V. Avati BUG: 1021 (NFS: df -h shows incorrect out put) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1021 --- xlators/nfs/server/src/nfs3-helpers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index 8e4ca372027..8d7c66f4d13 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -1090,8 +1090,8 @@ nfs3_fill_fsstat3res (fsstat3res *res, nfsstat3 stat, struct statvfs *fsbuf, nfs3_map_deviceid_to_statdev (postbuf, deviceid); poa = nfs3_stat_to_post_op_attr (postbuf); resok.tbytes = (size3)(fsbuf->f_frsize * fsbuf->f_blocks); - resok.fbytes = (size3)(fsbuf->f_bsize * fsbuf->f_bfree); - resok.abytes = (size3)(fsbuf->f_bsize * fsbuf->f_bavail); + resok.fbytes = (size3)(fsbuf->f_frsize * fsbuf->f_bfree); + resok.abytes = (size3)(fsbuf->f_frsize * fsbuf->f_bavail); resok.tfiles = (size3)(fsbuf->f_files); resok.ffiles = (size3)(fsbuf->f_ffree); resok.afiles = (size3)(fsbuf->f_favail); -- cgit