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

Reply via email to