Lines Matching defs:rdcp

47 static void build_dir_entry_list(struct autofs_rddir_cache *rdcp,
52 static int autofs_rddir_cache_delete(struct autofs_rddir_cache *rdcp);
53 static int create_dirents(struct autofs_rddir_cache *rdcp, ulong_t offset,
68 struct autofs_rddir_cache *rdcp = NULL;
85 error = autofs_rddir_cache_lookup(rda->rda_map, &rdcp);
89 error = autofs_rddir_cache_lookup(rda->rda_map, &rdcp);
98 OFFSET_BUCKET_SIZE, &rdcp);
106 assert(rdcp != NULL);
107 assert(rdcp->in_use);
109 if (!rdcp->full) {
110 rw_wrlock(&rdcp->rwlock);
111 if (!rdcp->full) {
126 build_dir_entry_list(rdcp, list);
133 rw_rdlock(&rdcp->rwlock);
137 error = create_dirents(rdcp, rda->rda_offset, rd);
139 if (rdcp->offtp) {
140 free_offset_tbl(rdcp->offtp);
141 rdcp->offtp = NULL;
143 if (rdcp->entp) {
144 free_dir_list(rdcp->entp);
145 rdcp->entp = NULL;
147 rdcp->full = 0;
168 rdcp->ttl = time((time_t *)NULL) + cache_time;
174 if (rdcp->offtp) {
175 free_offset_tbl(rdcp->offtp);
176 rdcp->offtp = NULL;
178 if (rdcp->entp) {
179 free_dir_list(rdcp->entp);
180 rdcp->entp = NULL;
182 rdcp->full = 0;
206 rw_unlock(&rdcp->rwlock);
208 mutex_lock(&rdcp->lock);
209 rdcp->in_use--;
210 mutex_unlock(&rdcp->lock);
212 assert(rdcp->in_use >= 0);
223 struct autofs_rddir_cache *rdcp,
240 assert(RW_LOCK_HELD(&rdcp->rwlock));
241 for (offtp = rdcp->offtp; offtp != NULL; offtp = next) {
272 trace_prt(1, "%s: offset searches (%d, %d)\n", rdcp->map, x, y);
471 autofs_rddir_cache_delete(struct autofs_rddir_cache *rdcp)
481 if (p == rdcp) {
511 build_dir_entry_list(struct autofs_rddir_cache *rdcp, struct dir_entry *list)
518 assert(RW_LOCK_HELD(&rdcp->rwlock));
519 assert(rdcp->entp == NULL);
520 rdcp->entp = list;
534 offset_list += rdcp->bucket_size;
543 if (rdcp->offtp == NULL)
544 rdcp->offtp = offtp;
552 rdcp->full = 1;