static int local_set_xattr(const char *path, FsCred *credp)

{

    int err;



    if (credp->fc_uid != -1) {

        err = setxattr(path, "user.virtfs.uid", &credp->fc_uid, sizeof(uid_t),

                0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_gid != -1) {

        err = setxattr(path, "user.virtfs.gid", &credp->fc_gid, sizeof(gid_t),

                0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_mode != -1) {

        err = setxattr(path, "user.virtfs.mode", &credp->fc_mode,

                sizeof(mode_t), 0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_rdev != -1) {

        err = setxattr(path, "user.virtfs.rdev", &credp->fc_rdev,

                sizeof(dev_t), 0);

        if (err) {

            return err;

        }

    }

    return 0;

}

static int local_set_xattr(const char *path, FsCred *credp)

{

    int err;



    if (credp->fc_uid != -1) {

        err = setxattr(path, "user.virtfs.uid", &credp->fc_uid, sizeof(uid_t),

                0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_gid != -1) {

        err = setxattr(path, "user.virtfs.gid", &credp->fc_gid, sizeof(gid_t),

                0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_mode != -1) {

        err = setxattr(path, "user.virtfs.mode", &credp->fc_mode,

                sizeof(mode_t), 0);

        if (err) {

            return err;

        }

    }

    if (credp->fc_rdev != -1) {

        err = setxattr(path, "user.virtfs.rdev", &credp->fc_rdev,

                sizeof(dev_t), 0);

        if (err) {

            return err;

        }

    }

    return 0;

}

static int FUNC_0(const char *VAR_0, FsCred *VAR_1)

{

    int VAR_2;



    if (VAR_1->fc_uid != -1) {

        VAR_2 = setxattr(VAR_0, "user.virtfs.uid", &VAR_1->fc_uid, sizeof(uid_t),

                0);

        if (VAR_2) {

            return VAR_2;

        }

    }

    if (VAR_1->fc_gid != -1) {

        VAR_2 = setxattr(VAR_0, "user.virtfs.gid", &VAR_1->fc_gid, sizeof(gid_t),

                0);

        if (VAR_2) {

            return VAR_2;

        }

    }

    if (VAR_1->fc_mode != -1) {

        VAR_2 = setxattr(VAR_0, "user.virtfs.mode", &VAR_1->fc_mode,

                sizeof(mode_t), 0);

        if (VAR_2) {

            return VAR_2;

        }

    }

    if (VAR_1->fc_rdev != -1) {

        VAR_2 = setxattr(VAR_0, "user.virtfs.rdev", &VAR_1->fc_rdev,

                sizeof(dev_t), 0);

        if (VAR_2) {

            return VAR_2;

        }

    }

    return 0;

}

static int FUNC_0(const char *VAR_0, FsCred *VAR_1)
{ int VAR_2; if (VAR_1->fc_uid != -1) { VAR_2 = setxattr(VAR_0, "user.virtfs.uid", &VAR_1->fc_uid, sizeof(uid_t),
0); if (VAR_2) { return VAR_2; } } if (VAR_1->fc_gid != -1) { VAR_2 = setxattr(VAR_0, "user.virtfs.gid", &VAR_1->fc_gid, sizeof(gid_t),
0); if (VAR_2) { return VAR_2; } } if (VAR_1->fc_mode != -1) { VAR_2 = setxattr(VAR_0, "user.virtfs.mode", &VAR_1->fc_mode,
sizeof(mode_t), 0); if (VAR_2) { return VAR_2; } } if (VAR_1->fc_rdev != -1) { VAR_2 = setxattr(VAR_0, "user.virtfs.rdev", &VAR_1->fc_rdev,
sizeof(dev_t), 0); if (VAR_2) { return VAR_2; } } return 0; }