* fhandler_disk_file.cc (get_ino_by_handle): Rename pfai to fai.
(fhandler_base::fstat_by_handle): Drop fai_size and pfai in favor of static struct fai_buf. Restructure. (fhandler_base::fstat_by_name): Drop fvi_size and pfvi. Drop fdi_size and pfdi in favor of static struct fdi_buf. Drop redundant test for existance. Use FileDirectoryInformation class instead of FileBothDirectoryInformation. Drop call to NtQueryVolumeInformationFile in favor of using pc.fs_serial_number (). Fix FileId information given to fstat_helper. (fhandler_disk_file::fstatvfs): Drop fvi_size, pfvi, fai_size and pfai. Drop getting FileFsVolumeInformation and FileFsAttributeInformation in favor of using the related path_conv info. (fhandler_disk_file::opendir): Fix comment. (fhandler_disk_file::readdir): Ditto. Use FileDirectoryInformation class instead of FileBothDirectoryInformation. * path.cc (fs_info::update): Store MaximumComponentNameLength in new member name_len. * path.h (struct fs_info): Use ULONG rather than DWORD. Add member name_len to store MaximumComponentNameLength. Add accessor methods. (path_conv::fs_name_len): New method.
This commit is contained in:
@ -95,8 +95,9 @@ struct fs_info
|
||||
private:
|
||||
struct status_flags
|
||||
{
|
||||
DWORD flags; /* Volume flags */
|
||||
DWORD samba_version; /* Samba version if available */
|
||||
ULONG flags; /* Volume flags */
|
||||
ULONG samba_version; /* Samba version if available */
|
||||
ULONG name_len; /* MaximumComponentNameLength */
|
||||
unsigned is_remote_drive : 1;
|
||||
unsigned has_buggy_open : 1;
|
||||
unsigned has_acls : 1;
|
||||
@ -113,8 +114,9 @@ struct fs_info
|
||||
void clear () { memset (&status, 0 , sizeof status); sernum = 0UL; }
|
||||
fs_info () { clear (); }
|
||||
|
||||
IMPLEMENT_STATUS_FLAG (DWORD, flags)
|
||||
IMPLEMENT_STATUS_FLAG (DWORD, samba_version)
|
||||
IMPLEMENT_STATUS_FLAG (ULONG, flags)
|
||||
IMPLEMENT_STATUS_FLAG (ULONG, samba_version)
|
||||
IMPLEMENT_STATUS_FLAG (ULONG, name_len)
|
||||
IMPLEMENT_STATUS_FLAG (bool, is_remote_drive)
|
||||
IMPLEMENT_STATUS_FLAG (bool, has_buggy_open)
|
||||
IMPLEMENT_STATUS_FLAG (bool, has_acls)
|
||||
@ -269,6 +271,7 @@ class path_conv
|
||||
DWORD file_attributes () const {return fileattr;}
|
||||
void file_attributes (DWORD new_attr) {fileattr = new_attr;}
|
||||
DWORD fs_flags () {return fs.flags ();}
|
||||
DWORD fs_name_len () {return fs.name_len ();}
|
||||
bool fs_is_fat () const {return fs.is_fat ();}
|
||||
bool fs_is_ntfs () const {return fs.is_ntfs ();}
|
||||
bool fs_is_samba () const {return fs.is_samba ();}
|
||||
|
Reference in New Issue
Block a user