* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop
usage of path_conv::volser(). (fhandler_base::fstat_by_name): Ditto. * ntdll.h (STATUS_NO_MEDIA_IN_DEVICE): Define. (STATUS_OBJECT_NAME_NOT_FOUND): Define. (FILE_REMOVABLE_MEDIA, FILE_READ_ONLY_DEVICE, FILE_FLOPPY_DISKETTE) (FILE_WRITE_ONCE_MEDIA, FILE_REMOTE_DEVICE, FILE_DEVICE_IS_MOUNTED) (FILE_VIRTUAL_VOLUME, FILE_AUTOGENERATED_DEVICE_NAME) FILE_DEVICE_SECURE_OPEN): Define Device Characteristics. (struct _FILE_FS_DEVICE_INFORMATION): Define. * path.cc (MAX_FS_INFO_CNT): Remove. (fsinfo): Remove. (fsinfo_cnt): Remove. (fs_info::update): Rewrite using native NT functions. Drop fs_info cashing since it's incorrect. (path_conv::fillin): Use NtQueryInformationFile. Drop setting serial number. (path_conv::check): Accommodate new fs_info::update parameters. (fillout_mntent): Ditto. * path.h (fs_info): Drop serial, has_ea and drive_type status flags. (fs_info::update): Declare with new parameters. (path_conf::drive_type): Remove. (path_conf::fs_has_ea): Remove. (path_conf::volser): Remove.
This commit is contained in:
@ -279,7 +279,7 @@ fhandler_base::fstat_by_handle (struct __stat64 *buf)
|
||||
{
|
||||
debug_printf ("%u = NtQueryVolumeInformationFile)",
|
||||
RtlNtStatusToDosError (status));
|
||||
pfvi->VolumeSerialNumber = pc.volser ();
|
||||
pfvi->VolumeSerialNumber = 0;
|
||||
}
|
||||
status = NtQueryInformationFile (get_handle (), &io, pfai, fai_size,
|
||||
FileAllInformation);
|
||||
@ -371,7 +371,7 @@ fhandler_base::fstat_by_name (struct __stat64 *buf)
|
||||
{
|
||||
debug_printf ("%u = NtQueryVolumeInformationFile)",
|
||||
RtlNtStatusToDosError (status));
|
||||
pfvi->VolumeSerialNumber = pc.volser ();
|
||||
pfvi->VolumeSerialNumber = 0;
|
||||
}
|
||||
NtClose (dir);
|
||||
/* If the change time is 0, it's a file system which doesn't
|
||||
@ -403,7 +403,7 @@ too_bad:
|
||||
*(FILETIME *) &ft,
|
||||
*(FILETIME *) &ft,
|
||||
*(FILETIME *) &ft,
|
||||
pc.volser (),
|
||||
0,
|
||||
0ULL,
|
||||
-1LL,
|
||||
0ULL,
|
||||
|
Reference in New Issue
Block a user