diff options
-rw-r--r-- | selftest/knownfail.d/samba3.smb2.create | 1 | ||||
-rw-r--r-- | source3/smbd/durable.c | 2 | ||||
-rw-r--r-- | source3/smbd/vfs.c | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/selftest/knownfail.d/samba3.smb2.create b/selftest/knownfail.d/samba3.smb2.create deleted file mode 100644 index 89455dacdf0..00000000000 --- a/selftest/knownfail.d/samba3.smb2.create +++ /dev/null @@ -1 +0,0 @@ -^samba3.smb2.fileid.fileid\(nt4_dc\) diff --git a/source3/smbd/durable.c b/source3/smbd/durable.c index 4aa5a2d619e..89c4c1e8d14 100644 --- a/source3/smbd/durable.c +++ b/source3/smbd/durable.c @@ -842,6 +842,8 @@ NTSTATUS vfs_default_durable_reconnect(struct connection_struct *conn, return NT_STATUS_OBJECT_NAME_NOT_FOUND; } + (void)dos_mode(fsp->conn, fsp->fsp_name); + ok = vfs_default_durable_reconnect_check_stat(&cookie.stat_info, &fsp->fsp_name->st, fsp_str_dbg(fsp)); diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index 67f7d6356a2..c8437a0c6c9 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -1406,6 +1406,7 @@ int vfs_stat_smb_basename(struct connection_struct *conn, NTSTATUS vfs_stat_fsp(files_struct *fsp) { int ret; + struct stat_ex saved_stat = fsp->fsp_name->st; if(fsp->fh->fd == -1) { if (fsp->posix_flags & FSP_POSIX_FLAGS_OPEN) { @@ -1419,6 +1420,7 @@ NTSTATUS vfs_stat_fsp(files_struct *fsp) if (ret == -1) { return map_nt_error_from_unix(errno); } + update_stat_ex_from_saved_stat(&fsp->fsp_name->st, &saved_stat); return NT_STATUS_OK; } |