The branch, master has been updated via de2f76fa47e vfs_ceph_new: Unconditionally use ceph_select_filesystem via d8c84a2993b docs-xml/manpages: add entry for vfs_ceph_new from a5f47f6efe6 docs-xml: Delete descriptions for removed commands "net ads keytab add" and "net ads keytab add_update_ads"
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit de2f76fa47e6e672ce353ea9d3dc4019965c6491 Author: Anoop C S <anoo...@samba.org> Date: Fri Aug 2 11:10:28 2024 +0530 vfs_ceph_new: Unconditionally use ceph_select_filesystem Currently we don't have an explicit check for the presence of ceph_select_filesystem() libcephfs API as it is always found to be present with the minimum ceph version that is supported with Samba right now. Therefore under this assumption directly call ceph_select_filesystem() without any #ifdefs. Please note that this change is already part of vfs_ceph via ef0068cd. ref: https://gitlab.com/samba-team/samba/-/merge_requests/3715 BUG: https://bugzilla.samba.org/show_bug.cgi?id=15686 Signed-off-by: Anoop C S <anoo...@samba.org> Reviewed-by: Guenther Deschner <g...@samba.org> Autobuild-User(master): Anoop C S <anoo...@samba.org> Autobuild-Date(master): Mon Aug 5 16:06:47 UTC 2024 on atb-devel-224 commit d8c84a2993b84ebb69011c33c1b5d44801c15363 Author: Shachar Sharon <ssha...@redhat.com> Date: Tue Feb 20 19:37:45 2024 +0200 docs-xml/manpages: add entry for vfs_ceph_new Create man entry for the newly added vfs_ceph_new module: almost identical to existing vfs_ceph, except to the configuration entry: [sharename] vfs objects = ceph_new ... Adds a bit of info for the motivation behind this new module. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15686 Signed-off-by: Shachar Sharon <ssha...@redhat.com> Reviewed-by: Guenther Deschner <g...@samba.org> Reviewed-by: Anoop C S <anoo...@samba.org> ----------------------------------------------------------------------- Summary of changes: .../{vfs_ceph.8.xml => vfs_ceph_new.8.xml} | 48 +++++++++++++--------- docs-xml/wscript_build | 1 + source3/modules/vfs_ceph_new.c | 19 +-------- 3 files changed, 31 insertions(+), 37 deletions(-) copy docs-xml/manpages/{vfs_ceph.8.xml => vfs_ceph_new.8.xml} (71%) Changeset truncated at 500 lines: diff --git a/docs-xml/manpages/vfs_ceph.8.xml b/docs-xml/manpages/vfs_ceph_new.8.xml similarity index 71% copy from docs-xml/manpages/vfs_ceph.8.xml copy to docs-xml/manpages/vfs_ceph_new.8.xml index 47b5523b9a1..7a65b965ce0 100644 --- a/docs-xml/manpages/vfs_ceph.8.xml +++ b/docs-xml/manpages/vfs_ceph_new.8.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> -<refentry id="vfs_ceph.8"> +<refentry id="vfs_ceph_new.8"> <refmeta> - <refentrytitle>vfs_ceph</refentrytitle> + <refentrytitle>vfs_ceph_new</refentrytitle> <manvolnum>8</manvolnum> <refmiscinfo class="source">Samba</refmiscinfo> <refmiscinfo class="manual">System Administration tools</refmiscinfo> @@ -12,15 +12,15 @@ <refnamediv> - <refname>vfs_ceph</refname> + <refname>vfs_ceph_new</refname> <refpurpose> - Utilize features provided by CephFS + Utilize features provided by libcephfs low-level APIs </refpurpose> </refnamediv> <refsynopsisdiv> <cmdsynopsis> - <command>vfs objects = ceph</command> + <command>vfs objects = ceph_new</command> </cmdsynopsis> </refsynopsisdiv> @@ -32,7 +32,7 @@ <manvolnum>8</manvolnum></citerefentry> suite.</para> <para> - The <command>vfs_ceph</command> VFS module exposes + The <command>vfs_ceph_new</command> VFS module exposes CephFS specific features for use by Samba. </para> @@ -51,37 +51,47 @@ </para> <para> - <command>vfs_ceph</command> performs mapping between Windows and - POSIX Access Control Lists (ACLs). To ensure correct processing - and enforcement of POSIX ACLs, the following Ceph configuration - parameters are automatically applied: + <command>vfs_ceph_new</command> performs mapping between Windows + and POSIX Access Control Lists (ACLs). To ensure correct + processing and enforcement of POSIX ACLs, the following Ceph + configuration parameters are automatically applied: </para> <programlisting> <command>client acl type = posix_acl</command> <command>fuse default permissions = false</command> </programlisting> + + <para> + <emphasis role="strong">NOTE</emphasis>: + This is a second implementation of a ceph module which uses libcephfs + low-level APIs (compared to the original + <citerefentry><refentrytitle>vfs_ceph</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> module which uses path-based + APIs). Using the low-level API allows more optimized and fine-grained + access to the Ceph storage layer. + </para> </refsect1> <refsect1> <title>CONFIGURATION</title> <para> - <command>vfs_ceph</command> requires that the underlying share - path is a Ceph filesystem. + <command>vfs_ceph_new</command> requires that the underlying + share path is a Ceph filesystem. </para> <programlisting> <smbconfsection name="[share]"/> - <smbconfoption name="vfs objects">ceph</smbconfoption> + <smbconfoption name="vfs objects">ceph_new</smbconfoption> <smbconfoption name="path">/non-mounted/cephfs/path</smbconfoption> <smbconfoption name="kernel share modes">no</smbconfoption> </programlisting> <para> - Since <command>vfs_ceph</command> does not require a filesystem - mount, the share <command>path</command> is treated differently: - it is interpreted as an absolute path within the Ceph filesystem - on the attached Ceph cluster. + Since <command>vfs_ceph_new</command> does not require a + filesystem mount, the share <command>path</command> is treated + differently: it is interpreted as an absolute path within the + Ceph filesystem on the attached Ceph cluster. In a ctdb cluster environment where ctdb manages Samba, <command>CTDB_SAMBA_SKIP_SHARE_CHECK=yes</command> must be configured to disable local share path checks, otherwise ctdb @@ -133,8 +143,8 @@ <para> Allows one to explicitly select the CephFS file system to use when the Ceph cluster supports more than one - file system. Empty by default (use the default file system - of the Ceph cluster). + file system. Empty by default (use the default file + system of the Ceph cluster). </para> <para> Example: ceph:filesystem = myfs2 diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build index 434afacaf1e..967e18a6596 100644 --- a/docs-xml/wscript_build +++ b/docs-xml/wscript_build @@ -78,6 +78,7 @@ vfs_module_manpages = ['vfs_acl_tdb', 'vfs_cap', 'vfs_catia', 'vfs_ceph', + 'vfs_ceph_new', 'vfs_ceph_snapshots', 'vfs_commit', 'vfs_crossrename', diff --git a/source3/modules/vfs_ceph_new.c b/source3/modules/vfs_ceph_new.c index 3c82730f87c..99d4a1fe407 100644 --- a/source3/modules/vfs_ceph_new.c +++ b/source3/modules/vfs_ceph_new.c @@ -169,23 +169,6 @@ static char *cephmount_get_cookie(TALLOC_CTX * mem_ctx, const int snum) fsname); } -static int cephmount_select_fs(struct ceph_mount_info *mnt, const char *fsname) -{ - /* - * ceph_select_filesystem was added in ceph 'nautilus' (v14). - * Earlier versions of libcephfs will lack that API function. - * At the time of this writing (Feb 2023) all versions of ceph - * supported by ceph upstream have this function. - */ -#if defined(HAVE_CEPH_SELECT_FILESYSTEM) - DBG_DEBUG("[CEPH] calling: ceph_select_filesystem with %s\n", fsname); - return ceph_select_filesystem(mnt, fsname); -#else - DBG_ERR("[CEPH] ceph_select_filesystem not available\n"); - return -ENOTSUP; -#endif -} - static struct ceph_mount_info *cephmount_mount_fs(const int snum) { int ret; @@ -235,7 +218,7 @@ static struct ceph_mount_info *cephmount_mount_fs(const int snum) * 'pacific'. Permit different shares to access different file systems. */ if (fsname != NULL) { - ret = cephmount_select_fs(mnt, fsname); + ret = ceph_select_filesystem(mnt, fsname); if (ret < 0) { goto err_cm_release; } -- Samba Shared Repository