From 0bc6cbc2847fb122a83b6b2768adee0c86db3b23 Mon Sep 17 00:00:00 2001 From: Susant Kumar Palai Date: Tue, 6 Aug 2013 14:45:06 -0700 Subject: [PATCH] VFS plugin was sending the actual size of the volume instead of the total number of block units because of which windows was getting the wrong volume capacity. Signed-off-by: Susant Kumar Palai Reviewed-by: Jeremy Allison --- source3/modules/vfs_glusterfs.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index 1323e0e..af8d5b7 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -301,7 +301,6 @@ static uint64_t vfs_gluster_disk_free(struct vfs_handle_struct *handle, uint64_t *dsize_p) { struct statvfs statvfs = { 0, }; - uint64_t dfree = 0; int ret; ret = glfs_statvfs(handle->data, path, &statvfs); @@ -309,19 +308,17 @@ static uint64_t vfs_gluster_disk_free(struct vfs_handle_struct *handle, return -1; } - dfree = statvfs.f_bsize * statvfs.f_bavail; - if (bsize_p != NULL) { - *bsize_p = statvfs.f_bsize; + *bsize_p = (uint64_t)statvfs.f_bsize; /* Block size */ } if (dfree_p != NULL) { - *dfree_p = dfree; + *dfree_p = (uint64_t)statvfs.f_bavail; /* Available Block units */ } if (dsize_p != NULL) { - *dsize_p = statvfs.f_bsize * statvfs.f_blocks; + *dsize_p = (uint64_t)statvfs.f_blocks; /* Total Block units */ } - return dfree; + return (uint64_t)statvfs.f_bavail; } static int vfs_gluster_get_quota(struct vfs_handle_struct *handle, -- 1.8.3