diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-05-15 20:45:30 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-05-15 20:45:30 +1000 |
commit | 0abc2e2020f40d018587eb265f2a1467fdba4c89 (patch) | |
tree | 0e7ccfca9a9e3a2a03bdf74e1bd2bf6a560fcc35 /source4/libcli | |
parent | ca3257b286ed2e1b87a7d56ba290d01cd2078023 (diff) | |
download | samba-0abc2e2020f40d018587eb265f2a1467fdba4c89.tar.gz samba-0abc2e2020f40d018587eb265f2a1467fdba4c89.tar.bz2 samba-0abc2e2020f40d018587eb265f2a1467fdba4c89.zip |
use a newer fsinfo level in smbclient, to support larger disks
(This used to be commit 1acc8077fb86c1e78724b010d149db166d98238d)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/clifile.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source4/libcli/clifile.c b/source4/libcli/clifile.c index e59b7f9af3..2cf174060b 100644 --- a/source4/libcli/clifile.c +++ b/source4/libcli/clifile.c @@ -650,7 +650,8 @@ NTSTATUS smbcli_chkpath(struct smbcli_tree *tree, const char *path) /**************************************************************************** Query disk space. ****************************************************************************/ -NTSTATUS smbcli_dskattr(struct smbcli_tree *tree, int *bsize, int *total, int *avail) +NTSTATUS smbcli_dskattr(struct smbcli_tree *tree, uint32_t *bsize, + uint64_t *total, uint64_t *avail) { union smb_fsinfo fsinfo_parms; TALLOC_CTX *mem_ctx; @@ -658,12 +659,12 @@ NTSTATUS smbcli_dskattr(struct smbcli_tree *tree, int *bsize, int *total, int *a mem_ctx = talloc_init("smbcli_dskattr"); - fsinfo_parms.dskattr.level = RAW_QFS_DSKATTR; + fsinfo_parms.dskattr.level = RAW_QFS_SIZE_INFO; status = smb_raw_fsinfo(tree, mem_ctx, &fsinfo_parms); if (NT_STATUS_IS_OK(status)) { - *bsize = fsinfo_parms.dskattr.out.block_size; - *total = fsinfo_parms.dskattr.out.units_total; - *avail = fsinfo_parms.dskattr.out.units_free; + *bsize = fsinfo_parms.size_info.out.bytes_per_sector * fsinfo_parms.size_info.out.sectors_per_unit; + *total = fsinfo_parms.size_info.out.total_alloc_units; + *avail = fsinfo_parms.size_info.out.avail_alloc_units; } talloc_free(mem_ctx); |