* fhandler.h (dirent_states): Add dirent_nfs_d_ino state and add it to

dirent_info_mask.
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set
	dirent_nfs_d_ino flag for NFS shares.  Explain why.
	(fhandler_disk_file::readdir): Use FileNamesInformation instead of
	FileBothDirectoryInformation info class on NFS clients not supporting
	the FileIdBothDirectoryInformation info class.  Use local pointers to
	accommodate different offsets.
	* path.cc (symlink_info::check): Don't test directories for symlinks
	on NFS shares.  Enhance comment.
This commit is contained in:
Corinna Vinschen
2008-05-21 09:02:42 +00:00
parent 2762ac6c19
commit 0d3f365881
4 changed files with 50 additions and 10 deletions

View File

@ -53,9 +53,10 @@ enum dirent_states
dirent_isroot = 0x0008,
dirent_set_d_ino = 0x0010,
dirent_get_d_ino = 0x0020,
dirent_nfs_d_ino = 0x0040,
/* Global flags which must not be deleted on rewinddir or seekdir. */
dirent_info_mask = 0x0038
dirent_info_mask = 0x0078
};
enum conn_state