<feed xmlns='http://www.w3.org/2005/Atom'>
<title>samba.git/source3/modules, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/'/>
<entry>
<title>vfs_ceph_new: remove double-cleanup in closedir</title>
<updated>2026-04-21T22:18:42+00:00</updated>
<author>
<name>Shweta Sodani</name>
<email>ssodani@redhat.com</email>
</author>
<published>2026-04-06T05:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=da6fdffede93197eebd4c4d0e0ebde7f4136a0d9'/>
<id>da6fdffede93197eebd4c4d0e0ebde7f4136a0d9</id>
<content type='text'>
vfs_ceph_release_fh() was called explicitly then again via the FSP
extension destructor triggered by vfs_ceph_remove_fh(). Drop the
explicit call and let the destructor handle cleanup.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Tue Apr 21 22:18:42 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vfs_ceph_release_fh() was called explicitly then again via the FSP
extension destructor triggered by vfs_ceph_remove_fh(). Drop the
explicit call and let the destructor handle cleanup.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Tue Apr 21 22:18:42 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_ceph_new: fix return type mismatch in disk_free</title>
<updated>2026-04-21T21:15:30+00:00</updated>
<author>
<name>Shweta Sodani</name>
<email>ssodani@redhat.com</email>
</author>
<published>2026-04-06T05:51:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=5d7c8a876a2048f07594ad105033821f3c61b05b'/>
<id>5d7c8a876a2048f07594ad105033821f3c61b05b</id>
<content type='text'>
-ENOMEM cast to uint64_t is not the error sentinel UINT64_MAX and
leaves errno unset. Set errno and return UINT64_MAX instead.
Also replace UINT64_MAX instead of (uint64_t)-1) in all error path.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-ENOMEM cast to uint64_t is not the error sentinel UINT64_MAX and
leaves errno unset. Set errno and return UINT64_MAX instead.
Also replace UINT64_MAX instead of (uint64_t)-1) in all error path.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_ceph_new: fix END_PROFILE/END_PROFILE_X mismatch in ftruncate</title>
<updated>2026-04-21T21:15:30+00:00</updated>
<author>
<name>Shweta Sodani</name>
<email>ssodani@redhat.com</email>
</author>
<published>2026-04-06T05:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=9dc8dd74b607b3dd6921142c869b16e29f5a121c'/>
<id>9dc8dd74b607b3dd6921142c869b16e29f5a121c</id>
<content type='text'>
END_PROFILE omits the per-service counter; replace with END_PROFILE_X
to match the START_PROFILE_X on the strict_allocate path.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
END_PROFILE omits the per-service counter; replace with END_PROFILE_X
to match the START_PROFILE_X on the strict_allocate path.

Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_gpfs: convert smb2gpfs_acl() to use talloc</title>
<updated>2026-04-18T20:58:22+00:00</updated>
<author>
<name>Shwetha Acharya</name>
<email>Shwetha.K.Acharya@ibm.com</email>
</author>
<published>2026-04-16T13:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=6fe82edfe2517aa6f3cfea9f5a608ac6f5717e21'/>
<id>6fe82edfe2517aa6f3cfea9f5a608ac6f5717e21</id>
<content type='text'>
This avoids mixing malloc and talloc allocation patterns and
aligns the code with Samba's memory management conventions.

Signed-off-by: Shwetha Acharya &lt;Shwetha.K.Acharya@ibm.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: Christof Schmitt &lt;cs@samba.org&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Sat Apr 18 20:58:22 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids mixing malloc and talloc allocation patterns and
aligns the code with Samba's memory management conventions.

Signed-off-by: Shwetha Acharya &lt;Shwetha.K.Acharya@ibm.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: Christof Schmitt &lt;cs@samba.org&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Sat Apr 18 20:58:22 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
<entry>
<title>s3/modules: fix snapper_gmt_fstatat</title>
<updated>2026-04-15T15:29:37+00:00</updated>
<author>
<name>Noel Power</name>
<email>noel.power@suse.com</email>
</author>
<published>2026-04-10T15:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=78b7ed68e8da0c95ddc60fac58a6821ab723865b'/>
<id>78b7ed68e8da0c95ddc60fac58a6821ab723865b</id>
<content type='text'>
snapper_gmt_fstatat is failing when called on items in a
'previous version' snapshot because the wrong timestamp value is
passed (the raw timewarp value is used) and snapper_gmt_convert cannot
find the valid snapshot instance to use.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16058

Signed-off-by: Noel Power &lt;noel.power@suse.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Wed Apr 15 15:29:38 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
snapper_gmt_fstatat is failing when called on items in a
'previous version' snapshot because the wrong timestamp value is
passed (the raw timewarp value is used) and snapper_gmt_convert cannot
find the valid snapshot instance to use.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16058

Signed-off-by: Noel Power &lt;noel.power@suse.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Wed Apr 15 15:29:38 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
<entry>
<title>s3/modules: Fix vfs snapper not finding files in subdirs</title>
<updated>2026-04-15T14:25:29+00:00</updated>
<author>
<name>Noel Power</name>
<email>noel.power@suse.com</email>
</author>
<published>2026-04-10T10:08:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=f45b832a17a82a394076476d809b274ddbd720b0'/>
<id>f45b832a17a82a394076476d809b274ddbd720b0</id>
<content type='text'>
when trying to browse on windows a snapper share (exposed via windows previous versions) files in subdirs are not visible. In other words only files that are in the root dir of the versioned share can be seen

/ashare/file1
/ashare/file2
/ashare/subdir
/ashare/subdir/subfile1

For example with the file hierarchy above only file1, file2 and subdir are visible. Navigating into subdir shows an empty dir

snapper_gmt_openat is failing because when calling snapper_gmt_convert
it doesn't take into account the path to the subdirectory.
snapper_gmt_convert is just passed the leaf name where it constructs the
snapper path based on the base dir of the share.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16058

Signed-off-by: Noel Power &lt;noel.power@suse.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when trying to browse on windows a snapper share (exposed via windows previous versions) files in subdirs are not visible. In other words only files that are in the root dir of the versioned share can be seen

/ashare/file1
/ashare/file2
/ashare/subdir
/ashare/subdir/subfile1

For example with the file hierarchy above only file1, file2 and subdir are visible. Navigating into subdir shows an empty dir

snapper_gmt_openat is failing because when calling snapper_gmt_convert
it doesn't take into account the path to the subdirectory.
snapper_gmt_convert is just passed the leaf name where it constructs the
snapper path based on the base dir of the share.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16058

Signed-off-by: Noel Power &lt;noel.power@suse.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_glusterfs: fix directory fd leak via FSP extension destructor</title>
<updated>2026-04-08T16:46:12+00:00</updated>
<author>
<name>Thales Antunes de Oliveira Barretto</name>
<email>thales.barretto.git@gmail.com</email>
</author>
<published>2026-02-27T07:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=e7c1c49e647adeaf2c6dda0d42f48305c0a5bc58'/>
<id>e7c1c49e647adeaf2c6dda0d42f48305c0a5bc58</id>
<content type='text'>
When Samba closes a directory backed by vfs_glusterfs, the glfs_fd_t
opened by vfs_gluster_openat() is never closed.  This leaks one
libgfapi file descriptor and one server-side fd_t in glusterfsd per
directory open/close cycle.  With persistent SMB2 connections the
leak is unbounded and drives monotonic RSS growth on the GlusterFS
brick process.

The leak happens because vfs_glusterfs creates two independent
glfs_fd_t handles per directory: one via glfs_open() in
vfs_gluster_openat(), stored in the FSP extension, and another via
glfs_opendir() in vfs_gluster_fdopendir(), tracked by struct smb_Dir.
On close, smb_Dir_destructor() closes the opendir handle and sets the
pathref fd to -1.  fd_close() then returns early without calling
SMB_VFS_CLOSE, so vfs_gluster_close() never runs and the glfs_open()
handle is orphaned.  The original code passed NULL as the destroy
callback to VFS_ADD_FSP_EXTENSION, so there was no safety net.

The default VFS does not have this problem because fdopendir(3) wraps
the existing kernel fd rather than opening a new handle.  libgfapi
has no equivalent -- glfs_opendir() always creates an independent
handle by path.  The actual glfs_fd_t is stored in the FSP extension,
not in fsp-&gt;fh-&gt;fd (which holds a sentinel value), so Samba's generic
close path cannot reach it.

Register vfs_gluster_fsp_ext_destroy() as the FSP extension destroy
callback.  It calls glfs_close() on the stored pointer and is invoked
by vfs_remove_all_fsp_extensions() during file_free(), which runs
unconditionally for every fsp.  In the explicit close path,
vfs_gluster_close() NULLs the extension pointer before calling
VFS_REMOVE_FSP_EXTENSION to prevent double-close.  This follows the
same pattern used by vfs_ceph_new.c (vfs_ceph_fsp_ext_destroy_cb).

Observed on a production file server with persistent SMB2 connections
and continuous directory operations.  GlusterFS brick statedumps
showed fd_t pool growth from 1,993 to 80,350 active instances over
6 days, roughly 13,000 leaked fds per day per brick.

RN: Fix a directory file descriptor leak in vfs_glusterfs that caused
unbounded memory growth on the GlusterFS brick with persistent SMB2
connections.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16043

Signed-off-by: Thales Antunes de Oliveira Barretto &lt;thales.barretto.git@gmail.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: Guenther Deschner &lt;gd@samba.org&gt;

Autobuild-User(master): Günther Deschner &lt;gd@samba.org&gt;
Autobuild-Date(master): Wed Apr  8 16:46:12 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When Samba closes a directory backed by vfs_glusterfs, the glfs_fd_t
opened by vfs_gluster_openat() is never closed.  This leaks one
libgfapi file descriptor and one server-side fd_t in glusterfsd per
directory open/close cycle.  With persistent SMB2 connections the
leak is unbounded and drives monotonic RSS growth on the GlusterFS
brick process.

The leak happens because vfs_glusterfs creates two independent
glfs_fd_t handles per directory: one via glfs_open() in
vfs_gluster_openat(), stored in the FSP extension, and another via
glfs_opendir() in vfs_gluster_fdopendir(), tracked by struct smb_Dir.
On close, smb_Dir_destructor() closes the opendir handle and sets the
pathref fd to -1.  fd_close() then returns early without calling
SMB_VFS_CLOSE, so vfs_gluster_close() never runs and the glfs_open()
handle is orphaned.  The original code passed NULL as the destroy
callback to VFS_ADD_FSP_EXTENSION, so there was no safety net.

The default VFS does not have this problem because fdopendir(3) wraps
the existing kernel fd rather than opening a new handle.  libgfapi
has no equivalent -- glfs_opendir() always creates an independent
handle by path.  The actual glfs_fd_t is stored in the FSP extension,
not in fsp-&gt;fh-&gt;fd (which holds a sentinel value), so Samba's generic
close path cannot reach it.

Register vfs_gluster_fsp_ext_destroy() as the FSP extension destroy
callback.  It calls glfs_close() on the stored pointer and is invoked
by vfs_remove_all_fsp_extensions() during file_free(), which runs
unconditionally for every fsp.  In the explicit close path,
vfs_gluster_close() NULLs the extension pointer before calling
VFS_REMOVE_FSP_EXTENSION to prevent double-close.  This follows the
same pattern used by vfs_ceph_new.c (vfs_ceph_fsp_ext_destroy_cb).

Observed on a production file server with persistent SMB2 connections
and continuous directory operations.  GlusterFS brick statedumps
showed fd_t pool growth from 1,993 to 80,350 active instances over
6 days, roughly 13,000 leaked fds per day per brick.

RN: Fix a directory file descriptor leak in vfs_glusterfs that caused
unbounded memory growth on the GlusterFS brick with persistent SMB2
connections.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16043

Signed-off-by: Thales Antunes de Oliveira Barretto &lt;thales.barretto.git@gmail.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: Guenther Deschner &lt;gd@samba.org&gt;

Autobuild-User(master): Günther Deschner &lt;gd@samba.org&gt;
Autobuild-Date(master): Wed Apr  8 16:46:12 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_ceph_new: fix errno handling in vfs_ceph_readdir</title>
<updated>2026-04-02T05:49:13+00:00</updated>
<author>
<name>Shweta Sodani</name>
<email>ssodani@redhat.com</email>
</author>
<published>2026-03-25T09:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=5a2f1242c5f7c7660572b4bf639cbdf175972d55'/>
<id>5a2f1242c5f7c7660572b4bf639cbdf175972d55</id>
<content type='text'>
Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Thu Apr  2 05:49:13 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Thu Apr  2 05:49:13 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_ceph_new: add missing sentinel to enum_vfs_cephfs_fscrypt_vals</title>
<updated>2026-04-02T04:46:29+00:00</updated>
<author>
<name>Shweta Sodani</name>
<email>ssodani@redhat.com</email>
</author>
<published>2026-03-25T08:55:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=c60241fbb2f56b263b878ade9c1fb0cd034d6b43'/>
<id>c60241fbb2f56b263b878ade9c1fb0cd034d6b43</id>
<content type='text'>
Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs_ceph_new: do not set negative value in vfs_aio_state.error</title>
<updated>2026-03-26T09:23:11+00:00</updated>
<author>
<name>Shachar Sharon</name>
<email>ssharon@redhat.com</email>
</author>
<published>2026-03-22T17:52:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=9720931f69d08cd9f405a935407088aac8c3e836'/>
<id>9720931f69d08cd9f405a935407088aac8c3e836</id>
<content type='text'>
Ceph uses negative error valuers but Samba's VFS expects error value as
non-negative values (errno style).

Signed-off-by: Shachar Sharon &lt;ssharon@redhat.com&gt;
Reviewed-by: Avan Thakkar &lt;athakkar@redhat.com&gt;
Reviewed-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Vinit Agnihotri &lt;vagnihot@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Thu Mar 26 09:23:11 UTC 2026 on atb-devel-224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ceph uses negative error valuers but Samba's VFS expects error value as
non-negative values (errno style).

Signed-off-by: Shachar Sharon &lt;ssharon@redhat.com&gt;
Reviewed-by: Avan Thakkar &lt;athakkar@redhat.com&gt;
Reviewed-by: Shweta Sodani &lt;ssodani@redhat.com&gt;
Reviewed-by: Vinit Agnihotri &lt;vagnihot@redhat.com&gt;
Reviewed-by: Anoop C S &lt;anoopcs@samba.org&gt;
Reviewed-by: John Mulligan &lt;jmulligan@redhat.com&gt;

Autobuild-User(master): Anoop C S &lt;anoopcs@samba.org&gt;
Autobuild-Date(master): Thu Mar 26 09:23:11 UTC 2026 on atb-devel-224
</pre>
</div>
</content>
</entry>
</feed>
