When provided a '/' path (i.e. CephFS root), vfs_ceph does a *local*
chdir() to the share path. This breaks smb client directory listings.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=12911
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Fri Jul 21 19:10:46 CEST 2017 on sn-devel-144
(cherry picked from commit
1dcacff083019810e207a3d123a81fe32d9dde1a)
Autobuild-User(v4-5-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-5-test): Tue Jul 25 15:53:04 CEST 2017 on sn-devel-144
{
int result = -1;
DEBUG(10, ("[CEPH] chdir(%p, %s)\n", handle, path));
- /*
- * If the path is just / use chdir because Ceph is below / and
- * cannot deal with changing directory above its mount point
- */
- if (path && !strcmp(path, "/"))
- return chdir(path);
-
result = ceph_chdir(handle->data, path);
DEBUG(10, ("[CEPH] chdir(...) = %d\n", result));
WRAP_RETURN(result);