Lines Matching full:req
51 static int l9p_dispatch_tversion(struct l9p_request *req);
52 static int l9p_dispatch_tattach(struct l9p_request *req);
53 static int l9p_dispatch_tclunk(struct l9p_request *req);
54 static int l9p_dispatch_tcreate(struct l9p_request *req);
55 static int l9p_dispatch_topen(struct l9p_request *req);
56 static int l9p_dispatch_tread(struct l9p_request *req);
57 static int l9p_dispatch_tremove(struct l9p_request *req);
58 static int l9p_dispatch_tstat(struct l9p_request *req);
59 static int l9p_dispatch_twalk(struct l9p_request *req);
60 static int l9p_dispatch_twrite(struct l9p_request *req);
61 static int l9p_dispatch_twstat(struct l9p_request *req);
62 static int l9p_dispatch_tstatfs(struct l9p_request *req);
63 static int l9p_dispatch_tlopen(struct l9p_request *req);
64 static int l9p_dispatch_tlcreate(struct l9p_request *req);
65 static int l9p_dispatch_tsymlink(struct l9p_request *req);
66 static int l9p_dispatch_tmknod(struct l9p_request *req);
67 static int l9p_dispatch_trename(struct l9p_request *req);
68 static int l9p_dispatch_treadlink(struct l9p_request *req);
69 static int l9p_dispatch_tgetattr(struct l9p_request *req);
70 static int l9p_dispatch_tsetattr(struct l9p_request *req);
71 static int l9p_dispatch_txattrwalk(struct l9p_request *req);
72 static int l9p_dispatch_txattrcreate(struct l9p_request *req);
73 static int l9p_dispatch_treaddir(struct l9p_request *req);
74 static int l9p_dispatch_tfsync(struct l9p_request *req);
75 static int l9p_dispatch_tlock(struct l9p_request *req);
76 static int l9p_dispatch_tgetlock(struct l9p_request *req);
77 static int l9p_dispatch_tlink(struct l9p_request *req);
78 static int l9p_dispatch_tmkdir(struct l9p_request *req);
79 static int l9p_dispatch_trenameat(struct l9p_request *req);
80 static int l9p_dispatch_tunlinkat(struct l9p_request *req);
190 l9p_dispatch_request(struct l9p_request *req) in l9p_dispatch_request() argument
200 conn = req->lr_conn; in l9p_dispatch_request()
201 flush_requested = req->lr_flushstate == L9P_FLUSH_REQUESTED_PRE_START; in l9p_dispatch_request()
206 if (req->lr_req.hdr.type == hp->type) in l9p_dispatch_request()
219 l9p_describe_fcall(&req->lr_req, conn->lc_version, sb); in l9p_dispatch_request()
228 return (hp->handler(req)); in l9p_dispatch_request()
233 req->lr_req.hdr.type); in l9p_dispatch_request()
361 l9p_respond(struct l9p_request *req, bool drop, bool rmtag) in l9p_respond() argument
363 struct l9p_connection *conn = req->lr_conn; in l9p_respond()
371 req->lr_resp.hdr.tag = req->lr_req.hdr.tag; in l9p_respond()
373 error = req->lr_error; in l9p_respond()
375 req->lr_resp.hdr.type = req->lr_req.hdr.type + 1; in l9p_respond()
378 req->lr_resp.hdr.type = L9P_RLERROR; in l9p_respond()
379 req->lr_resp.error.errnum = (uint32_t)e2linux(error); in l9p_respond()
381 req->lr_resp.hdr.type = L9P_RERROR; in l9p_respond()
382 req->lr_resp.error.ename = strerror(error); in l9p_respond()
383 req->lr_resp.error.errnum = (uint32_t)e29p(error); in l9p_respond()
389 l9p_describe_fcall(&req->lr_resp, conn->lc_version, sb); in l9p_respond()
392 switch (req->lr_flushstate) { in l9p_respond()
412 l9p_pufcall(&req->lr_resp_msg, &req->lr_resp, conn->lc_version); in l9p_respond()
414 ht_remove(&conn->lc_requests, req->lr_req.hdr.tag); in l9p_respond()
421 conn->lc_lt.lt_drop_response(req, in l9p_respond()
422 req->lr_resp_msg.lm_iov, req->lr_resp_msg.lm_niov, in l9p_respond()
425 iosize = req->lr_resp_msg.lm_size; in l9p_respond()
431 if (req->lr_resp.hdr.type == L9P_RREAD || in l9p_respond()
432 req->lr_resp.hdr.type == L9P_RREADDIR) in l9p_respond()
433 iosize += req->lr_resp.io.count; in l9p_respond()
435 conn->lc_lt.lt_send_response(req, in l9p_respond()
436 req->lr_resp_msg.lm_iov, req->lr_resp_msg.lm_niov, in l9p_respond()
440 l9p_freefcall(&req->lr_req); in l9p_respond()
441 l9p_freefcall(&req->lr_resp); in l9p_respond()
443 free(req); in l9p_respond()
459 l9p_init_msg(struct l9p_message *msg, struct l9p_request *req, in l9p_init_msg() argument
467 msg->lm_niov = req->lr_data_niov; in l9p_init_msg()
468 memcpy(msg->lm_iov, req->lr_data_iov, in l9p_init_msg()
469 sizeof (struct iovec) * req->lr_data_niov); in l9p_init_msg()
555 l9p_pack_stat(struct l9p_message *msg, struct l9p_request *req, in l9p_pack_stat() argument
558 struct l9p_connection *conn = req->lr_conn; in l9p_pack_stat()
564 if (req->lr_resp.io.count + size > req->lr_req.io.count || in l9p_pack_stat()
568 req->lr_resp.io.count += size; in l9p_pack_stat()
574 l9p_dispatch_tversion(struct l9p_request *req) in l9p_dispatch_tversion() argument
576 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tversion()
583 if (strcmp(req->lr_req.version.version, in l9p_dispatch_tversion()
592 req->lr_req.version.version); in l9p_dispatch_tversion()
602 conn->lc_msize = MIN(req->lr_req.version.msize, conn->lc_msize); in l9p_dispatch_tversion()
604 req->lr_resp.version.version = strdup(remote_version_name); in l9p_dispatch_tversion()
605 req->lr_resp.version.msize = conn->lc_msize; in l9p_dispatch_tversion()
610 l9p_dispatch_tattach(struct l9p_request *req) in l9p_dispatch_tattach() argument
612 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tattach()
624 if (req->lr_req.tattach.afid != L9P_NOFID) { in l9p_dispatch_tattach()
625 error = fid_lookup(conn, req->lr_req.tattach.afid, EINVAL, in l9p_dispatch_tattach()
626 F_REQUIRE_AUTH, &req->lr_fid2); in l9p_dispatch_tattach()
630 req->lr_fid2 = NULL; in l9p_dispatch_tattach()
632 fid = l9p_connection_alloc_fid(conn, req->lr_req.hdr.fid); in l9p_dispatch_tattach()
638 req->lr_fid = fid; in l9p_dispatch_tattach()
642 req->lr_req.tattach.n_uname = L9P_NONUNAME; in l9p_dispatch_tattach()
643 error = be->attach(be->softc, req); in l9p_dispatch_tattach()
651 if (req->lr_resp.rattach.qid.type & L9P_QTDIR) in l9p_dispatch_tattach()
659 l9p_dispatch_tclunk(struct l9p_request *req) in l9p_dispatch_tclunk() argument
661 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tclunk()
667 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tclunk()
695 l9p_dispatch_tcreate(struct l9p_request *req) in l9p_dispatch_tcreate() argument
697 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tcreate()
703 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, in l9p_dispatch_tcreate()
704 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tcreate()
709 dmperm = req->lr_req.tcreate.perm; in l9p_dispatch_tcreate()
717 * - add async file-create (leaves req->lr_fid in limbo) in l9p_dispatch_tcreate()
721 error = be->create(be->softc, req); in l9p_dispatch_tcreate()
723 l9p_fid_unsetdir(req->lr_fid); in l9p_dispatch_tcreate()
724 l9p_fid_setopen(req->lr_fid); in l9p_dispatch_tcreate()
731 l9p_dispatch_topen(struct l9p_request *req) in l9p_dispatch_topen() argument
733 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_topen()
737 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_topen()
738 F_FORBID_OPEN | F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_topen()
746 * - add async open (leaves req->lr_fid in limbo) in l9p_dispatch_topen()
748 error = be->open(be->softc, req); in l9p_dispatch_topen()
750 l9p_fid_setopen(req->lr_fid); in l9p_dispatch_topen()
755 l9p_dispatch_tread(struct l9p_request *req) in l9p_dispatch_tread() argument
757 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tread()
763 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, 0, &req->lr_fid); in l9p_dispatch_tread()
773 l9p_seek_iov(req->lr_resp_msg.lm_iov, req->lr_resp_msg.lm_niov, in l9p_dispatch_tread()
774 req->lr_data_iov, &req->lr_data_niov, 11); in l9p_dispatch_tread()
786 fid = req->lr_fid; in l9p_dispatch_tread()
788 error = be->xattrread(be->softc, req); in l9p_dispatch_tread()
790 error = be->read(be->softc, req); in l9p_dispatch_tread()
799 l9p_dispatch_tremove(struct l9p_request *req) in l9p_dispatch_tremove() argument
801 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tremove()
810 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, 0, &fid); in l9p_dispatch_tremove()
824 l9p_dispatch_tstat(struct l9p_request *req) in l9p_dispatch_tstat() argument
826 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tstat()
832 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tstat()
838 req->lr_fid = fid; in l9p_dispatch_tstat()
839 error = be->stat(be->softc, req); in l9p_dispatch_tstat()
843 req->lr_resp.rstat.stat.qid.type |= L9P_QTAUTH; in l9p_dispatch_tstat()
845 /* should we check req->lr_resp.rstat.qid.type L9P_QTDIR bit? */ in l9p_dispatch_tstat()
846 if (req->lr_resp.rstat.stat.qid.type &= L9P_QTDIR) in l9p_dispatch_tstat()
856 l9p_dispatch_twalk(struct l9p_request *req) in l9p_dispatch_twalk() argument
858 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_twalk()
865 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_twalk()
870 if (req->lr_req.twalk.hdr.fid != req->lr_req.twalk.newfid) { in l9p_dispatch_twalk()
872 req->lr_req.twalk.newfid); in l9p_dispatch_twalk()
879 req->lr_fid = fid; in l9p_dispatch_twalk()
880 req->lr_newfid = newfid; in l9p_dispatch_twalk()
881 error = be->walk(be->softc, req); in l9p_dispatch_twalk()
904 n = req->lr_resp.rwalk.nwqid; in l9p_dispatch_twalk()
906 if (req->lr_resp.rwalk.wqid[n - 1].type & L9P_QTDIR) in l9p_dispatch_twalk()
917 l9p_dispatch_twrite(struct l9p_request *req) in l9p_dispatch_twrite() argument
919 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_twrite()
925 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, in l9p_dispatch_twrite()
926 F_FORBID_DIR, &req->lr_fid); in l9p_dispatch_twrite()
937 l9p_seek_iov(req->lr_req_msg.lm_iov, req->lr_req_msg.lm_niov, in l9p_dispatch_twrite()
938 req->lr_data_iov, &req->lr_data_niov, 23); in l9p_dispatch_twrite()
947 fid = req->lr_fid; in l9p_dispatch_twrite()
950 be->xattrwrite(be->softc, req) : ENOSYS; in l9p_dispatch_twrite()
953 be->write(be->softc, req) : ENOSYS; in l9p_dispatch_twrite()
962 l9p_dispatch_twstat(struct l9p_request *req) in l9p_dispatch_twstat() argument
964 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_twstat()
968 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, in l9p_dispatch_twstat()
969 F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_twstat()
974 error = be->wstat != NULL ? be->wstat(be->softc, req) : ENOSYS; in l9p_dispatch_twstat()
979 l9p_dispatch_tstatfs(struct l9p_request *req) in l9p_dispatch_tstatfs() argument
981 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tstatfs()
986 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, 0, &req->lr_fid); in l9p_dispatch_tstatfs()
991 error = be->statfs(be->softc, req); in l9p_dispatch_tstatfs()
996 l9p_dispatch_tlopen(struct l9p_request *req) in l9p_dispatch_tlopen() argument
998 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tlopen()
1002 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tlopen()
1003 F_FORBID_OPEN | F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_tlopen()
1011 * - add async open (leaves req->lr_fid in limbo) in l9p_dispatch_tlopen()
1013 error = be->lopen != NULL ? be->lopen(be->softc, req) : ENOSYS; in l9p_dispatch_tlopen()
1015 l9p_fid_setopen(req->lr_fid); in l9p_dispatch_tlopen()
1020 l9p_dispatch_tlcreate(struct l9p_request *req) in l9p_dispatch_tlcreate() argument
1022 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tlcreate()
1026 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tlcreate()
1027 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tlcreate()
1036 * - add async create (leaves req->lr_fid in limbo) in l9p_dispatch_tlcreate()
1038 error = be->lcreate != NULL ? be->lcreate(be->softc, req) : ENOSYS; in l9p_dispatch_tlcreate()
1040 l9p_fid_unsetdir(req->lr_fid); in l9p_dispatch_tlcreate()
1041 l9p_fid_setopen(req->lr_fid); in l9p_dispatch_tlcreate()
1047 l9p_dispatch_tsymlink(struct l9p_request *req) in l9p_dispatch_tsymlink() argument
1049 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tsymlink()
1054 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tsymlink()
1055 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tsymlink()
1065 error = be->symlink != NULL ? be->symlink(be->softc, req) : ENOSYS; in l9p_dispatch_tsymlink()
1070 l9p_dispatch_tmknod(struct l9p_request *req) in l9p_dispatch_tmknod() argument
1072 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tmknod()
1077 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tmknod()
1078 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tmknod()
1088 error = be->mknod != NULL ? be->mknod(be->softc, req) : ENOSYS; in l9p_dispatch_tmknod()
1093 l9p_dispatch_trename(struct l9p_request *req) in l9p_dispatch_trename() argument
1095 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_trename()
1100 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_trename()
1101 F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_trename()
1106 error = fid_lookup(conn, req->lr_req.trename.dfid, ENOENT, in l9p_dispatch_trename()
1107 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid2); in l9p_dispatch_trename()
1117 error = be->rename != NULL ? be->rename(be->softc, req) : ENOSYS; in l9p_dispatch_trename()
1122 l9p_dispatch_treadlink(struct l9p_request *req) in l9p_dispatch_treadlink() argument
1124 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_treadlink()
1133 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_treadlink()
1134 F_FORBID_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_treadlink()
1140 error = be->readlink != NULL ? be->readlink(be->softc, req) : ENOSYS; in l9p_dispatch_treadlink()
1145 l9p_dispatch_tgetattr(struct l9p_request *req) in l9p_dispatch_tgetattr() argument
1147 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tgetattr()
1151 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tgetattr()
1152 F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_tgetattr()
1158 error = be->getattr != NULL ? be->getattr(be->softc, req) : ENOSYS; in l9p_dispatch_tgetattr()
1163 l9p_dispatch_tsetattr(struct l9p_request *req) in l9p_dispatch_tsetattr() argument
1165 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tsetattr()
1169 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tsetattr()
1170 F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_tsetattr()
1176 error = be->setattr != NULL ? be->setattr(be->softc, req) : ENOSYS; in l9p_dispatch_tsetattr()
1181 l9p_dispatch_txattrwalk(struct l9p_request *req) in l9p_dispatch_txattrwalk() argument
1183 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_txattrwalk()
1195 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_txattrwalk()
1200 newfid = l9p_connection_alloc_fid(conn, req->lr_req.txattrwalk.newfid); in l9p_dispatch_txattrwalk()
1206 req->lr_fid = fid; in l9p_dispatch_txattrwalk()
1207 req->lr_newfid = newfid; in l9p_dispatch_txattrwalk()
1208 error = be->xattrwalk != NULL ? be->xattrwalk(be->softc, req) : ENOSYS; in l9p_dispatch_txattrwalk()
1225 l9p_dispatch_txattrcreate(struct l9p_request *req) in l9p_dispatch_txattrcreate() argument
1227 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_txattrcreate()
1240 error = fid_lookup(conn, req->lr_req.hdr.fid, EINVAL, in l9p_dispatch_txattrcreate()
1247 req->lr_fid = fid; in l9p_dispatch_txattrcreate()
1248 error = be->xattrcreate != NULL ? be->xattrcreate(be->softc, req) : in l9p_dispatch_txattrcreate()
1263 l9p_dispatch_treaddir(struct l9p_request *req) in l9p_dispatch_treaddir() argument
1265 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_treaddir()
1269 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_treaddir()
1270 F_REQUIRE_DIR | F_REQUIRE_OPEN, &req->lr_fid); in l9p_dispatch_treaddir()
1280 l9p_seek_iov(req->lr_resp_msg.lm_iov, req->lr_resp_msg.lm_niov, in l9p_dispatch_treaddir()
1281 req->lr_data_iov, &req->lr_data_niov, 11); in l9p_dispatch_treaddir()
1285 error = be->readdir != NULL ? be->readdir(be->softc, req) : ENOSYS; in l9p_dispatch_treaddir()
1290 l9p_dispatch_tfsync(struct l9p_request *req) in l9p_dispatch_tfsync() argument
1292 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tfsync()
1296 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tfsync()
1297 F_REQUIRE_OPEN, &req->lr_fid); in l9p_dispatch_tfsync()
1303 error = be->fsync != NULL ? be->fsync(be->softc, req) : ENOSYS; in l9p_dispatch_tfsync()
1308 l9p_dispatch_tlock(struct l9p_request *req) in l9p_dispatch_tlock() argument
1310 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tlock()
1315 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tlock()
1316 F_REQUIRE_OPEN, &req->lr_fid); in l9p_dispatch_tlock()
1325 error = be->lock != NULL ? be->lock(be->softc, req) : ENOSYS; in l9p_dispatch_tlock()
1330 l9p_dispatch_tgetlock(struct l9p_request *req) in l9p_dispatch_tgetlock() argument
1332 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tgetlock()
1336 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tgetlock()
1337 F_REQUIRE_OPEN, &req->lr_fid); in l9p_dispatch_tgetlock()
1346 error = be->getlock != NULL ? be->getlock(be->softc, req) : ENOSYS; in l9p_dispatch_tgetlock()
1351 l9p_dispatch_tlink(struct l9p_request *req) in l9p_dispatch_tlink() argument
1353 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tlink()
1362 error = fid_lookup(conn, req->lr_req.tlink.dfid, ENOENT, in l9p_dispatch_tlink()
1363 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid2); in l9p_dispatch_tlink()
1367 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tlink()
1368 F_FORBID_DIR | F_FORBID_XATTR, &req->lr_fid); in l9p_dispatch_tlink()
1374 error = be->link != NULL ? be->link(be->softc, req) : ENOSYS; in l9p_dispatch_tlink()
1379 l9p_dispatch_tmkdir(struct l9p_request *req) in l9p_dispatch_tmkdir() argument
1381 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tmkdir()
1385 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tmkdir()
1386 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tmkdir()
1391 if (strchr(req->lr_req.tlcreate.name, '/') != NULL) in l9p_dispatch_tmkdir()
1395 error = be->mkdir != NULL ? be->mkdir(be->softc, req) : ENOSYS; in l9p_dispatch_tmkdir()
1400 l9p_dispatch_trenameat(struct l9p_request *req) in l9p_dispatch_trenameat() argument
1402 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_trenameat()
1406 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_trenameat()
1407 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_trenameat()
1411 error = fid_lookup(conn, req->lr_req.trenameat.newdirfid, ENOENT, in l9p_dispatch_trenameat()
1412 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid2); in l9p_dispatch_trenameat()
1419 error = be->renameat != NULL ? be->renameat(be->softc, req) : ENOSYS; in l9p_dispatch_trenameat()
1424 l9p_dispatch_tunlinkat(struct l9p_request *req) in l9p_dispatch_tunlinkat() argument
1426 struct l9p_connection *conn = req->lr_conn; in l9p_dispatch_tunlinkat()
1430 error = fid_lookup(conn, req->lr_req.hdr.fid, ENOENT, in l9p_dispatch_tunlinkat()
1431 F_REQUIRE_DIR | F_FORBID_OPEN, &req->lr_fid); in l9p_dispatch_tunlinkat()
1438 error = be->unlinkat != NULL ? be->unlinkat(be->softc, req) : ENOSYS; in l9p_dispatch_tunlinkat()