s3:smb2_create: fix allocation size return value when opening existing files
authorChristian Ambach <ambi@samba.org>
Mon, 10 Oct 2011 15:48:18 +0000 (17:48 +0200)
committerJeremy Allison <jra@samba.org>
Mon, 10 Oct 2011 19:49:53 +0000 (21:49 +0200)
at least on GPFS, using the stat information gave wrong results
example: FileInfo gave 12582912000, Create Response gave 25769803776000

This makes the create part use the same method as fileinfo,
matching up the replies of both calls

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Mon Oct 10 21:49:53 CEST 2011 on sn-devel-104

source3/smbd/smb2_create.c

index fad80a21c17a69083393cab83afecb9a7b6bf591..29696dcdb4eec81dc3dd7ce31f5738c1f7d42736 100644 (file)
@@ -821,8 +821,8 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
                        get_change_timespec(smb1req->conn, result,
                                        result->fsp_name));
        state->out_allocation_size =
-                       result->fsp_name->st.st_ex_blksize *
-                       result->fsp_name->st.st_ex_blocks;
+                       SMB_VFS_GET_ALLOC_SIZE(smb1req->conn, result,
+                                              &(result->fsp_name->st));
        state->out_end_of_file = result->fsp_name->st.st_ex_size;
        if (state->out_file_attributes == 0) {
                state->out_file_attributes = FILE_ATTRIBUTE_NORMAL;