Lines Matching defs:ar
182 struct autofs_request *ar = (void *)wk;
186 ar->ar_id, ar->ar_path, autofs_timeout);
188 ar->ar_error = ETIMEDOUT;
189 ar->ar_wildcards = true;
190 ar->ar_done = true;
191 ar->ar_in_progress = false;
199 struct autofs_request *ar = context;
201 workqueue_enqueue(autofs_tmo_wq, &ar->ar_wk, NULL);
304 struct autofs_request *ar;
323 TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) {
324 if (strcmp(ar->ar_path, path))
326 if (strcmp(ar->ar_key, key))
329 KASSERT(!strcmp(ar->ar_from, amp->am_from));
330 KASSERT(!strcmp(ar->ar_prefix, amp->am_prefix));
331 KASSERT(!strcmp(ar->ar_options, amp->am_options));
335 if (ar) {
336 atomic_add_int(&ar->ar_refcount, 1);
338 ar = pool_get(&autofs_request_pool, PR_WAITOK);
339 ar->ar_mount = amp;
340 ar->ar_id = autofs_softc->sc_last_request_id++;
341 ar->ar_done = false;
342 ar->ar_error = 0;
343 ar->ar_wildcards = false;
344 ar->ar_in_progress = false;
345 strlcpy(ar->ar_from, amp->am_from, sizeof(ar->ar_from));
346 strlcpy(ar->ar_path, path, sizeof(ar->ar_path));
347 strlcpy(ar->ar_prefix, amp->am_prefix, sizeof(ar->ar_prefix));
348 strlcpy(ar->ar_key, key, sizeof(ar->ar_key));
349 strlcpy(ar->ar_options,
350 amp->am_options, sizeof(ar->ar_options));
352 callout_init(&ar->ar_callout, 0);
353 callout_reset(&ar->ar_callout, autofs_timeout * hz,
354 autofs_timeout_callout, ar);
355 ar->ar_refcount = 1;
356 TAILQ_INSERT_TAIL(&autofs_softc->sc_requests, ar, ar_next);
360 while (ar->ar_done == false) {
369 "with error %d", ar->ar_path, error);
377 request_error = ar->ar_error;
380 "pid %d (%s)", ar->ar_path, request_error,
383 wildcards = ar->ar_wildcards;
388 if (!atomic_add_int_nv(&ar->ar_refcount, -1)) {
389 TAILQ_REMOVE(&autofs_softc->sc_requests, ar, ar_next);
391 callout_halt(&ar->ar_callout, NULL);
392 pool_put(&autofs_request_pool, ar);
454 struct autofs_request *ar;
459 TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) {
460 if (ar->ar_done)
462 if (ar->ar_in_progress)
467 if (ar)
478 ar->ar_in_progress = true;
481 adr->adr_id = ar->ar_id;
482 strlcpy(adr->adr_from, ar->ar_from, sizeof(adr->adr_from));
483 strlcpy(adr->adr_path, ar->ar_path, sizeof(adr->adr_path));
484 strlcpy(adr->adr_prefix, ar->ar_prefix, sizeof(adr->adr_prefix));
485 strlcpy(adr->adr_key, ar->ar_key, sizeof(adr->adr_key));
486 strlcpy(adr->adr_options, ar->ar_options, sizeof(adr->adr_options));
498 struct autofs_request *ar;
501 TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) {
502 if (ar->ar_id == add->add_id)
506 if (!ar) {
512 ar->ar_error = add->add_error;
513 ar->ar_wildcards = add->add_wildcards;
514 ar->ar_done = true;
515 ar->ar_in_progress = false;