diff options
author | David Disseldorp <ddiss@samba.org> | 2015-03-13 01:00:51 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2015-03-18 18:57:21 +0100 |
commit | d1e664f154553e4e2a7a64ff18fcbe979359ab73 (patch) | |
tree | afbd3f6b440c56cc29c03340d458d40cdf263731 /source4/libcli/raw | |
parent | 664dca2b44c96a6ef1fd5fb920adbf274a3a6c01 (diff) | |
download | samba-d1e664f154553e4e2a7a64ff18fcbe979359ab73.tar.gz |
s4/ntvfs: support FS_SECTOR_SIZE_INFORMATION query-info
Return the same values as used by s3fs.
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4/libcli/raw')
-rw-r--r-- | source4/libcli/raw/rawfsinfo.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source4/libcli/raw/rawfsinfo.c b/source4/libcli/raw/rawfsinfo.c index 9c03e144663..bf149ee252e 100644 --- a/source4/libcli/raw/rawfsinfo.c +++ b/source4/libcli/raw/rawfsinfo.c @@ -226,6 +226,23 @@ NTSTATUS smb_raw_fsinfo_passthru_parse(DATA_BLOB blob, TALLOC_CTX *mem_ctx, fsinfo->objectid_information.out.unknown[i] = BVAL(blob.data, 16 + i*8); } break; + + case RAW_QFS_SECTOR_SIZE_INFORMATION: + QFS_CHECK_SIZE(28); + fsinfo->sector_size_info.out.logical_bytes_per_sector + = IVAL(blob.data, 0); + fsinfo->sector_size_info.out.phys_bytes_per_sector_atomic + = IVAL(blob.data, 4); + fsinfo->sector_size_info.out.phys_bytes_per_sector_perf + = IVAL(blob.data, 8); + fsinfo->sector_size_info.out.fs_effective_phys_bytes_per_sector_atomic + = IVAL(blob.data, 12); + fsinfo->sector_size_info.out.flags = IVAL(blob.data, 16); + fsinfo->sector_size_info.out.byte_off_sector_align + = IVAL(blob.data, 20); + fsinfo->sector_size_info.out.byte_off_partition_align + = IVAL(blob.data, 24); + break; } default: @@ -319,6 +336,10 @@ NTSTATUS smb_raw_fsinfo_recv(struct smbcli_request *req, case RAW_QFS_OBJECTID_INFORMATION: return smb_raw_fsinfo_passthru_parse(blob, mem_ctx, RAW_QFS_OBJECTID_INFORMATION, fsinfo); + + case RAW_QFS_SECTOR_SIZE_INFORMATION: + return smb_raw_fsinfo_passthru_parse(blob, mem_ctx, + RAW_QFS_SECTOR_SIZE_INFORMATION, fsinfo); } failed: |