mirror of
https://github.com/samba-team/samba.git
synced 2025-03-12 20:58:37 +03:00
s3: VFS: glusterfs: Reset nlinks for symlink entries during readdir
On receiving an already initialized stat_ex buffer for readdir() call we invoke readdirplus() GlusterFS API, an optimized variant of readdir(), which then returns stat information along with dir entry result. But for symlink entries we don't know if link or target info is needed. In that case it is better to leave this decision back to caller by resetting nlinks value inside stat information to make it invalid. This was also preventing us from displaying msdfs link as directories inside the share. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14182 Signed-off-by: Anoop C S <anoopcs@redhat.com> Reviewed-by: Günther Deschner <gd@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Dec 17 21:53:07 UTC 2019 on sn-devel-184 (cherry picked from commit fca2d3e0d1fa5af59e7b729f7c1d126f7b81e149) Autobuild-User(v4-10-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-10-test): Thu Dec 19 13:46:00 UTC 2019 on sn-devel-144
This commit is contained in:
parent
3035221431
commit
b5e8ba021b
@ -560,8 +560,11 @@ static struct dirent *vfs_gluster_readdir(struct vfs_handle_struct *handle,
|
||||
}
|
||||
|
||||
if (sbuf != NULL) {
|
||||
SET_STAT_INVALID(*sbuf);
|
||||
if (!S_ISLNK(stat.st_mode)) {
|
||||
smb_stat_ex_from_stat(sbuf, &stat);
|
||||
}
|
||||
}
|
||||
|
||||
END_PROFILE(syscall_readdir);
|
||||
return dirent;
|
||||
|
Loading…
x
Reference in New Issue
Block a user