https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106308

            Bug ID: 106308
           Summary: Consider using statx(2) for std::filesystem
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-linux*

We don't need all the info that stat(2) provides.


Whenever we want to create a filesystem::file_status we only need st_mode. This
would speed up many operations that use filesystem::file_status or
filesystem::file_type.

filesystem::file_size only uses st_mode and st_size

filesystem::read_symlink only uses st_mode and st_size

filesystem::copy and filesystem::copy_file only use st_mode, st_dev, st_ino,
and st_size.

filesystem::equivalent only uses st_mode, st_dev, st_ino.

filesystem::last_write_time only uses st_mtim.


We never care about atim, ctim, uid, nlink, rdev, blocks, or blksize (although
maybe we should use blksize for filesystem::copy_file). Fetching those fields
for files on remote filesystems is wasteful.

Reply via email to