diff options
author | Steven Danneman <steven.danneman@isilon.com> | 2009-01-22 20:18:56 -0800 |
---|---|---|
committer | Steven Danneman <steven.danneman@isilon.com> | 2009-02-09 23:56:16 -0800 |
commit | 25d345eb39c69b2b42a966846ae893b068de40a4 (patch) | |
tree | 532ac614e4ff71a208780ebff2e7c416143312d8 /source3/include | |
parent | af0e199b31ea4132e369508d72888757887b3327 (diff) | |
download | samba-25d345eb39c69b2b42a966846ae893b068de40a4.tar.gz samba-25d345eb39c69b2b42a966846ae893b068de40a4.tar.bz2 samba-25d345eb39c69b2b42a966846ae893b068de40a4.zip |
Pass stat buffer down through all levels of VFS_READDIR wrappers
* VFS_OP_READDIR can now provide stat information, take advantage of it
if it's available
* is_visible_file(): optimistically expect the provided stat buffer is
already valid
* dptr_ReadDirName(): refactor code for easier readability, functionality
is the same
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 1566a01dc5..eef7a0dd24 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6512,7 +6512,8 @@ bool get_dir_entry(TALLOC_CTX *ctx, bool is_visible_file(connection_struct *conn, const char *dir_path, const char *name, SMB_STRUCT_STAT *pst, bool use_veto); struct smb_Dir *OpenDir(TALLOC_CTX *mem_ctx, connection_struct *conn, const char *name, const char *mask, uint32 attr); -const char *ReadDirName(struct smb_Dir *dirp, long *poffset); +const char *ReadDirName(struct smb_Dir *dirp, long *poffset, + SMB_STRUCT_STAT *sbuf); void RewindDir(struct smb_Dir *dirp, long *poffset); void SeekDir(struct smb_Dir *dirp, long offset); long TellDir(struct smb_Dir *dirp); @@ -7356,7 +7357,7 @@ int vfs_allocate_file_space(files_struct *fsp, uint64_t len); int vfs_set_filelen(files_struct *fsp, SMB_OFF_T len); int vfs_fill_sparse(files_struct *fsp, SMB_OFF_T len); SMB_OFF_T vfs_transfer_file(files_struct *in, files_struct *out, SMB_OFF_T n); -char *vfs_readdirname(connection_struct *conn, void *p); +char *vfs_readdirname(connection_struct *conn, void *p, SMB_STRUCT_STAT *sbuf); int vfs_ChDir(connection_struct *conn, const char *path); char *vfs_GetWd(TALLOC_CTX *ctx, connection_struct *conn); NTSTATUS check_reduced_name(connection_struct *conn, const char *fname); |