Lines Matching refs:fbp
195 struct nfsbuf *fbp;
210 fbp = TAILQ_FIRST(&nfsbuffree);
211 if (!fbp)
213 if (fbp->nb_refs)
215 if (NBUFSTAMPVALID(fbp) &&
216 (fbp->nb_timestamp + (2*NFSBUF_LRU_STALE)) > now.tv_sec)
218 nfs_buf_remfree(fbp);
220 if (fbp->nb_np) {
221 if (fbp->nb_vnbufs.le_next != NFSNOLIST) {
222 LIST_REMOVE(fbp, nb_vnbufs);
223 fbp->nb_vnbufs.le_next = NFSNOLIST;
225 fbp->nb_np = NULL;
227 LIST_REMOVE(fbp, nb_hash);
228 TAILQ_INSERT_TAIL(&nfsbuffreeup, fbp, nb_free);
234 fbp = TAILQ_FIRST(&nfsbuffreemeta);
235 if (!fbp)
237 if (fbp->nb_refs)
239 if (NBUFSTAMPVALID(fbp) &&
240 (fbp->nb_timestamp + (2*NFSBUF_META_STALE)) > now.tv_sec)
242 nfs_buf_remfree(fbp);
244 if (fbp->nb_np) {
245 if (fbp->nb_vnbufs.le_next != NFSNOLIST) {
246 LIST_REMOVE(fbp, nb_vnbufs);
247 fbp->nb_vnbufs.le_next = NFSNOLIST;
249 fbp->nb_np = NULL;
251 LIST_REMOVE(fbp, nb_hash);
252 TAILQ_INSERT_TAIL(&nfsbuffreeup, fbp, nb_free);
262 while ((fbp = TAILQ_FIRST(&nfsbuffreeup))) {
263 TAILQ_REMOVE(&nfsbuffreeup, fbp, nb_free);
265 if (IS_VALID_CRED(fbp->nb_rcred))
266 kauth_cred_unref(&fbp->nb_rcred);
267 if (IS_VALID_CRED(fbp->nb_wcred))
268 kauth_cred_unref(&fbp->nb_wcred);
270 if (ISSET(fbp->nb_flags, NB_META) && fbp->nb_data)
271 kfree(fbp->nb_data, fbp->nb_bufsize);
272 FREE(fbp, M_TEMP);