1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

smbd: handle fake file handles in fdos_mode()

This ensures SMB requests on the quote fake file "$Extend/$Quota" don't hit the
VFS, where specifically in vfs_gpfs we log an error message if we fail to read
the DOS attributes for a file with

  vfs_gpfs_get_dos_attributes: Getting winattrs failed for $Extend/$Quota

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14731

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Ralph Boehme 2021-06-04 15:54:20 +02:00 committed by Jeremy Allison
parent 51b0fd0c56
commit e093eaed10

View File

@ -28,6 +28,7 @@
#include "lib/param/loadparm.h"
#include "lib/util/tevent_ntstatus.h"
#include "lib/util/string_wrappers.h"
#include "fake_file.h"
static NTSTATUS get_file_handle_for_metadata(connection_struct *conn,
const struct smb_filename *smb_fname,
@ -753,6 +754,10 @@ uint32_t fdos_mode(struct files_struct *fsp)
DBG_DEBUG("%s\n", fsp_str_dbg(fsp));
if (fsp->fake_file_handle != NULL) {
return dosmode_from_fake_filehandle(fsp->fake_file_handle);
}
if (!VALID_STAT(fsp->fsp_name->st)) {
return 0;
}