diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-07-09 23:24:57 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-07-09 23:24:57 +0300 |
commit | 68789e4807fb7a05e610adcde1a0e7f654ce5089 (patch) | |
tree | 47e0a6de9aae4ca4e25e63ce39a4152a91965300 | |
parent | 703b8391f382b8422df1d32f81d458bb25414400 (diff) |
Fix excessively strict same file comparison in clone_or_copy().
-rw-r--r-- | include/llfio/v2.0/algorithm/clone.hpp | 4 | ||||
-rw-r--r-- | include/llfio/v2.0/detail/impl/clone.ipp | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/include/llfio/v2.0/algorithm/clone.hpp b/include/llfio/v2.0/algorithm/clone.hpp index 570ef089..9175a93f 100644 --- a/include/llfio/v2.0/algorithm/clone.hpp +++ b/include/llfio/v2.0/algorithm/clone.hpp @@ -46,8 +46,8 @@ namespace algorithm \param force_copy_now Parameter to pass to `file_handle::clone_extents()` to force extents to be copied now, not copy-on-write lazily later. \param creation How to create the destination file handle. NOTE that if this - is NOT `always_new`, if the destination has identical maximum extent and - timestamps (and permissions on POSIX) to the source, it is NOT copied, and + is NOT `always_new`, if the destination has identical maximum extent and last + modified timestamp (and permissions on POSIX) to the source, it is NOT copied, and zero is returned. \param d Deadline by which to complete the operation. diff --git a/include/llfio/v2.0/detail/impl/clone.ipp b/include/llfio/v2.0/detail/impl/clone.ipp index 4ceb58e9..12317038 100644 --- a/include/llfio/v2.0/detail/impl/clone.ipp +++ b/include/llfio/v2.0/detail/impl/clone.ipp @@ -53,8 +53,7 @@ namespace algorithm { stat_t deststat(nullptr); OUTCOME_TRY(deststat.fill(r.value())); - if((stat.st_type == deststat.st_type) && (stat.st_mtim == deststat.st_mtim) && (stat.st_ctim == deststat.st_ctim) && - (stat.st_birthtim == deststat.st_birthtim) && (stat.st_size == deststat.st_size) + if((stat.st_type == deststat.st_type) && (stat.st_mtim == deststat.st_mtim) && (stat.st_size == deststat.st_size) #ifndef _WIN32 && (stat.st_perms == deststat.st_perms) && (stat.st_uid == deststat.st_uid) && (stat.st_gid == deststat.st_gid) && (stat.st_rdev == deststat.st_rdev) #endif |