The branch, v4-23-test has been updated
via 7e144282251 Fix crash in DLZ plugin for incorrect setup
via 73f3f2a56eb vfs_ceph_new: Use integer value instead of boolean
via ee5660600a4 vfs_ceph_new: dont use ceph_ll_nonblocking_readv_writev
for fsync_send
from babc0c7cb60 winbind: Initialize idmap in winbindd_getgroups
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-23-test
- Log -----------------------------------------------------------------
commit 7e144282251268b6fb45d6ccd06406c1077fba2e
Author: Alexander Bokovoy <[email protected]>
Date: Fri Sep 19 16:23:41 2025 +0300
Fix crash in DLZ plugin for incorrect setup
When bind is not yet setup properly, logging errors should be done
through the temporary handle.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15920
Signed-off-by: Alexander Bokovoy <[email protected]>
Reviewed-by: Douglas Bagnall <[email protected]>
Autobuild-User(master): Douglas Bagnall <[email protected]>
Autobuild-Date(master): Sat Sep 20 06:49:37 UTC 2025 on atb-devel-224
(cherry picked from commit 821cf798d87162b1f3b5d7388891d15fea0a969a)
Autobuild-User(v4-23-test): Jule Anger <[email protected]>
Autobuild-Date(v4-23-test): Fri Sep 26 10:36:53 UTC 2025 on atb-devel-224
commit 73f3f2a56ebb7971c0fb481d804c709b8f2558ed
Author: Anoop C S <[email protected]>
Date: Mon Sep 22 11:11:46 2025 +0530
vfs_ceph_new: Use integer value instead of boolean
ceph_ll_fsync() API[1] accepts the third and final argument as integer
and not a boolean value.
[1]
https://github.com/ceph/ceph/blob/main/src/include/cephfs/libcephfs.h#L2041
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15919
Signed-off-by: Anoop C S <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
Autobuild-User(master): Günther Deschner <[email protected]>
Autobuild-Date(master): Mon Sep 22 12:24:35 UTC 2025 on atb-devel-224
(cherry picked from commit 5200c120f34c4a28fa9f4cb55b46dbb9d90eb758)
commit ee5660600a44b3d2fb2f907c31a16a5b59de3552
Author: Shachar Sharon <[email protected]>
Date: Wed Sep 17 14:25:27 2025 +0300
vfs_ceph_new: dont use ceph_ll_nonblocking_readv_writev for fsync_send
Commit 4ae922413844 ("vfs_ceph_new: use libcephfs nonblocking API for
async-io ops") uses ceph_ll_nonblocking_readv_writev for fsync_send.
However, the actual behaviour of libcephfs when using this API with
'fsync=true' is not async-fsync, as one may assume. Instead,
vfs_ceph_new should use a nonblocking fsync API[1], once it is ready.
Removed the usage of ceph_ll_nonblocking_readv_writev for fsync.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=15919
[1]
https://github.com/ceph/ceph/commit/c88a21c30d8b265adb152f631d2629d29539f7b7
Signed-off-by: Shachar Sharon <[email protected]>
Reviewed-by: Anoop C S <[email protected]>
Reviewed-by: Xavi Hernandez <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
(cherry picked from commit 82c0988a8bc3d3e364e2d56ad8ea27e359fbc3f0)
-----------------------------------------------------------------------
Summary of changes:
source3/modules/vfs_ceph_new.c | 12 +-----------
source4/dns_server/dlz_bind9.c | 13 ++++++++-----
2 files changed, 9 insertions(+), 16 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/vfs_ceph_new.c b/source3/modules/vfs_ceph_new.c
index 996edc73458..3cd7cb8cb4e 100644
--- a/source3/modules/vfs_ceph_new.c
+++ b/source3/modules/vfs_ceph_new.c
@@ -3019,18 +3019,8 @@ static struct tevent_req *vfs_ceph_fsync_send(struct
vfs_handle_struct *handle,
SMBPROFILE_BYTES_ASYNC_SET_IDLE_X(state->profile_bytes,
state->profile_bytes_x);
-#if HAVE_CEPH_ASYNCIO
- state->req = req;
- state->data = NULL;
- state->len = 0;
- state->off = 0;
- state->fsync = true;
- vfs_ceph_aio_submit(handle, req, ev);
- return req;
-#endif
-
vfs_ceph_aio_start(state);
- ret = vfs_ceph_ll_fsync(handle, state->cfh, false);
+ ret = vfs_ceph_ll_fsync(handle, state->cfh, 0);
vfs_ceph_aio_finish(state, ret);
if (ret != 0) {
/* ceph_fsync returns -errno on error. */
diff --git a/source4/dns_server/dlz_bind9.c b/source4/dns_server/dlz_bind9.c
index e5c9679835e..2a2430caba2 100644
--- a/source4/dns_server/dlz_bind9.c
+++ b/source4/dns_server/dlz_bind9.c
@@ -671,6 +671,9 @@ _PUBLIC_ isc_result_t dlz_create(const char *dlzname,
}
va_end(ap);
+ /* starting from here, we can only use state->log() until
+ * dlz_bind9_state is assigned */
+
/* Do not install samba signal handlers */
fault_setup_disable();
@@ -727,11 +730,11 @@ _PUBLIC_ isc_result_t dlz_create(const char *dlzname,
}
if (!file_exist(state->options.url)) {
- dlz_bind9_state->log(ISC_LOG_ERROR,
- "samba_dlz: dlz_create could not
find '%s'; "
- "trying old location
'%s/dns/sam.ldb' instead",
- state->options.url,
- lpcfg_private_dir(state->lp));
+ state->log(ISC_LOG_ERROR,
+ "samba_dlz: dlz_create could not find '%s'; "
+ "trying old location '%s/dns/sam.ldb'
instead",
+ state->options.url,
+ lpcfg_private_dir(state->lp));
state->options.url = talloc_asprintf(state,
"%s/dns/sam.ldb",
lpcfg_private_dir(state->lp));
--
Samba Shared Repository