From d68383e9638254d1b6805b3d3ea3e5e897908374 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 28 Apr 2015 14:22:42 -0700 Subject: [PATCH] s3: smbd: Incorrect file size returned in the response of "FILE_SUPERSEDE Create" MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://bugzilla.samba.org/show_bug.cgi?id=11240 Signed-off-by: Kenny Dinh Reviewed-by: Jeremy Allison Reviewed-by: Ralph Böhme --- source3/modules/vfs_default.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index dbcd6016af7..7d2a0e5cd28 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -1940,8 +1940,6 @@ static int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, off_t ftruncate extend but ext2 can. */ result = ftruncate(fsp->fh->fd, len); - if (result == 0) - goto done; /* According to W. R. Stevens advanced UNIX prog. Pure 4.3 BSD cannot extend a file with ftruncate. Provide alternate implementation @@ -1955,6 +1953,12 @@ static int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, off_t if (!NT_STATUS_IS_OK(status)) { goto done; } + + /* We need to update the files_struct after successful ftruncate */ + if (result == 0) { + goto done; + } + pst = &fsp->fsp_name->st; #ifdef S_ISFIFO -- 2.34.1