* mount.h (class fs_info): Add has_buggy_reopen flag and accessor

methods.
	* mount.cc (fs_info::update): Set has_buggy_reopen flag for NWFS.
	Add comment.
	* path.h (path_conv::get_object_attr) Make inline method.
	(path_conv::init_reopen_attr): New inline method.
	* path.cc (path_conv::get_object_attr): Remove.
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Use
	path_conv::init_reopen_attr method to initialize OBJECT_ATTRIBUTE for
	reopening file.
	(fhandler_disk_file::fchmod): Ditto.
	(fhandler_base::utimens_fs): Ditto.
	(fhandler_disk_file::rewinddir): Ditto.
	* syscalls.cc (unlink_nt): Ditto.
This commit is contained in:
Corinna Vinschen
2010-09-21 16:32:22 +00:00
parent 7ba1698ed9
commit 4c9d01fdad
7 changed files with 50 additions and 28 deletions

View File

@@ -389,6 +389,10 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
clients. We subsume CIFS into this class of filesystems right
away since at least some of them are not capable either. */
has_dos_filenames_only (is_netapp () || is_nwfs () || is_cifs ());
/* NWFS does not grok re-opening a file by handle. It only
supports this if the filename is non-null and the handle is
the handle to a directory. */
has_buggy_reopen (is_nwfs ());
}
}
if (!got_fs ()