[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 07/11] tests/virtio-9p: failing splitted readdir test
From: |
Christian Schoenebeck |
Subject: |
[PATCH v3 07/11] tests/virtio-9p: failing splitted readdir test |
Date: |
Tue, 14 Jan 2020 00:13:55 +0100 |
This patch is not intended to be merged. It resembles
an issue (with debug messages) where the splitted
readdir test fails because server is interrupted with
transport error "Failed to decode VirtFS request type 40",
which BTW fails both with the unoptimized and with the
optimized 9p readdir code.
Signed-off-by: Christian Schoenebeck <address@hidden>
---
tests/virtio-9p-test.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/virtio-9p-test.c b/tests/virtio-9p-test.c
index 55bfe41dfd..f5a8a192b5 100644
--- a/tests/virtio-9p-test.c
+++ b/tests/virtio-9p-test.c
@@ -644,13 +644,14 @@ static void fs_readdir_split(void *obj, void *data,
QGuestAllocator *t_alloc)
int fid;
uint64_t offset;
/* the Treaddir 'count' parameter values to be tested */
- const uint32_t vcount[] = { 512, 256 };
+ const uint32_t vcount[] = { 512, 256, 128 };
const int nvcount = sizeof(vcount) / sizeof(uint32_t);
fs_attach(v9p, NULL, t_alloc);
/* iterate over all 'count' parameter values to be tested with Treaddir */
for (subtest = 0; subtest < nvcount; ++subtest) {
+ printf("\nsubtest[%d] with count=%d\n", subtest, vcount[subtest]);
fid = subtest + 1;
offset = 0;
entries = NULL;
@@ -671,12 +672,16 @@ static void fs_readdir_split(void *obj, void *data,
QGuestAllocator *t_alloc)
* entries
*/
while (true) {
+ printf("\toffset=%ld\n", offset);
npartialentries = 0;
partialentries = NULL;
+ printf("Treaddir fid=%d offset=%ld count=%d\n",
+ fid, offset, vcount[subtest]);
req = v9fs_treaddir(v9p, fid, offset, vcount[subtest], 0);
v9fs_req_wait_for_reply(req, NULL);
v9fs_rreaddir(req, &count, &npartialentries, &partialentries);
+ printf("\t\tnpartial=%d nentries=%d\n", npartialentries, nentries);
if (npartialentries > 0 && partialentries) {
if (!entries) {
entries = partialentries;
@@ -713,6 +718,8 @@ static void fs_readdir_split(void *obj, void *data,
QGuestAllocator *t_alloc)
}
v9fs_free_dirents(entries);
+
+ printf("PASSED subtest[%d]\n", subtest);
}
g_free(wnames[0]);
--
2.20.1