gpfswrap: Add wrapper for gpfs_register_cifs_export
authorChristof Schmitt <cs@samba.org>
Wed, 24 May 2023 21:06:36 +0000 (14:06 -0700)
committerJule Anger <janger@samba.org>
Mon, 3 Jul 2023 07:57:08 +0000 (07:57 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15381

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
(cherry picked from commit 34b9c54ff2f089dbffe65bdc69f3024b5d3efd5c)

lib/util/gpfswrap.c
lib/util/gpfswrap.h

index d05358e141e37b97b350d1998b7fc1b7b5f24216..2f15bf452cf6ab6a6a4043729d392fa457d0fd07 100644 (file)
@@ -28,6 +28,7 @@ static int (*gpfs_putacl_fn)(const char *pathname, int flags, void *acl);
 static int (*gpfs_get_realfilename_path_fn)(const char *pathname,
                                            char *filenamep,
                                            int *len);
+static int (*gpfs_register_cifs_export_fn)(void);
 static int (*gpfs_set_winattrs_path_fn)(const char *pathname,
                                        int flags,
                                        struct gpfs_winattr *attrs);
@@ -71,6 +72,7 @@ int gpfswrap_init(void)
        gpfs_fgetacl_fn               = dlsym(l, "gpfs_getacl_fd");
        gpfs_putacl_fn                = dlsym(l, "gpfs_putacl");
        gpfs_get_realfilename_path_fn = dlsym(l, "gpfs_get_realfilename_path");
+       gpfs_register_cifs_export_fn  = dlsym(l, "gpfs_register_cifs_export");
        gpfs_set_winattrs_path_fn     = dlsym(l, "gpfs_set_winattrs_path");
        gpfs_set_winattrs_fn          = dlsym(l, "gpfs_set_winattrs");
        gpfs_get_winattrs_fn          = dlsym(l, "gpfs_get_winattrs");
@@ -141,6 +143,16 @@ int gpfswrap_get_realfilename_path(const char *pathname,
        return gpfs_get_realfilename_path_fn(pathname, filenamep, len);
 }
 
+int gpfswrap_register_cifs_export(void)
+{
+       if (gpfs_register_cifs_export_fn == NULL) {
+               errno = ENOSYS;
+               return -1;
+       }
+
+       return gpfs_register_cifs_export_fn();
+}
+
 int gpfswrap_set_winattrs_path(const char *pathname,
                               int flags,
                               struct gpfs_winattr *attrs)
index 1e74496c0602dc45598b5b8fab71789acfab8901..e387a56446bb6ebdd44a0d6b1a85b471c9852759 100644 (file)
@@ -34,6 +34,7 @@ int gpfswrap_putacl(const char *pathname, int flags, void *acl);
 int gpfswrap_get_realfilename_path(const char *pathname,
                                   char *filenamep,
                                   int *len);
+int gpfswrap_register_cifs_export(void);
 int gpfswrap_set_winattrs_path(const char *pathname,
                               int flags,
                               struct gpfs_winattr *attrs);