If doing an SMB_VFS_FSTAT() returning onto the stat struct stored in the fsp,
we must call vfs_stat_fsp() as this preserves the iflags.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15022
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
{
struct files_struct *fsp = NULL;
NTSTATUS status;
- int ret;
status = create_internal_dirfsp(conn, smb_dname, &fsp);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
- ret = SMB_VFS_FSTAT(fsp, &fsp->fsp_name->st);
- if (ret != 0) {
+ status = vfs_stat_fsp(fsp);
+ if (!NT_STATUS_IS_OK(status)) {
file_free(NULL, fsp);
- return map_nt_error_from_unix(errno);
+ return status;
}
if (!S_ISDIR(fsp->fsp_name->st.st_ex_mode)) {