Remove zfs_ctldir.[ch]
[zfs.git] / module / zfs / zfs_ioctl.c
index 45e118e..593ed74 100644 (file)
@@ -58,7 +58,6 @@
 #include <sys/mount.h>
 #include <sys/sdt.h>
 #include <sys/fs/zfs.h>
-#include <sys/zfs_ctldir.h>
 #include <sys/zfs_dir.h>
 #include <sys/zfs_onexit.h>
 #include <sys/zvol.h>
@@ -592,7 +591,7 @@ zfs_secpolicy_send(zfs_cmd_t *zc, cred_t *cr)
        return (error);
 }
 
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
 static int
 zfs_secpolicy_deleg_share(zfs_cmd_t *zc, cred_t *cr)
 {
@@ -616,12 +615,12 @@ zfs_secpolicy_deleg_share(zfs_cmd_t *zc, cred_t *cr)
        return (dsl_deleg_access(zc->zc_name,
            ZFS_DELEG_PERM_SHARE, cr));
 }
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 
 int
 zfs_secpolicy_share(zfs_cmd_t *zc, cred_t *cr)
 {
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
        if (!INGLOBALZONE(curproc))
                return (EPERM);
 
@@ -632,13 +631,13 @@ zfs_secpolicy_share(zfs_cmd_t *zc, cred_t *cr)
        }
 #else
        return (ENOTSUP);
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 }
 
 int
 zfs_secpolicy_smb_acl(zfs_cmd_t *zc, cred_t *cr)
 {
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
        if (!INGLOBALZONE(curproc))
                return (EPERM);
 
@@ -649,7 +648,7 @@ zfs_secpolicy_smb_acl(zfs_cmd_t *zc, cred_t *cr)
        }
 #else
        return (ENOTSUP);
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 }
 
 static int
@@ -3307,6 +3306,7 @@ static int
 zfs_ioc_rename(zfs_cmd_t *zc)
 {
        boolean_t recursive = zc->zc_cookie & 1;
+       int err;
 
        zc->zc_value[sizeof (zc->zc_value) - 1] = '\0';
        if (dataset_namecheck(zc->zc_value, NULL, NULL) != 0 ||
@@ -3320,13 +3320,18 @@ zfs_ioc_rename(zfs_cmd_t *zc)
         */
        if (!recursive && strchr(zc->zc_name, '@') != NULL &&
            zc->zc_objset_type == DMU_OST_ZFS) {
-               int err = zfs_unmount_snap(zc->zc_name, NULL);
+               err = zfs_unmount_snap(zc->zc_name, NULL);
                if (err)
                        return (err);
        }
-       if (zc->zc_objset_type == DMU_OST_ZVOL)
+
+       err = dmu_objset_rename(zc->zc_name, zc->zc_value, recursive);
+       if ((err == 0) && (zc->zc_objset_type == DMU_OST_ZVOL)) {
                (void) zvol_remove_minor(zc->zc_name);
-       return (dmu_objset_rename(zc->zc_name, zc->zc_value, recursive));
+               (void) zvol_create_minor(zc->zc_value);
+       }
+
+       return (err);
 }
 
 static int
@@ -4199,7 +4204,7 @@ zfs_ioc_userspace_upgrade(zfs_cmd_t *zc)
  * the first file system is shared.
  * Neither sharefs, nfs or smbsrv are unloadable modules.
  */
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
 int (*znfsexport_fs)(void *arg);
 int (*zshare_fs)(enum sharefs_sys_op, share_t *, uint32_t);
 int (*zsmbexport_fs)(void *arg, boolean_t add_share);
@@ -4231,12 +4236,12 @@ zfs_init_sharefs()
        }
        return (0);
 }
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 
 static int
 zfs_ioc_share(zfs_cmd_t *zc)
 {
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
        int error;
        int opcode;
 
@@ -4328,7 +4333,7 @@ zfs_ioc_share(zfs_cmd_t *zc)
        return (error);
 #else
        return (ENOTSUP);
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 }
 
 ace_t full_access[] = {
@@ -4445,7 +4450,7 @@ zfs_ioc_diff(zfs_cmd_t *zc)
 /*
  * Remove all ACL files in shares dir
  */
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
 static int
 zfs_smb_acl_purge(znode_t *dzp)
 {
@@ -4464,12 +4469,12 @@ zfs_smb_acl_purge(znode_t *dzp)
        zap_cursor_fini(&zc);
        return (error);
 }
-#endif /* HAVE ZPL */
+#endif /* HAVE SHARE */
 
 static int
 zfs_ioc_smb_acl(zfs_cmd_t *zc)
 {
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
        vnode_t *vp;
        znode_t *dzp;
        vnode_t *resourcevp = NULL;
@@ -4594,7 +4599,7 @@ zfs_ioc_smb_acl(zfs_cmd_t *zc)
        return (error);
 #else
        return (ENOTSUP);
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 }
 
 /*
@@ -5190,10 +5195,8 @@ zfs_detach(void)
        list_destroy(&zfsdev_state_list);
 }
 
-#ifdef HAVE_ZPL
 uint_t zfs_fsyncer_key;
 extern uint_t rrw_tsd_key;
-#endif
 
 #ifdef DEBUG
 #define ZFS_DEBUG_STR  " (DEBUG mode)"
@@ -5215,12 +5218,12 @@ _init(void)
        if ((error = zfs_attach()) != 0)
                goto out2;
 
-#ifdef HAVE_ZPL
        tsd_create(&zfs_fsyncer_key, NULL);
        tsd_create(&rrw_tsd_key, NULL);
 
+#ifdef HAVE_SHARE
        mutex_init(&zfs_share_lock, NULL, MUTEX_DEFAULT, NULL);
-#endif /* HAVE_ZPL */
+#endif /* HAVE_SHARE */
 
        printk(KERN_NOTICE "ZFS: Loaded ZFS Filesystem v%s%s\n",
               ZFS_META_VERSION, ZFS_DEBUG_STR);
@@ -5245,7 +5248,7 @@ _fini(void)
        zvol_fini();
        zfs_fini();
        spa_fini();
-#ifdef HAVE_ZPL
+#ifdef HAVE_SHARE
        if (zfs_nfsshare_inited)
                (void) ddi_modclose(nfs_mod);
        if (zfs_smbshare_inited)
@@ -5254,8 +5257,9 @@ _fini(void)
                (void) ddi_modclose(sharefs_mod);
 
        mutex_destroy(&zfs_share_lock);
+#endif /* HAVE_SHARE */
        tsd_destroy(&zfs_fsyncer_key);
-#endif /* HAVE_ZPL */
+       tsd_destroy(&rrw_tsd_key);
 
        printk(KERN_NOTICE "ZFS: Unloaded ZFS Filesystem v%s%s\n",
               ZFS_META_VERSION, ZFS_DEBUG_STR);