The 9p code doesn't take advantage of the IDR's ability to store a pointer. We can actually get rid of the p9_idpool abstraction and the multi-dimensional array of requests. v2: Address feedback from Dominique. Matthew Wilcox (6): 9p: Fix comment on smp_wmb 9p: Change p9_fid_create calling convention 9p: Replace the fidlist with an IDR 9p: Embed wait_queue_head into p9_req_t 9p: Use a slab for allocating requests 9p: Remove p9_idpool include/net/9p/9p.h | 8 - include/net/9p/client.h | 62 ++------ net/9p/Makefile | 1 - net/9p/client.c | 319 ++++++++++++++-------------------------- net/9p/mod.c | 7 +- net/9p/trans_virtio.c | 2 +- net/9p/util.c | 141 ------------------ 7 files changed, 133 insertions(+), 407 deletions(-) delete mode 100644 net/9p/util.c -- 2.18.0