File fix_shared_folder_time.patch of Package virtualbox

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);
openSUSE Build Service is sponsored by