The branch, master has been updated via 83ab59d929a Revert "vfs_ceph: drop fdopendir handler" from 666d2a38fcf libcli: Use GUID_to_ndr_buf() in smb2cli_validate_negotiate_info_send()
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 83ab59d929a6319c18341cb69d5084b563fb59bb Author: David Disseldorp <dd...@samba.org> Date: Mon Oct 5 12:28:27 2020 +0200 Revert "vfs_ceph: drop fdopendir handler" This reverts commit 76d7d05b1da6c0703b1c2bade0c4467c7cc1adec. OpenDir_fsp() no longer falls back to regular open, so this hook is required. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14519 Signed-off-by: David Disseldorp <dd...@samba.org> Reviewed-by: Samuel Cabrero <scabr...@samba.org> Autobuild-User(master): David Disseldorp <dd...@samba.org> Autobuild-Date(master): Mon Oct 5 12:38:34 UTC 2020 on sn-devel-184 ----------------------------------------------------------------------- Summary of changes: source3/modules/vfs_ceph.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c index 0378d633782..a87d162e573 100644 --- a/source3/modules/vfs_ceph.c +++ b/source3/modules/vfs_ceph.c @@ -306,9 +306,18 @@ static DIR *cephwrap_fdopendir(struct vfs_handle_struct *handle, const char *mask, uint32_t attributes) { - /* OpenDir_fsp() falls back to regular open */ - errno = ENOSYS; - return NULL; + int ret = 0; + struct ceph_dir_result *result; + DBG_DEBUG("[CEPH] fdopendir(%p, %p)\n", handle, fsp); + + ret = ceph_opendir(handle->data, fsp->fsp_name->base_name, &result); + if (ret < 0) { + result = NULL; + errno = -ret; /* We return result which is NULL in this case */ + } + + DBG_DEBUG("[CEPH] fdopendir(...) = %d\n", ret); + return (DIR *) result; } static struct dirent *cephwrap_readdir(struct vfs_handle_struct *handle, -- Samba Shared Repository