tests/9pfs: Factor out do_version() helper

fs_version() is a top level test function. Factor out the reusable
code to a separate helper instead of hijacking it in other tests.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321015403.266767.4533967728943968456.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
This commit is contained in:
Greg Kurz 2020-10-20 18:09:14 +02:00 committed by Christian Schoenebeck
parent 603cc76a60
commit 1c450e6efe

View file

@ -567,10 +567,8 @@ static void v9fs_rflush(P9Req *req)
v9fs_req_free(req);
}
static void fs_version(void *obj, void *data, QGuestAllocator *t_alloc)
static void do_version(QVirtio9P *v9p)
{
QVirtio9P *v9p = obj;
alloc = t_alloc;
const char *version = "9P2000.L";
uint16_t server_len;
char *server_version;
@ -585,13 +583,19 @@ static void fs_version(void *obj, void *data, QGuestAllocator *t_alloc)
g_free(server_version);
}
static void fs_version(void *obj, void *data, QGuestAllocator *t_alloc)
{
alloc = t_alloc;
do_version(obj);
}
static void fs_attach(void *obj, void *data, QGuestAllocator *t_alloc)
{
QVirtio9P *v9p = obj;
alloc = t_alloc;
P9Req *req;
fs_version(v9p, NULL, t_alloc);
do_version(v9p);
req = v9fs_tattach(v9p, 0, getuid(), 0);
v9fs_req_wait_for_reply(req, NULL);
v9fs_rattach(req, NULL);
@ -831,7 +835,7 @@ static void fs_walk_dotdot(void *obj, void *data, QGuestAllocator *t_alloc)
v9fs_qid root_qid, *wqid;
P9Req *req;
fs_version(v9p, NULL, t_alloc);
do_version(v9p);
req = v9fs_tattach(v9p, 0, getuid(), 0);
v9fs_req_wait_for_reply(req, NULL);
v9fs_rattach(req, &root_qid);