# Buggy code
def symlink_list(self, load):
    """
    Return a list of symlinked files and dirs
    """
    if "env" in load:
        salt.utils.warn_until(
            "Boron",
            "Passing a salt environment should be done using 'saltenv' "
            "not 'env'. This functionality will be removed in Salt "
            "Boron.",
        )
        load["saltenv"] = load.pop("env")

    ret = {}
    if "saltenv" not in load:
        return {}
    for fsb in self._gen_back(load.pop("fsbackend", None)):
        symlstr = "{0}.symlink_list".format(fsb)
        if symlstr in self.servers:
            ret = self.servers[symlstr](load)
    # upgrade all set elements to a common encoding
    ret = dict(
        [
            (salt.utils.locales.sdecode(x), salt.utils.locales.sdecode(y))
            for x, y in ret.items()
        ]
    )
    # some *fs do not handle prefix. Ensure it is filtered
    prefix = load.get("prefix", "").strip("/")
    if prefix != "":
        ret = dict([(x, y) for x, y in six.iteritems(ret) if x.startswith(prefix)])
    return ret


# Traceback (AttributeError)
# salt-run fileserver.file_list saltenv=1.0
Exception occurred in runner fileserver.file_list: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/salt/client/mixins.py", line 337, in low
data['return'] = self.functions[fun](*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/salt/runners/fileserver.py", line 83, in file_list
output = fileserver.file_list(load=load)
File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 555, in file_list
ret.update(self.servers[fstr](load))
File "/usr/lib/python2.7/dist-packages/salt/fileserver/gitfs.py", line 180, in file_list
return gitfs.file_list(load)
File "/usr/lib/python2.7/dist-packages/salt/utils/gitfs.py", line 2255, in file_list
return self._file_lists(load, 'files')
File "/usr/lib/python2.7/dist-packages/salt/utils/gitfs.py", line 2216, in _file_lists
'{0}.p'.format(load['saltenv'].replace(os.path.sep, '_|-'))
AttributeError: 'float' object has no attribute 'replace'

# Fixed code
def symlink_list(self, load):
    """
    Return a list of symlinked files and dirs
    """
    if "env" in load:
        salt.utils.warn_until(
            "Boron",
            "Passing a salt environment should be done using 'saltenv' "
            "not 'env'. This functionality will be removed in Salt "
            "Boron.",
        )
        load["saltenv"] = load.pop("env")

    ret = {}
    if "saltenv" not in load:
        return {}
    if not isinstance(load["saltenv"], six.string_types):
        load["saltenv"] = six.text_type(load["saltenv"])

    for fsb in self._gen_back(load.pop("fsbackend", None)):
        symlstr = "{0}.symlink_list".format(fsb)
        if symlstr in self.servers:
            ret = self.servers[symlstr](load)
    # upgrade all set elements to a common encoding
    ret = dict(
        [
            (salt.utils.locales.sdecode(x), salt.utils.locales.sdecode(y))
            for x, y in ret.items()
        ]
    )
    # some *fs do not handle prefix. Ensure it is filtered
    prefix = load.get("prefix", "").strip("/")
    if prefix != "":
        ret = dict([(x, y) for x, y in six.iteritems(ret) if x.startswith(prefix)])
    return ret