summaryrefslogtreecommitdiff
path: root/source4/smb_server
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2015-03-13 01:00:51 +0100
committerJeremy Allison <jra@samba.org>2015-03-18 18:57:21 +0100
commitd1e664f154553e4e2a7a64ff18fcbe979359ab73 (patch)
treeafbd3f6b440c56cc29c03340d458d40cdf263731 /source4/smb_server
parent664dca2b44c96a6ef1fd5fb920adbf274a3a6c01 (diff)
downloadsamba-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/smb_server')
-rw-r--r--source4/smb_server/blob.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source4/smb_server/blob.c b/source4/smb_server/blob.c
index a3e11239b1a..24893299a90 100644
--- a/source4/smb_server/blob.c
+++ b/source4/smb_server/blob.c
@@ -292,6 +292,26 @@ NTSTATUS smbsrv_push_passthru_fsinfo(TALLOC_CTX *mem_ctx,
return NT_STATUS_OK;
}
+
+ case RAW_QFS_SECTOR_SIZE_INFORMATION:
+ BLOB_CHECK(smbsrv_blob_grow_data(mem_ctx, blob, 28));
+ SIVAL(blob->data, 0,
+ fsinfo->sector_size_info.out.logical_bytes_per_sector);
+ SIVAL(blob->data, 4,
+ fsinfo->sector_size_info.out.phys_bytes_per_sector_atomic);
+ SIVAL(blob->data, 8,
+ fsinfo->sector_size_info.out.phys_bytes_per_sector_perf);
+ SIVAL(blob->data, 12,
+ fsinfo->sector_size_info.out.fs_effective_phys_bytes_per_sector_atomic);
+ SIVAL(blob->data, 16,
+ fsinfo->sector_size_info.out.flags);
+ SIVAL(blob->data, 20,
+ fsinfo->sector_size_info.out.byte_off_sector_align);
+ SIVAL(blob->data, 24,
+ fsinfo->sector_size_info.out.byte_off_partition_align);
+
+ return NT_STATUS_OK;
+
default:
return NT_STATUS_INVALID_LEVEL;
}