int v9fs_co_symlink(V9fsState *s, V9fsFidState *fidp,

                    const char *oldpath, const char *newpath, gid_t gid)

{

    int err;

    FsCred cred;



    cred_init(&cred);

    cred.fc_uid = fidp->uid;

    cred.fc_gid = gid;

    cred.fc_mode = 0777;

    v9fs_co_run_in_worker(

        {

            err = s->ops->symlink(&s->ctx, oldpath, newpath, &cred);

            if (err < 0) {

                err = -errno;

            }

        });

    return err;

}

int v9fs_co_symlink(V9fsState *s, V9fsFidState *fidp,

                    const char *oldpath, const char *newpath, gid_t gid)

{

    int err;

    FsCred cred;



    cred_init(&cred);

    cred.fc_uid = fidp->uid;

    cred.fc_gid = gid;

    cred.fc_mode = 0777;

    v9fs_co_run_in_worker(

        {

            err = s->ops->symlink(&s->ctx, oldpath, newpath, &cred);

            if (err < 0) {

                err = -errno;

            }

        });

    return err;

}

int FUNC_0(V9fsState *VAR_0, V9fsFidState *VAR_1,

                    const char *VAR_2, const char *VAR_3, gid_t VAR_4)

{

    int VAR_5;

    FsCred cred;



    cred_init(&cred);

    cred.fc_uid = VAR_1->uid;

    cred.fc_gid = VAR_4;

    cred.fc_mode = 0777;

    v9fs_co_run_in_worker(

        {

            VAR_5 = VAR_0->ops->symlink(&VAR_0->ctx, VAR_2, VAR_3, &cred);

            if (VAR_5 < 0) {

                VAR_5 = -errno;

            }

        });

    return VAR_5;

}

int FUNC_0(V9fsState *VAR_0, V9fsFidState *VAR_1,
const char *VAR_2, const char *VAR_3, gid_t VAR_4)
{ int VAR_5; FsCred cred; cred_init(&cred); cred.fc_uid = VAR_1->uid; cred.fc_gid = VAR_4; cred.fc_mode = 0777; v9fs_co_run_in_worker(
{ VAR_5 = VAR_0->ops->symlink(&VAR_0->ctx, VAR_2, VAR_3, &cred); if (VAR_5 < 0) { VAR_5 = -errno; } }); return VAR_5; }