From: David Disseldorp Date: Fri, 14 Jul 2017 21:55:29 +0000 (+0200) Subject: vfs_ceph: fix cephwrap_chdir() X-Git-Tag: samba-4.5.13~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3475d11fe95b4b1afc8ba2731f2853503f44c02b;p=thirdparty%2Fsamba.git vfs_ceph: fix cephwrap_chdir() 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 Reviewed-by: Jeremy Allison Autobuild-User(master): David Disseldorp 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 Autobuild-Date(v4-5-test): Tue Jul 25 15:53:04 CEST 2017 on sn-devel-144 --- diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c index 59e9b9cf9b3..9c7a2fb5f35 100644 --- a/source3/modules/vfs_ceph.c +++ b/source3/modules/vfs_ceph.c @@ -750,13 +750,6 @@ static int cephwrap_chdir(struct vfs_handle_struct *handle, const char *path) { 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);