Use new path_conv_handle functions to access file info
This avoids having to call nfs_fetch_fattr3/file_get_fai depending on FS type as well as having to extract the info FS dependent. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
f91865c8cf
commit
36d4eb12b5
|
@ -254,7 +254,7 @@ fhandler_base::fstat_by_nfs_ea (struct stat *buf)
|
|||
NFS client. */
|
||||
if (get_access () & GENERIC_WRITE)
|
||||
FlushFileBuffers (get_io_handle ());
|
||||
nfs_fetch_fattr3 (get_io_handle (), nfs_attr);
|
||||
pc.get_finfo (get_io_handle ());
|
||||
}
|
||||
buf->st_dev = nfs_attr->fsid;
|
||||
buf->st_ino = nfs_attr->fileid;
|
||||
|
@ -326,7 +326,7 @@ fhandler_base::fstat_by_handle (struct stat *buf)
|
|||
on the information stored in pc.fai. So we overwrite them here. */
|
||||
if (get_io_handle ())
|
||||
{
|
||||
status = file_get_fai (h, pc.fai ());
|
||||
status = pc.get_finfo (h);
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
debug_printf ("%y = NtQueryInformationFile(%S, FileAllInformation)",
|
||||
|
|
|
@ -2794,19 +2794,9 @@ restart:
|
|||
This speeds up path_conv noticably (~10%). */
|
||||
&& (fs.inited () || fs.update (&upath, h)))
|
||||
{
|
||||
if (fs.is_nfs ())
|
||||
{
|
||||
status = nfs_fetch_fattr3 (h, conv_hdl.nfsattr ());
|
||||
status = conv_hdl.get_finfo (h, fs.is_nfs ());
|
||||
if (NT_SUCCESS (status))
|
||||
fileattr = ((conv_hdl.nfsattr ()->type & 7) == NF3DIR)
|
||||
? FILE_ATTRIBUTE_DIRECTORY : 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
status = file_get_fai (h, conv_hdl.fai ());
|
||||
if (NT_SUCCESS (status))
|
||||
fileattr = conv_hdl.fai ()->BasicInformation.FileAttributes;
|
||||
}
|
||||
fileattr = conv_hdl.get_dosattr (fs.is_nfs ());
|
||||
}
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue