Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c =================================================================== --- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/utils.c +++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c @@ -297,10 +297,14 @@ DECLINLINE(int) sf_file_mode_to_linux(ui */ static void vbsf_update_inode_timestamps(struct inode *pInode, PSHFLFSOBJINFO pObjInfo) { +/* Oracle has a bad fix for i_atime, etc missing from struct inode. The fix + * below produces the correct results, but is not correct either as it references + * variables such as __i_atime that are supposed to be hidden. Larry Finger + */ #if RTLNX_VER_MIN(6,6,0) - struct timespec64 ts; - vbsf_time_to_linux(&ts, &pObjInfo->ChangeTime); - inode_set_ctime_to_ts(pInode, ts); + vbsf_time_to_linux(&pInode->__i_atime, &pObjInfo->AccessTime); + vbsf_time_to_linux(&pInode->__i_ctime, &pObjInfo->ChangeTime); + vbsf_time_to_linux(&pInode->__i_mtime, &pObjInfo->ModificationTime); #else vbsf_time_to_linux(&pInode->i_atime, &pObjInfo->AccessTime); vbsf_time_to_linux(&pInode->i_ctime, &pObjInfo->ChangeTime);