Lines Matching defs:rdc

2976 	rddir_cache *rdc;
3055 rdc = avl_find(&rp->r_dir, &srdc, &where);
3056 if (rdc != NULL) {
3057 rddir_cache_hold(rdc);
3067 if (rdc->flags & RDDIR) {
3069 rdc->flags |= RDDIRWAIT;
3073 if (!cv_wait_sig(&rdc->cv, &rp->r_statelock)) {
3083 rddir_cache_rele(rdc);
3091 rddir_cache_rele(rdc);
3100 if (rdc->flags & RDDIRREQ) {
3101 rdc->flags &= ~RDDIRREQ;
3102 rdc->flags |= RDDIR;
3105 nrdc = rdc;
3117 if (rdc->error) {
3118 error = rdc->error;
3120 rddir_cache_rele(rdc);
3131 error = uiomove(rdc->entries, rdc->entlen, UIO_READ, uiop);
3140 uiop->uio_offset = rdc->nfs_ncookie;
3142 *eofp = rdc->eof;
3149 if (rdc->eof) {
3150 rp->r_direof = rdc;
3152 rddir_cache_rele(rdc);
3167 srdc.nfs_cookie = rdc->nfs_ncookie;
3180 rrdc->nfs_cookie = rdc->nfs_ncookie;
3185 rddir_cache_rele(rdc);
3195 rddir_cache_rele(rdc);
3254 nfsreaddir(vnode_t *vp, rddir_cache *rdc, cred_t *cr)
3266 count = rdc->buflen;
3272 rda.rda_offset = rdc->nfs_cookie;
3278 if (rdc->nfs_cookie == (off_t)0) {
3289 rd.rd_entries = kmem_alloc(rdc->buflen, KM_SLEEP);
3325 ASSERT(rdc->flags & RDDIR);
3329 rdc->nfs_ncookie = rd.rd_offset;
3330 rdc->eof = rd.rd_eof ? 1 : 0;
3331 rdc->entlen = rd.rd_size;
3332 ASSERT(rdc->entlen <= rdc->buflen);
3334 rdc->entries = rddir_cache_buf_alloc(rdc->buflen,
3337 rdc->entries = kmem_alloc(rdc->buflen, KM_SLEEP);
3339 bcopy(rd.rd_entries, rdc->entries, rdc->entlen);
3340 rdc->error = 0;
3353 rdc->entries = NULL;
3354 rdc->error = error;
3356 kmem_free(rd.rd_entries, rdc->buflen);
3359 rdc->flags &= ~RDDIR;
3360 if (rdc->flags & RDDIRWAIT) {
3361 rdc->flags &= ~RDDIRWAIT;
3362 cv_broadcast(&rdc->cv);
3365 rdc->flags |= RDDIRREQ;
3368 rddir_cache_rele(rdc);