1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

s3: enforce a positive allocation_file_size for non-empty files

Some file systems do not allocate a block for very
small files. But for non-empty file should report a
positive size.

Pair-Programmed-With: Michael Adam <obnox@samba.org>

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Apr  5 03:09:00 CEST 2014 on sn-devel-104
This commit is contained in:
Björn Baumbach 2014-03-27 11:17:30 +01:00 committed by Jeremy Allison
parent 69b7631ca7
commit c35b31f452

View File

@ -1538,6 +1538,18 @@ static uint64_t vfswrap_get_alloc_size(vfs_handle_struct *handle,
#else
#error SIZEOF_BLKCNT_T_NOT_A_SUPPORTED_VALUE
#endif
if (result == 0) {
/*
* Some file systems do not allocate a block for very
* small files. But for non-empty file should report a
* positive size.
*/
uint64_t filesize = get_file_size_stat(sbuf);
if (filesize > 0) {
result = MIN((uint64_t)STAT_ST_BLOCKSIZE, filesize);
}
}
#else
result = get_file_size_stat(sbuf);
#endif