]> git.proxmox.com Git - mirror_zfs.git/commitdiff
libshare/smb: cleanup
authorнаб <nabijaczleweli@nabijaczleweli.xyz>
Mon, 28 Feb 2022 12:13:10 +0000 (13:13 +0100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 12 May 2022 16:26:18 +0000 (09:26 -0700)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #13165

lib/libshare/os/freebsd/smb.c
lib/libshare/os/linux/nfs.c
lib/libshare/os/linux/smb.c
lib/libshare/smb.h
lib/libspl/include/libshare.h

index 445784b756bca02e07357715ec4dc9b937f33742..f14e631b233272cdcbb1e5f0c643a15e17ce1d7f 100644 (file)
  * Copyright (c) 2020 by Delphix. All rights reserved.
  */
 
-#include <time.h>
-#include <stdlib.h>
 #include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <libzfs.h>
 #include <libshare.h>
 #include "libshare_impl.h"
-#include "smb.h"
 
 static sa_fstype_t *smb_fstype;
 
@@ -47,7 +36,7 @@ static int
 smb_enable_share(sa_share_impl_t impl_share)
 {
        (void) impl_share;
-       fprintf(stderr, "No SMB support in FreeBSD yet.\n");
+       fputs("No SMB support in FreeBSD yet.\n", stderr);
        return (SA_NOT_SUPPORTED);
 }
 /*
@@ -57,7 +46,7 @@ static int
 smb_disable_share(sa_share_impl_t impl_share)
 {
        (void) impl_share;
-       fprintf(stderr, "No SMB support in FreeBSD yet.\n");
+       fputs("No SMB support in FreeBSD yet.\n", stderr);
        return (SA_NOT_SUPPORTED);
 }
 
@@ -68,7 +57,7 @@ static int
 smb_validate_shareopts(const char *shareopts)
 {
        (void) shareopts;
-       fprintf(stderr, "No SMB support in FreeBSD yet.\n");
+       fputs("No SMB support in FreeBSD yet.\n", stderr);
        return (SA_NOT_SUPPORTED);
 }
 
index 5acfa3fb854532659dc564753fedebf665e9d095..72653b6d40f53052f1b0d9c107df055b464c2884 100644 (file)
@@ -496,8 +496,8 @@ static int
 nfs_commit_shares(void)
 {
        char *argv[] = {
-           "/usr/sbin/exportfs",
-           "-ra",
+           (char *)"/usr/sbin/exportfs",
+           (char *)"-ra",
            NULL
        };
 
index 47d1aa776c4f76d8980f90a3f0332bf3e0ff162c..f4a0bfd6bf9bdbc827cc1e324640204924ba75a7 100644 (file)
@@ -65,7 +65,7 @@ static boolean_t smb_available(void);
 
 static sa_fstype_t *smb_fstype;
 
-smb_share_t *smb_shares;
+static smb_share_t *smb_shares;
 static int smb_disable_share(sa_share_impl_t impl_share);
 static boolean_t smb_is_share_active(sa_share_impl_t impl_share);
 
@@ -218,46 +218,39 @@ out:
 static int
 smb_enable_share_one(const char *sharename, const char *sharepath)
 {
-       char *argv[10], *pos;
        char name[SMB_NAME_MAX], comment[SMB_COMMENT_MAX];
-       int rc;
 
        /* Support ZFS share name regexp '[[:alnum:]_-.: ]' */
        strlcpy(name, sharename, sizeof (name));
-       name [sizeof (name)-1] = '\0';
-
-       pos = name;
-       while (*pos != '\0') {
-               switch (*pos) {
+       for (char *itr = name; *itr != '\0'; ++itr)
+               switch (*itr) {
                case '/':
                case '-':
                case ':':
                case ' ':
-                       *pos = '_';
+                       *itr = '_';
                }
 
-               ++pos;
-       }
-
        /*
         * CMD: net -S NET_CMD_ARG_HOST usershare add Test1 /share/Test1 \
         *      "Comment" "Everyone:F"
         */
        snprintf(comment, sizeof (comment), "Comment: %s", sharepath);
 
-       argv[0] = NET_CMD_PATH;
-       argv[1] = (char *)"-S";
-       argv[2] = NET_CMD_ARG_HOST;
-       argv[3] = (char *)"usershare";
-       argv[4] = (char *)"add";
-       argv[5] = (char *)name;
-       argv[6] = (char *)sharepath;
-       argv[7] = (char *)comment;
-       argv[8] = (char *)"Everyone:F";
-       argv[9] = NULL;
-
-       rc = libzfs_run_process(argv[0], argv, 0);
-       if (rc < 0)
+       char *argv[] = {
+               (char *)NET_CMD_PATH,
+               (char *)"-S",
+               (char *)NET_CMD_ARG_HOST,
+               (char *)"usershare",
+               (char *)"add",
+               name,
+               (char *)sharepath,
+               comment,
+               (char *)"Everyone:F",
+               NULL,
+       };
+
+       if (libzfs_run_process(argv[0], argv, 0) < 0)
                return (SA_SYSTEM_ERR);
 
        /* Reload the share file */
@@ -298,20 +291,18 @@ smb_enable_share(sa_share_impl_t impl_share)
 static int
 smb_disable_share_one(const char *sharename)
 {
-       int rc;
-       char *argv[7];
-
        /* CMD: net -S NET_CMD_ARG_HOST usershare delete Test1 */
-       argv[0] = NET_CMD_PATH;
-       argv[1] = (char *)"-S";
-       argv[2] = NET_CMD_ARG_HOST;
-       argv[3] = (char *)"usershare";
-       argv[4] = (char *)"delete";
-       argv[5] = (char *)sharename;
-       argv[6] = NULL;
-
-       rc = libzfs_run_process(argv[0], argv, 0);
-       if (rc < 0)
+       char *argv[] = {
+               (char *)NET_CMD_PATH,
+               (char *)"-S",
+               (char *)NET_CMD_ARG_HOST,
+               (char *)"usershare",
+               (char *)"delete",
+               (char *)sharename,
+               NULL,
+       };
+
+       if (libzfs_run_process(argv[0], argv, 0) < 0)
                return (SA_SYSTEM_ERR);
        else
                return (SA_OK);
index 8ea44677f9ae70973871811dbf891c350c11a6ad..c45e0aec60672022cf83e7dde148616a56921354 100644 (file)
@@ -44,6 +44,4 @@ typedef struct smb_share_s {
        struct smb_share_s *next;
 } smb_share_t;
 
-extern smb_share_t *smb_shares;
-
 void libshare_smb_init(void);
index 5d06b163a3babd0b6411a442bd223c9f2247b919..0395c2815464d1cf5ba2827d1f72367e2c0babe9 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _LIBSPL_LIBSHARE_H
 #define        _LIBSPL_LIBSHARE_H extern __attribute__((visibility("default")))
 
+#include <sys/types.h>
+
 /* API Initialization */
 #define        SA_INIT_SHARE_API       0x0001  /* init share specific interface */
 #define        SA_INIT_CONTROL_API     0x0002  /* init control specific interface */