Merge tag 'v6.9-rc-smb3-server-fixes' of git://git.samba.org/ksmbd
[linux-2.6-microblaze.git] / fs / smb / server / vfs.c
index c487e83..22f0f3d 100644 (file)
@@ -1682,11 +1682,19 @@ int ksmbd_vfs_fill_dentry_attrs(struct ksmbd_work *work,
                                struct dentry *dentry,
                                struct ksmbd_kstat *ksmbd_kstat)
 {
+       struct ksmbd_share_config *share_conf = work->tcon->share_conf;
        u64 time;
        int rc;
+       struct path path = {
+               .mnt = share_conf->vfs_path.mnt,
+               .dentry = dentry,
+       };
 
-       generic_fillattr(idmap, STATX_BASIC_STATS, d_inode(dentry),
-                        ksmbd_kstat->kstat);
+       rc = vfs_getattr(&path, ksmbd_kstat->kstat,
+                        STATX_BASIC_STATS | STATX_BTIME,
+                        AT_STATX_SYNC_AS_STAT);
+       if (rc)
+               return rc;
 
        time = ksmbd_UnixTimeToNT(ksmbd_kstat->kstat->ctime);
        ksmbd_kstat->create_time = time;