/* For path name based fid we don't block. So we can directly call the fs driver ops.  */
int v9fs_co_name_to_path(V9fsPDU *pdu, V9fsPath *dirpath, const char *name, V9fsPath *path)
/* For path name based fid we don't block. So we can directly call the fs driver ops.  */
int v9fs_co_name_to_path(V9fsPDU *pdu, V9fsPath *dirpath, const char *name, V9fsPath *path)
{
    int err;
    V9fsState *s = pdu->s;
    if (s->ctx.export_flags & V9FS_PATHNAME_FSCONTEXT) {
        err = s->ops->name_to_path(&s->ctx, dirpath, name, path);
        if (err < 0) {
            err = -errno;
        }
    } else {
        if (v9fs_request_cancelled(pdu)) {
            return -EINTR;
        }
        v9fs_co_run_in_worker(
            {
                err = s->ops->name_to_path(&s->ctx, dirpath, name, path);
                if (err < 0) {
                    err = -errno;
                }
            });
    }
    return err;
}