From b7eb4b1662e67d475b4af914ba637bbb41bd8dbe 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=UTF-8 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 (cherry picked from commit d68383e9638254d1b6805b3d3ea3e5e897908374) --- 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 23c1cc2..618e460 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -1870,8 +1870,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 @@ -1885,6 +1883,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.2.0.rc0.207.ga3a616c