s3:libsmb: Store file allocation size in struct file_info.
authorJeremy Allison <jra@samba.org>
Fri, 18 Jan 2019 00:59:08 +0000 (16:59 -0800)
committerJeremy Allison <jra@samba.org>
Fri, 18 Jan 2019 19:11:22 +0000 (20:11 +0100)
We get this already, from SMB2_FIND_ID_BOTH_DIRECTORY_INFO
so return it.

For SMB1 leave this as zero so callers know it hasn't
been initialized.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/include/client.h
source3/libsmb/cli_smb2_fnum.c

index 27206a608b9c74e53f40a3f01185a0a722340a76..23ba86d2a2c4ab33bf5955623892c8667f79807e 100644 (file)
@@ -104,6 +104,7 @@ struct cli_state {
 
 struct file_info {
        uint64_t size;
+       uint64_t allocated_size;
        uint16_t mode;
        uid_t uid;
        gid_t gid;
index b115caec80f7118f52810512b4ebfb0a9c286018..e7b89a44e58ea2eea9f96a8586b25ddde9ab44d0 100644 (file)
@@ -824,6 +824,7 @@ static NTSTATUS parse_finfo_id_both_directory_info(uint8_t *dir_data,
        finfo->mtime_ts = interpret_long_date((const char *)dir_data + 24);
        finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32);
        finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
+       finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0);
        finfo->mode = CVAL(dir_data + 56, 0);
        finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0);
        namelen = IVAL(dir_data + 60,0);