On Thu, Sep 10, 2026 at 11:18:21PM +0200, Michael Haener wrote:
> v2:
> - reduced the scope to the timestamp fix

The error handling changed too.  sstate_package(), sstate_checkhashes()
and sstate_eventhandler() reached os.utime() through a filter that let
PermissionError and EROFS pass -- "Handle read-only file systems
gracefully" -- and raised the rest.  sstate_touch_atime() catches OSError
unconditionally, so ENOSPC, EIO and ESTALE are silent at those three now.
Deliberate?

> so its age can no longer be told from the cache itself

scripts/sstate-cache-management.py is the consumer, and the patch helps
it.  remove_duplicated() keeps the entry with the larger st_mtime, and
--remove-duplicated promises "only the newest one will be kept".  Today
use bumps the modification time, so building an older configuration last
keeps its object and deletes the newer one.

st_mtime is a float; writing it back moves the modification time by
-112 ns on ext4 here, once.  os.utime(path, ns=(time.time_ns(),
stat_info.st_mtime_ns)) round trips exactly.

Thanks,
Zhan Xusheng
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#245606): 
https://lists.openembedded.org/g/openembedded-core/message/245606
Mute This Topic: https://lists.openembedded.org/mt/121188981/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to