Lines Matching refs:fq
130 struct inet_frag_queue *fq = ptr; in inet_frags_free_cb() local
133 count = del_timer_sync(&fq->timer) ? 1 : 0; in inet_frags_free_cb()
135 spin_lock_bh(&fq->lock); in inet_frags_free_cb()
136 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frags_free_cb()
137 fq->flags |= INET_FRAG_COMPLETE; in inet_frags_free_cb()
139 } else if (fq->flags & INET_FRAG_HASH_DEAD) { in inet_frags_free_cb()
142 spin_unlock_bh(&fq->lock); in inet_frags_free_cb()
144 if (refcount_sub_and_test(count, &fq->refcnt)) in inet_frags_free_cb()
145 inet_frag_destroy(fq); in inet_frags_free_cb()
194 void inet_frag_kill(struct inet_frag_queue *fq) in inet_frag_kill() argument
196 if (del_timer(&fq->timer)) in inet_frag_kill()
197 refcount_dec(&fq->refcnt); in inet_frag_kill()
199 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frag_kill()
200 struct fqdir *fqdir = fq->fqdir; in inet_frag_kill()
202 fq->flags |= INET_FRAG_COMPLETE; in inet_frag_kill()
210 rhashtable_remove_fast(&fqdir->rhashtable, &fq->node, in inet_frag_kill()
212 refcount_dec(&fq->refcnt); in inet_frag_kill()
214 fq->flags |= INET_FRAG_HASH_DEAD; in inet_frag_kill()
326 struct inet_frag_queue *fq = NULL, *prev; in inet_frag_find() local
335 fq = inet_frag_create(fqdir, key, &prev); in inet_frag_find()
337 fq = prev; in inet_frag_find()
338 if (!refcount_inc_not_zero(&fq->refcnt)) in inet_frag_find()
339 fq = NULL; in inet_frag_find()
342 return fq; in inet_frag_find()