def mount(name=None, **kwargs):
    '''
    Mounts ZFS file systems

    name : string
        name of the filesystem, having this set to None will mount all filesystems. (this is the default)
    overlay : boolean
        perform an overlay mount.
    options : string
        optional comma-separated list of mount options to use temporarily for
        the duration of the mount.

    .. versionadded:: 2016.3.0
    .. versionchanged:: 2018.3.1

    .. warning::

            Passing '-a' as name is deprecated and will be removed in Sodium.

    CLI Example:

    .. code-block:: bash

        salt '*' zfs.mount
        salt '*' zfs.mount myzpool/mydataset
        salt '*' zfs.mount myzpool/mydataset options=ro

    '''
    ## Configure command
    # NOTE: initialize the defaults
    flags = []
    opts = {}

    # NOTE: set extra config from kwargs
    if kwargs.get('overlay', False):
        flags.append('-O')
    if kwargs.get('options', False):
        opts['-o'] = kwargs.get('options')
    if name in [None, '-a']:
        # NOTE: the new way to mount all filesystems is to have name
        #       set to ```None```. We still accept the old '-a' until
        #       Sodium. After Sodium we can update the if statement
        #       to ```if not name:```
        if name == '-a':
            salt.utils.versions.warn_until(
                'Sodium',
                'Passing \'-a\' as name is deprecated as of Salt 2019.2.0. This '
                'warning will be removed in Salt Sodium. Please pass name as '
                '\'None\' instead to mount all filesystems.')
        flags.append('-a')
        name = None

    ## Mount filesystem
    res = __salt__['cmd.run_all'](
        __utils__['zfs.zfs_command'](
            command='mount',
            flags=flags,
            opts=opts,
            target=name,
        ),
        python_shell=False,
    )

    return __utils__['zfs.parse_command_result'](res, 'mounted')
Mounts ZFS file systems

    name : string
        name of the filesystem, having this set to None will mount all filesystems. (this is the default)
    overlay : boolean
        perform an overlay mount.
    options : string
        optional comma-separated list of mount options to use temporarily for
        the duration of the mount.

    .. versionadded:: 2016.3.0
    .. versionchanged:: 2018.3.1

    .. warning::

            Passing '-a' as name is deprecated and will be removed in Sodium.

    CLI Example:

    .. code-block:: bash

        salt '*' zfs.mount
        salt '*' zfs.mount myzpool/mydataset
        salt '*' zfs.mount myzpool/mydataset options=ro