diff --git a/lib9p/backend/fs.c b/lib9p/backend/fs.c index f135069..091b970 100644 --- a/lib9p/backend/fs.c +++ b/lib9p/backend/fs.c @@ -398,6 +398,12 @@ fs_create(void *softc, struct l9p_request *req) return; } + if (stat(newname, &st) != 0) { + l9p_respond(req, errno); + return; + } + + generate_qid(&st, &req->lr_resp.rcreate.qid); l9p_respond(req, 0); } @@ -438,6 +444,8 @@ fs_open(void *softc __unused, struct l9p_request *req) } } + generate_qid(&st, &req->lr_resp.ropen.qid); + req->lr_resp.ropen.iounit = conn->lc_max_io_size; l9p_respond(req, 0); }