[SCM] Samba Shared Repository - branch master updated

Anoop C S anoopcs at samba.org
Mon Aug 5 16:07:02 UTC 2024


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 <anoopcs at 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 <anoopcs at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    
    Autobuild-User(master): Anoop C S <anoopcs at samba.org>
    Autobuild-Date(master): Mon Aug  5 16:06:47 UTC 2024 on atb-devel-224

commit d8c84a2993b84ebb69011c33c1b5d44801c15363
Author: Shachar Sharon <ssharon at 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 <ssharon at redhat.com>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Anoop C S <anoopcs at 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



More information about the samba-cvs mailing list