FreeBSD, AIX and Solaris all have this.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
SMB_STRUCT_STAT *sbuf)
{
struct dirent *result;
- bool do_stat = false;
bool fake_ctime = lp_fake_directory_create_times(SNUM(handle->conn));
int flags = AT_SYMLINK_NOFOLLOW;
struct stat st;
START_PROFILE(syscall_readdir);
-#if defined(HAVE_DIRFD) && defined(HAVE_FSTATAT)
- do_stat = true;
-#endif
-
result = readdir(dirp);
END_PROFILE(syscall_readdir);
*/
SET_STAT_INVALID(*sbuf);
- /* See if we can efficiently return this. */
- if (!do_stat) {
- return result;
- }
-
ret = fstatat(dirfd(dirp),
result->d_name,
&st,
static int stat_with_capability(struct vfs_handle_struct *handle,
struct smb_filename *smb_fname, int flag)
{
-#if defined(HAVE_FSTATAT)
int fd = -1;
NTSTATUS status;
struct smb_filename *dir_name = NULL;
}
return ret;
-#else
- return -1;
-#endif
}
static int vfs_gpfs_stat(struct vfs_handle_struct *handle,
conf.CHECK_FUNCS('fseeko setluid')
conf.CHECK_FUNCS('getpwnam', headers='sys/types.h pwd.h')
conf.CHECK_FUNCS('fdopendir')
- conf.CHECK_FUNCS('fstatat')
conf.CHECK_FUNCS('getpwent_r setenv clearenv strcasecmp')
conf.CHECK_FUNCS('syslog vsyslog timegm setlocale')
conf.CHECK_FUNCS('lutimes utimensat futimens')
chmod
crypt16
devnm
-dirfd
endmntent
execl
fchmod