* dir.cc (readdir): Fill out new old_d_ino field.
* fhandler.h (fhandler_base::namehash): Define as ino_t. (fhandler_base::get_namehash): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Accommodate new 64 bit st_ino. * fhandler_socket.cc (fhandler_socket::fstat): Ditto. * path.cc (hash_path_name): Return ino_t. * syscalls.cc (stat64_to_stat32): Convert 64 bit inode to 32 bit. * winsup.h (hash_path_name): Declare as returning ino_t. * include/cygwin/stat.h (__stat32): Use 32 bit st_ino. (__stat64): Use 64 bit st_ino. * include/cygwin/types.h (__ino64_t): Define. (__ino32_t): Ditto. (ino_t): Define appropriately.
This commit is contained in:
@@ -250,7 +250,7 @@ fhandler_disk_file::fstat_helper (struct __stat64 *buf, path_conv *pc,
|
||||
case DRIVE_RAMDISK:
|
||||
/* Although the documentation indicates otherwise, it seems like
|
||||
"inodes" on these devices are persistent, at least across reboots. */
|
||||
buf->st_ino = nFileIndexHigh | nFileIndexLow;
|
||||
buf->st_ino = (((ino_t) nFileIndexHigh) << 32) | (ino_t) nFileIndexLow;
|
||||
break;
|
||||
default:
|
||||
/* Either the nFileIndex* fields are unreliable or unavailable. Use the
|
||||
|
Reference in New Issue
Block a user