static void p9_free_req(struct p9_client *c, struct p9_req_t *r) { int tag = r->tc->tag; P9_DPRINTK(P9_DEBUG_MUX, "clnt %p req %p tag: %d\n", c, r, tag); r->status = REQ_STATUS_IDLE; if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool)) p9_idpool_put(tag, c->tagpool); }
static void p9_fid_destroy(struct p9_fid *fid) { struct p9_client *clnt; P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid); clnt = fid->clnt; p9_idpool_put(fid->fid, clnt->fidpool); spin_lock(&clnt->lock); list_del(&fid->flist); spin_unlock(&clnt->lock); kfree(fid); }
static void p9_fid_destroy(struct p9_fid *fid) { struct p9_client *clnt; unsigned long flags; P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid); clnt = fid->clnt; p9_idpool_put(fid->fid, clnt->fidpool); spin_lock_irqsave(&clnt->lock, flags); list_del(&fid->flist); spin_unlock_irqrestore(&clnt->lock, flags); kfree(fid); }
static void p9_free_req(struct p9_client *c, struct p9_req_t *r) { int tag = r->tc->tag; P9_DPRINTK(P9_DEBUG_MUX, "clnt %p req %p tag: %d\n", c, r, tag); r->status = REQ_STATUS_IDLE; if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool)) p9_idpool_put(tag, c->tagpool); /* if this was a flush request we have to free response fcall */ if (r->rc->id == P9_RFLUSH) { kfree(r->tc); kfree(r->rc); } }