Lines Matching refs:clnt
69 p9_is_proto_dotl(struct p9_client *clnt) in p9_is_proto_dotl() argument
72 return (clnt->proto_version == p9_proto_2000L); in p9_is_proto_dotl()
76 p9_is_proto_dotu(struct p9_client *clnt) in p9_is_proto_dotu() argument
79 return (clnt->proto_version == p9_proto_2000u); in p9_is_proto_dotu()
84 p9_parse_opts(struct mount *mp, struct p9_client *clnt) in p9_parse_opts() argument
97 clnt->proto_version = p9_proto_2000L; in p9_parse_opts()
98 clnt->msize = 8192; in p9_parse_opts()
101 clnt->ops = p9_get_trans_by_name(trans); in p9_parse_opts()
133 p9_free_req(struct p9_client *clnt, struct p9_req_t *req) in p9_free_req() argument
138 p9_tag_destroy(clnt, req->tc->tag); in p9_free_req()
150 p9_get_request(struct p9_client *clnt, int *error) in p9_get_request() argument
162 tag = p9_tag_create(clnt); in p9_get_request()
166 p9_free_req(clnt, req); in p9_get_request()
175 p9_parse_receive(struct p9_buffer *buf, struct p9_client *clnt) in p9_parse_receive() argument
263 void p9_client_disconnect(struct p9_client *clnt) in p9_client_disconnect() argument
266 P9_DEBUG(TRANS, "%s: clnt %p\n", __func__, clnt); in p9_client_disconnect()
267 clnt->trans_status = P9FS_DISCONNECT; in p9_client_disconnect()
270 void p9_client_begin_disconnect(struct p9_client *clnt) in p9_client_begin_disconnect() argument
273 P9_DEBUG(TRANS, "%s: clnt %p\n", __func__, clnt); in p9_client_begin_disconnect()
274 clnt->trans_status = P9FS_BEGIN_DISCONNECT; in p9_client_begin_disconnect()
381 p9_tag_create(struct p9_client *clnt) in p9_tag_create() argument
385 tag = alloc_unr(&clnt->tagpool); in p9_tag_create()
386 P9_DEBUG(LPROTO, "%s: clnt %p: tag %d\n", __func__, clnt, tag); in p9_tag_create()
397 p9_tag_destroy(struct p9_client *clnt, uint16_t tag) in p9_tag_destroy() argument
400 P9_DEBUG(LPROTO, "%s: clnt %p: tag %d\n", __func__, clnt, tag); in p9_tag_destroy()
403 free_unr(&clnt->tagpool, tag); in p9_tag_destroy()
408 p9_fid_create(struct p9_client *clnt) in p9_fid_create() argument
414 fid->fid = alloc_unr(&clnt->fidpool); in p9_fid_create()
424 fid->clnt = clnt; in p9_fid_create()
433 struct p9_client *clnt; in p9_fid_destroy() local
436 clnt = fid->clnt; in p9_fid_destroy()
438 free_unr(&clnt->fidpool, fid->fid); in p9_fid_destroy()
539 struct p9_client *clnt; in p9_client_create() local
541 clnt = malloc(sizeof(struct p9_client), M_P9CLNT, M_WAITOK | M_ZERO); in p9_client_create()
542 mtx_init(&clnt->clnt_mtx, "p9clnt", NULL, MTX_DEF); in p9_client_create()
545 *error = p9_parse_opts(mp, clnt); in p9_client_create()
549 if (clnt->ops == NULL) { in p9_client_create()
556 init_unrhdr(&clnt->fidpool, P9FS_ROOT_FID_NO, P9FS_MAX_FID_CNT, in p9_client_create()
557 &clnt->clnt_mtx); in p9_client_create()
558 init_unrhdr(&clnt->tagpool, P9FS_MIN_TAG, P9FS_MAX_TAG, in p9_client_create()
559 &clnt->clnt_mtx); in p9_client_create()
562 __func__, clnt, clnt->ops, clnt->msize, clnt->proto_version); in p9_client_create()
564 *error = clnt->ops->create(mount_tag, &clnt->handle); in p9_client_create()
570 clnt->trans_status = P9FS_CONNECT; in p9_client_create()
572 *error = p9_client_version(clnt); in p9_client_create()
577 return (clnt); in p9_client_create()
579 free(clnt, M_P9CLNT); in p9_client_create()
585 p9_client_destroy(struct p9_client *clnt) in p9_client_destroy() argument
588 P9_DEBUG(TRANS, "%s: client %p\n", __func__, clnt); in p9_client_destroy()
589 clnt->ops->close(clnt->handle); in p9_client_destroy()
592 clear_unrhdr(&clnt->fidpool); in p9_client_destroy()
595 clear_unrhdr(&clnt->tagpool); in p9_client_destroy()
597 free(clnt, M_P9CLNT); in p9_client_destroy()
605 p9_client_attach(struct p9_client *clnt, struct p9_fid *afid, in p9_client_attach() argument
614 fid = p9_fid_create(clnt); in p9_client_attach()
621 req = p9_client_request(clnt, P9PROTO_TATTACH, error, "ddssd", fid->fid, in p9_client_attach()
626 *error = p9_buf_readf(req->rc, clnt->proto_version, "Q", &qid); in p9_client_attach()
637 p9_free_req(clnt, req); in p9_client_attach()
642 p9_free_req(clnt, req); in p9_client_attach()
654 struct p9_client *clnt; in p9_client_remove() local
660 clnt = fid->clnt; in p9_client_remove()
662 req = p9_client_request(clnt, P9PROTO_TREMOVE, &error, "d", fid->fid); in p9_client_remove()
668 p9_free_req(clnt, req); in p9_client_remove()
676 struct p9_client *clnt; in p9_client_unlink() local
680 clnt = dfid->clnt; in p9_client_unlink()
682 req = p9_client_request(clnt, P9PROTO_TUNLINKAT, &error, "dsd", in p9_client_unlink()
689 p9_free_req(clnt, req); in p9_client_unlink()
701 struct p9_client *clnt; in p9_client_clunk() local
713 clnt = fid->clnt; in p9_client_clunk()
714 req = p9_client_request(clnt, P9PROTO_TCLUNK, &error, "d", fid->fid); in p9_client_clunk()
717 p9_free_req(clnt, req); in p9_client_clunk()
734 struct p9_client *clnt; in p9_client_walk() local
740 clnt = oldfid->clnt; in p9_client_walk()
749 if (clnt->trans_status != P9FS_CONNECT) { in p9_client_walk()
755 fid = p9_fid_create(clnt); in p9_client_walk()
772 req = p9_client_request(clnt, P9PROTO_TWALK, error, "ddT", oldfid->fid, in p9_client_walk()
780 *error = p9_buf_readf(req->rc, clnt->proto_version, "R", &nwqids, in p9_client_walk()
803 p9_free_req(clnt, req); in p9_client_walk()
808 p9_free_req(clnt, req); in p9_client_walk()
821 struct p9_client *clnt; in p9_client_open() local
825 clnt = fid->clnt; in p9_client_open()
829 p9_is_proto_dotl(clnt) ? "TLOPEN" : "TOPEN", in p9_client_open()
835 if (p9_is_proto_dotl(clnt)) in p9_client_open()
836 req = p9_client_request(clnt, P9PROTO_TLOPEN, &error, "dd", in p9_client_open()
839 req = p9_client_request(clnt, P9PROTO_TOPEN, &error, "db", in p9_client_open()
845 error = p9_buf_readf(req->rc, clnt->proto_version, "Qd", &fid->qid, in p9_client_open()
851 p9_is_proto_dotl(clnt) ? "RLOPEN" : "ROPEN", in p9_client_open()
858 p9_free_req(clnt, req); in p9_client_open()
869 struct p9_client *clnt; in p9_client_readdir() local
878 clnt = fid->clnt; in p9_client_readdir()
880 if (rsize == 0 || rsize > clnt->msize) in p9_client_readdir()
881 rsize = clnt->msize; in p9_client_readdir()
886 req = p9_client_request(clnt, P9PROTO_TREADDIR, &error, "dqd", in p9_client_readdir()
895 error = p9_buf_readf(req->rc, clnt->proto_version, "D", &count, in p9_client_readdir()
900 p9_free_req(clnt, req); in p9_client_readdir()
908 p9_free_req(clnt, req); in p9_client_readdir()
922 struct p9_client *clnt; in p9_client_read() local
927 clnt = fid->clnt; in p9_client_read()
934 if (!rsize || rsize > clnt->msize) in p9_client_read()
935 rsize = clnt->msize; in p9_client_read()
941 req = p9_client_request(clnt, P9PROTO_TREAD, &error, "dqd", fid->fid, in p9_client_read()
948 error = p9_buf_readf(req->rc, clnt->proto_version, "D", &count, in p9_client_read()
971 p9_free_req(clnt, req); in p9_client_read()
974 p9_free_req(clnt, req); in p9_client_read()
988 struct p9_client *clnt; in p9_client_write() local
992 clnt = fid->clnt; in p9_client_write()
1000 if (!rsize || rsize > clnt->msize) in p9_client_write()
1001 rsize = clnt->msize; in p9_client_write()
1012 req = p9_client_request(clnt, P9PROTO_TWRITE, &error, "dqD", fid->fid, in p9_client_write()
1020 error = p9_buf_readf(req->rc, clnt->proto_version, "d", &ret); in p9_client_write()
1039 p9_free_req(clnt, req); in p9_client_write()
1042 p9_free_req(clnt, req); in p9_client_write()
1053 struct p9_client *clnt; in p9_client_file_create() local
1061 clnt = fid->clnt; in p9_client_file_create()
1067 req = p9_client_request(clnt, P9PROTO_TCREATE, &error, "dsdb?s", in p9_client_file_create()
1072 error = p9_buf_readf(req->rc, clnt->proto_version, "Qd", &qid, &mtu); in p9_client_file_create()
1082 p9_free_req(clnt, req); in p9_client_file_create()
1092 struct p9_client *clnt; in p9_client_statfs() local
1095 clnt = fid->clnt; in p9_client_statfs()
1099 req = p9_client_request(clnt, P9PROTO_TSTATFS, &error, "d", fid->fid); in p9_client_statfs()
1104 error = p9_buf_readf(req->rc, clnt->proto_version, "ddqqqqqqd", in p9_client_statfs()
1122 p9_free_req(clnt, req); in p9_client_statfs()
1132 struct p9_client *clnt; in p9_client_renameat() local
1139 clnt = oldfid->clnt; in p9_client_renameat()
1146 req = p9_client_request(clnt, P9PROTO_TRENAMEAT, &error, "dsds", in p9_client_renameat()
1152 p9_free_req(clnt, req); in p9_client_renameat()
1162 struct p9_client *clnt; in p9_create_symlink() local
1166 clnt = fid->clnt; in p9_create_symlink()
1170 req = p9_client_request(clnt, P9PROTO_TSYMLINK, &error, "dssd", in p9_create_symlink()
1176 error = p9_buf_readf(req->rc, clnt->proto_version, "Q", &qid); in p9_create_symlink()
1185 p9_free_req(clnt, req); in p9_create_symlink()
1195 struct p9_client *clnt; in p9_create_hardlink() local
1198 clnt = dfid->clnt; in p9_create_hardlink()
1203 req = p9_client_request(clnt, P9PROTO_TLINK, &error, "dds", dfid->fid, in p9_create_hardlink()
1208 p9_free_req(clnt, req); in p9_create_hardlink()
1217 struct p9_client *clnt; in p9_readlink() local
1221 clnt = fid->clnt; in p9_readlink()
1225 req = p9_client_request(clnt, P9PROTO_TREADLINK, &error, "d", fid->fid); in p9_readlink()
1229 error = p9_buf_readf(req->rc, clnt->proto_version, "s", target); in p9_readlink()
1237 p9_free_req(clnt, req); in p9_readlink()
1247 struct p9_client *clnt; in p9_client_getattr() local
1255 clnt = fid->clnt; in p9_client_getattr()
1256 req = p9_client_request(clnt, P9PROTO_TGETATTR, &err, "dq", fid->fid, in p9_client_getattr()
1263 err = p9_buf_readf(req->rc, clnt->proto_version, "A", stat_dotl); in p9_client_getattr()
1269 p9_free_req(clnt, req); in p9_client_getattr()
1292 p9_free_req(clnt, req); in p9_client_getattr()
1303 struct p9_client *clnt; in p9_client_setattr() local
1317 clnt = fid->clnt; in p9_client_setattr()
1320 req = p9_client_request(clnt, P9PROTO_TSETATTR, &err, "dA", fid->fid, in p9_client_setattr()
1328 p9_free_req(clnt, req); in p9_client_setattr()