Lines Matching refs:periph

382 	struct cam_periph *periph;  member
598 static void sadone(struct cam_periph *periph,
603 static int sacheckeod(struct cam_periph *periph);
604 static int sagetparams(struct cam_periph *periph,
615 static int sasetprot(struct cam_periph *periph,
617 static int sasetparams(struct cam_periph *periph,
622 static int sasetsili(struct cam_periph *periph,
624 static int saseteotwarn(struct cam_periph *periph,
633 static int sasetprotents(struct cam_periph *periph,
636 static int saparamsetlist(struct cam_periph *periph,
638 static int saextget(struct cdev *dev, struct cam_periph *periph,
641 static void saprevent(struct cam_periph *periph, int action);
642 static int sarewind(struct cam_periph *periph);
643 static int saspace(struct cam_periph *periph, int count,
650 static int saretension(struct cam_periph *periph);
651 static int sareservereleaseunit(struct cam_periph *periph,
653 static int saloadunload(struct cam_periph *periph, int load);
654 static int saerase(struct cam_periph *periph, int longerase);
655 static int sawritefilemarks(struct cam_periph *periph,
657 static int sagetpos(struct cam_periph *periph);
658 static int sardpos(struct cam_periph *periph, int, uint32_t *);
659 static int sasetpos(struct cam_periph *periph, int,
713 struct cam_periph *periph; in saopen() local
717 periph = (struct cam_periph *)dev->si_drv1; in saopen()
718 if (cam_periph_acquire(periph) != 0) { in saopen()
722 cam_periph_lock(periph); in saopen()
724 softc = (struct sa_softc *)periph->softc; in saopen()
726 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO, in saopen()
732 cam_periph_unlock(periph); in saopen()
736 if ((error = cam_periph_hold(periph, PRIBIO|PCATCH)) != 0) { in saopen()
737 cam_periph_unlock(periph); in saopen()
738 cam_periph_release(periph); in saopen()
759 error = samount(periph, flags, dev); in saopen()
764 cam_periph_unhold(periph); in saopen()
765 cam_periph_unlock(periph); in saopen()
771 cam_periph_unhold(periph); in saopen()
772 cam_periph_unlock(periph); in saopen()
773 cam_periph_release(periph); in saopen()
777 saprevent(periph, PR_PREVENT); in saopen()
781 cam_periph_unhold(periph); in saopen()
782 cam_periph_unlock(periph); in saopen()
789 struct cam_periph *periph; in saclose() local
795 periph = (struct cam_periph *)dev->si_drv1; in saclose()
796 cam_periph_lock(periph); in saclose()
798 softc = (struct sa_softc *)periph->softc; in saclose()
800 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO, in saclose()
807 cam_periph_unlock(periph); in saclose()
808 cam_periph_release(periph); in saclose()
816 cam_periph_unlock(periph); in saclose()
817 cam_periph_release(periph); in saclose()
821 if ((error = cam_periph_hold(periph, PRIBIO)) != 0) { in saclose()
822 cam_periph_unlock(periph); in saclose()
836 error = sacheckeod(periph); in saclose()
838 xpt_print(periph->path, in saclose()
846 saprevent(periph, PR_ALLOW); in saclose()
864 (void) sarewind(periph); in saclose()
865 (void) saloadunload(periph, FALSE); in saclose()
876 tmp = sarewind(periph); in saclose()
892 tmp = saspace(periph, -1, SS_FILEMARKS); in saclose()
894 xpt_print(periph->path, "unable to backspace " in saclose()
897 xpt_print(periph->path, "it is possible that " in saclose()
905 xpt_print(periph->path, "unknown mode 0x%x in saclose\n", mode); in saclose()
935 xpt_print(periph->path, "tape is now frozen- use an OFFLINE, " in saclose()
941 sareservereleaseunit(periph, FALSE); in saclose()
943 cam_periph_unhold(periph); in saclose()
944 cam_periph_unlock(periph); in saclose()
945 cam_periph_release(periph); in saclose()
958 struct cam_periph *periph; in sastrategy() local
966 periph = (struct cam_periph *)bp->bio_dev->si_drv1; in sastrategy()
967 cam_periph_lock(periph); in sastrategy()
969 softc = (struct sa_softc *)periph->softc; in sastrategy()
972 cam_periph_unlock(periph); in sastrategy()
978 cam_periph_unlock(periph); in sastrategy()
989 cam_periph_unlock(periph); in sastrategy()
995 int error = samount(periph, 0, bp->bio_dev); in sastrategy()
997 cam_periph_unlock(periph); in sastrategy()
1001 saprevent(periph, PR_PREVENT); in sastrategy()
1009 cam_periph_unlock(periph); in sastrategy()
1024 xpt_print(periph->path, "Invalid request. Fixed block " in sastrategy()
1027 cam_periph_unlock(periph); in sastrategy()
1034 xpt_print_path(periph->path); in sastrategy()
1042 cam_periph_unlock(periph); in sastrategy()
1053 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, in sastrategy()
1059 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, in sastrategy()
1066 xpt_schedule(periph, CAM_PRIORITY_NORMAL); in sastrategy()
1067 cam_periph_unlock(periph); in sastrategy()
1073 sasetsili(struct cam_periph *periph, struct mtparamset *ps, int num_params) in sasetsili() argument
1080 softc = (struct sa_softc *)periph->softc; in sasetsili()
1111 error = sasetparams(periph, SA_PARAM_BLOCKSIZE, in sasetsili()
1134 saseteotwarn(struct cam_periph *periph, struct mtparamset *ps, int num_params) in saseteotwarn() argument
1140 softc = (struct sa_softc *)periph->softc; in saseteotwarn()
1241 sasetprotents(struct cam_periph *periph, struct mtparamset *ps, int num_params) in sasetprotents() argument
1249 softc = (struct sa_softc *)periph->softc; in sasetprotents()
1330 error = sasetprot(periph, &new_state); in sasetprotents()
1361 int (*set_func)(struct cam_periph *periph, struct mtparamset *ps,
1399 saparamsetlist(struct cam_periph *periph, struct mtsetlist *list, in saparamsetlist() argument
1419 xpt_print(periph->path, "%s: length of params %d != " in saparamsetlist()
1431 cam_periph_unlock(periph); in saparamsetlist()
1434 cam_periph_lock(periph); in saparamsetlist()
1468 error = first_ent->set_func(periph, first, in saparamsetlist()
1484 error = ent->set_func(periph, &params[i], 1); in saparamsetlist()
1492 first_ent->set_func(periph, first, contig_ents); in saparamsetlist()
1499 cam_periph_unlock(periph); in saparamsetlist()
1503 cam_periph_lock(periph); in saparamsetlist()
1511 sagetparams_common(struct cdev *dev, struct cam_periph *periph) in sagetparams_common() argument
1517 softc = (struct sa_softc *)periph->softc; in sagetparams_common()
1526 error = sagetparams(periph, SA_PARAM_ALL, &softc->media_blksize, in sagetparams_common()
1550 #define PENDING_MOUNT_CHECK(softc, periph, dev) \ argument
1552 error = samount(periph, 0, dev); \
1556 saprevent(periph, PR_PREVENT); \
1563 struct cam_periph *periph; in saioctl() local
1574 periph = (struct cam_periph *)dev->si_drv1; in saioctl()
1575 cam_periph_lock(periph); in saioctl()
1576 softc = (struct sa_softc *)periph->softc; in saioctl()
1604 if ((periph->flags & CAM_PERIPH_LOCKED) == 0) { in saioctl()
1605 error = cam_periph_hold(periph, PRIBIO|PCATCH); in saioctl()
1607 cam_periph_unlock(periph); in saioctl()
1642 error = cam_periph_hold(periph, PRIBIO|PCATCH); in saioctl()
1644 cam_periph_unlock(periph); in saioctl()
1651 cam_periph_unlock(periph); in saioctl()
1664 error = sagetparams_common(dev, periph); in saioctl()
1732 cam_periph_unlock(periph); in saioctl()
1739 cam_periph_lock(periph); in saioctl()
1742 cam_periph_lock(periph); in saioctl()
1745 error = saextget(dev, periph, sb, g); in saioctl()
1766 cam_periph_unlock(periph); in saioctl()
1770 cam_periph_lock(periph); in saioctl()
1786 error = saparamsetlist(periph, &list, /*need_copy*/ 0); in saioctl()
1793 error = saparamsetlist(periph, list, /*need_copy*/ 1); in saioctl()
1801 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, in saioctl()
1828 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1832 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, in saioctl()
1845 error = sawritefilemarks(periph, count, FALSE, FALSE); in saioctl()
1849 error = sawritefilemarks(periph, count, FALSE, TRUE); in saioctl()
1852 error = sawritefilemarks(periph, count, TRUE, FALSE); in saioctl()
1866 error = sacheckeod(periph); in saioctl()
1868 xpt_print(periph->path, in saioctl()
1908 error = sacheckeod(periph); in saioctl()
1912 error = saspace(periph, count - nmarks, spaceop); in saioctl()
1928 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1929 (void) sacheckeod(periph); in saioctl()
1930 error = sarewind(periph); in saioctl()
1938 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1939 error = saerase(periph, count); in saioctl()
1945 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1946 error = saretension(periph); in saioctl()
1953 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1955 (void) sacheckeod(periph); in saioctl()
1960 error = sarewind(periph); in saioctl()
1968 saprevent(periph, PR_ALLOW); in saioctl()
1970 error = saloadunload(periph, FALSE); in saioctl()
1978 error = saloadunload(periph, TRUE); in saioctl()
1988 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
1992 xpt_print(periph->path, "Can't enter fixed " in saioctl()
1997 error = sasetparams(periph, SA_PARAM_BLOCKSIZE, count, in saioctl()
2039 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2045 error = sasetparams(periph, SA_PARAM_DENSITY, in saioctl()
2050 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2061 error = sasetparams(periph, SA_PARAM_COMPRESSION, in saioctl()
2074 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2075 error = sardpos(periph, 0, (uint32_t *) arg); in saioctl()
2078 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2079 error = sardpos(periph, 1, (uint32_t *) arg); in saioctl()
2093 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2095 error = sasetpos(periph, hard, &locate_info); in saioctl()
2099 PENDING_MOUNT_CHECK(softc, periph, dev); in saioctl()
2100 error = sasetpos(periph, /*hard*/ 0, (struct mtlocate *)arg); in saioctl()
2141 error = cam_periph_ioctl(periph, cmd, arg, saerror); in saioctl()
2163 xpt_print(periph->path, in saioctl()
2171 cam_periph_unhold(periph); in saioctl()
2173 cam_periph_unlock(periph); in saioctl()
2196 struct cam_periph *periph; in sadevgonecb() local
2200 periph = (struct cam_periph *)arg; in sadevgonecb()
2201 softc = (struct sa_softc *)periph->softc; in sadevgonecb()
2203 mtx = cam_periph_mtx(periph); in sadevgonecb()
2217 cam_periph_release_locked(periph); in sadevgonecb()
2225 cam_periph_release_locked(periph); in sadevgonecb()
2239 saoninvalidate(struct cam_periph *periph) in saoninvalidate() argument
2243 softc = (struct sa_softc *)periph->softc; in saoninvalidate()
2248 xpt_register_async(0, saasync, periph, periph->path); in saoninvalidate()
2264 destroy_dev_sched_cb(softc->devs.ctl_dev, sadevgonecb, periph); in saoninvalidate()
2265 destroy_dev_sched_cb(softc->devs.r_dev, sadevgonecb, periph); in saoninvalidate()
2266 destroy_dev_sched_cb(softc->devs.nr_dev, sadevgonecb, periph); in saoninvalidate()
2267 destroy_dev_sched_cb(softc->devs.er_dev, sadevgonecb, periph); in saoninvalidate()
2271 sacleanup(struct cam_periph *periph) in sacleanup() argument
2275 softc = (struct sa_softc *)periph->softc; in sacleanup()
2277 cam_periph_unlock(periph); in sacleanup()
2283 xpt_print(periph->path, "can't remove sysctl context\n"); in sacleanup()
2285 cam_periph_lock(periph); in sacleanup()
2296 struct cam_periph *periph; in saasync() local
2298 periph = (struct cam_periph *)callback_arg; in saasync()
2333 cam_periph_async(periph, code, path, arg); in saasync()
2380 softc->periph->unit_number, sa_default_timeouts[i].desc); in saloadtotunables()
2390 struct cam_periph *periph; in sasysctlinit() local
2395 periph = (struct cam_periph *)context; in sasysctlinit()
2399 if (periph->flags & CAM_PERIPH_INVALID) in sasysctlinit()
2402 softc = (struct sa_softc *)periph->softc; in sasysctlinit()
2404 snprintf(tmpstr, sizeof(tmpstr), "CAM SA unit %d", periph->unit_number); in sasysctlinit()
2405 snprintf(tmpstr2, sizeof(tmpstr2), "%u", periph->unit_number); in sasysctlinit()
2458 cam_periph_release(periph); in sasysctlinit()
2462 saregister(struct cam_periph *periph, void *arg) in saregister() argument
2498 softc->periph = periph; in saregister()
2499 periph->softc = softc; in saregister()
2558 xpt_setup_ccb(&cdai.ccb_h, periph->path, CAM_PRIORITY_NORMAL); in saregister()
2574 xpt_path_inq(&cpi, periph->path); in saregister()
2581 cam_periph_unlock(periph); in saregister()
2582 softc->device_stats = devstat_new_entry("sa", periph->unit_number, 0, in saregister()
2597 periph->unit_number); in saregister()
2628 TASK_INIT(&softc->sysctl_task, 0, sasysctlinit, periph); in saregister()
2642 if (cam_periph_acquire(periph) != 0) { in saregister()
2643 xpt_print(periph->path, "%s: lost periph during " in saregister()
2645 cam_periph_lock(periph); in saregister()
2651 args.mda_si_drv1 = softc->periph; in saregister()
2658 periph->periph_name, periph->unit_number); in saregister()
2660 cam_periph_lock(periph); in saregister()
2667 periph->periph_name, periph->unit_number); in saregister()
2669 cam_periph_lock(periph); in saregister()
2676 periph->periph_name, periph->unit_number); in saregister()
2678 cam_periph_lock(periph); in saregister()
2685 periph->periph_name, periph->unit_number); in saregister()
2687 cam_periph_lock(periph); in saregister()
2692 cam_periph_lock(periph); in saregister()
2704 cam_periph_acquire(periph); in saregister()
2711 xpt_register_async(AC_LOST_DEVICE, saasync, periph, periph->path); in saregister()
2734 cam_periph_acquire(periph); in saregister()
2736 xpt_schedule(periph, CAM_PRIORITY_DEV); in saregister()
2745 xpt_announce_periph(periph, NULL); in saregister()
2746 xpt_announce_quirks(periph, softc->quirks, SA_QUIRK_BIT_STRING); in saregister()
2753 sastart(struct cam_periph *periph, union ccb *start_ccb) in sastart() argument
2757 softc = (struct sa_softc *)periph->softc; in sastart()
2759 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("sastart\n")); in sastart()
2851 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, in sastart()
2879 xpt_print(periph->path, "zero blocksize" in sastart()
2953 xpt_schedule(periph, CAM_PRIORITY_NORMAL); in sastart()
2987 xpt_announce_periph(periph, NULL); in sastart()
2988 xpt_announce_quirks(periph, softc->quirks, in sastart()
2991 cam_periph_release_locked(periph); in sastart()
3018 sadone(struct cam_periph *periph, union ccb *done_ccb) in sadone() argument
3025 softc = (struct sa_softc *)periph->softc; in sadone()
3068 xpt_announce_periph(periph, NULL); in sadone()
3069 xpt_announce_quirks(periph, softc->quirks, in sadone()
3071 cam_periph_release_locked(periph); in sadone()
3093 xpt_announce_periph(periph, NULL); in sadone()
3094 xpt_announce_quirks(periph, softc->quirks, in sadone()
3096 cam_periph_release_locked(periph); in sadone()
3158 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, in sadone()
3170 samount(struct cam_periph *periph, int oflags, struct cdev *dev) in samount() argument
3183 softc = (struct sa_softc *)periph->softc; in samount()
3195 ccb = cam_periph_getccb(periph, 1); in samount()
3214 if (CAM_DEBUGGED(periph->path, CAM_DEBUG_INFO)) { in samount()
3215 xpt_print(periph->path, in samount()
3220 error = sareservereleaseunit(periph, TRUE); in samount()
3224 ccb = cam_periph_getccb(periph, 1); in samount()
3278 xpt_print(periph->path, "no memory for test read\n"); in samount()
3298 xpt_print(periph->path, in samount()
3345 error = sagetparams(periph, SA_PARAM_ALL, in samount()
3399 error = sasetparams(periph, in samount()
3461 xpt_print(periph->path, in samount()
3493 error = sasetparams(periph, SA_PARAM_BLOCKSIZE, in samount()
3496 xpt_print(periph->path, in samount()
3507 error = sasetparams(periph, SA_PARAM_BLOCKSIZE, in samount()
3523 xpt_print(periph->path, in samount()
3576 error = sasetparams(periph, SA_PARAM_BUFF_MODE, 0, in samount()
3581 xpt_print(periph->path, in samount()
3617 (void) sareservereleaseunit(periph, FALSE); in samount()
3634 samarkswanted(struct cam_periph *periph) in samarkswanted() argument
3639 softc = (struct sa_softc *)periph->softc; in samarkswanted()
3651 sacheckeod(struct cam_periph *periph) in sacheckeod() argument
3656 markswanted = samarkswanted(periph); in sacheckeod()
3659 error = sawritefilemarks(periph, markswanted, FALSE, FALSE); in sacheckeod()
3671 struct cam_periph *periph; in saerror() local
3682 periph = xpt_path_periph(ccb->ccb_h.path); in saerror()
3683 softc = (struct sa_softc *)periph->softc; in saerror()
3735 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, ("CDB[0]=0x%x Key 0x%x " in saerror()
3742 CAM_DEBUG(periph->path, CAM_DEBUG_INFO, in saerror()
3876 sagetparams(struct cam_periph *periph, sa_params params_to_get, in sagetparams() argument
3893 softc = (struct sa_softc *)periph->softc; in sagetparams()
3894 ccb = cam_periph_getccb(periph, 1); in sagetparams()
4185 if (CAM_DEBUGGED(periph->path, CAM_DEBUG_INFO)) { in sagetparams()
4188 xpt_print_path(periph->path); in sagetparams()
4207 sasetprot(struct cam_periph *periph, struct sa_prot_state *new_prot) in sasetprot() argument
4218 softc = (struct sa_softc *)periph->softc; in sasetprot()
4255 error = sagetparams(periph, SA_PARAM_SPEED | SA_PARAM_LBP, in sasetprot()
4282 error = sagetparams(periph, SA_PARAM_SPEED | SA_PARAM_LBP, in sasetprot()
4333 ccb = cam_periph_getccb(periph, 1); in sasetprot()
4362 error = sagetparams(periph, SA_PARAM_SPEED | SA_PARAM_LBP, in sasetprot()
4391 sasetparams(struct cam_periph *periph, sa_params params_to_set, in sasetparams() argument
4410 softc = (struct sa_softc *)periph->softc; in sasetparams()
4422 error = sagetparams(periph, in sasetparams()
4446 ccb = cam_periph_getccb(periph, 1); in sasetparams()
4590 xpt_print(periph->path, in sasetparams()
4622 if (CAM_DEBUGGED(periph->path, CAM_DEBUG_INFO)) { in sasetparams()
4625 xpt_print_path(periph->path); in sasetparams()
4706 saextget(struct cdev *dev, struct cam_periph *periph, struct sbuf *sb, in saextget() argument
4716 softc = (struct sa_softc *)periph->softc; in saextget()
4720 error = sagetparams_common(dev, periph); in saextget()
4724 sagetpos(periph); in saextget()
4731 SASBADDVARSTR(sb, indent, periph->periph_name, %s, periph_name, in saextget()
4732 strlen(periph->periph_name) + 1); in saextget()
4733 SASBADDUINT(sb, indent, periph->unit_number, %u, unit_number); in saextget()
4734 xpt_gdev_type(&cgd, periph->path); in saextget()
4904 saprevent(struct cam_periph *periph, int action) in saprevent() argument
4910 softc = (struct sa_softc *)periph->softc; in saprevent()
4920 if (CAM_DEBUGGED(periph->path, CAM_DEBUG_INFO)) { in saprevent()
4925 ccb = cam_periph_getccb(periph, 1); in saprevent()
4943 sarewind(struct cam_periph *periph) in sarewind() argument
4949 softc = (struct sa_softc *)periph->softc; in sarewind()
4951 ccb = cam_periph_getccb(periph, 1); in sarewind()
4974 saspace(struct cam_periph *periph, int count, scsi_space_code code) in saspace() argument
4980 softc = (struct sa_softc *)periph->softc; in saspace()
4982 ccb = cam_periph_getccb(periph, 1); in saspace()
5043 sagetpos(periph); in saspace()
5049 sawritefilemarks(struct cam_periph *periph, int nmarks, int setmarks, int immed) in sawritefilemarks() argument
5055 softc = (struct sa_softc *)periph->softc; in sawritefilemarks()
5059 ccb = cam_periph_getccb(periph, 1); in sawritefilemarks()
5075 struct sa_softc *softc = (struct sa_softc *)periph->softc; in sawritefilemarks()
5095 sagetpos(periph); in sawritefilemarks()
5111 sagetpos(struct cam_periph *periph) in sagetpos() argument
5115 struct sa_softc *softc = (struct sa_softc *)periph->softc; in sagetpos()
5127 ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); in sagetpos()
5208 sardpos(struct cam_periph *periph, int hard, uint32_t *blkptr) in sardpos() argument
5212 struct sa_softc *softc = (struct sa_softc *)periph->softc; in sardpos()
5226 error = sawritefilemarks(periph, 0, 0, 0); in sardpos()
5231 ccb = cam_periph_getccb(periph, 1); in sardpos()
5252 sasetpos(struct cam_periph *periph, int hard, struct mtlocate *locate_info) in sasetpos() argument
5268 softc = (struct sa_softc *)periph->softc; in sasetpos()
5269 ccb = cam_periph_getccb(periph, 1); in sasetpos()
5361 sagetpos(periph); in sasetpos()
5367 saretension(struct cam_periph *periph) in saretension() argument
5373 softc = (struct sa_softc *)periph->softc; in saretension()
5375 ccb = cam_periph_getccb(periph, 1); in saretension()
5389 sagetpos(periph); in saretension()
5396 sareservereleaseunit(struct cam_periph *periph, int reserve) in sareservereleaseunit() argument
5402 softc = (struct sa_softc *)periph->softc; in sareservereleaseunit()
5403 ccb = cam_periph_getccb(periph, 1); in sareservereleaseunit()
5427 saloadunload(struct cam_periph *periph, int load) in saloadunload() argument
5433 softc = (struct sa_softc *)periph->softc; in saloadunload()
5435 ccb = cam_periph_getccb(periph, 1); in saloadunload()
5452 sagetpos(periph); in saloadunload()
5458 saerase(struct cam_periph *periph, int longerase) in saerase() argument
5465 softc = (struct sa_softc *)periph->softc; in saerase()
5469 ccb = cam_periph_getccb(periph, 1); in saerase()
5793 xpt_print(softc->periph->path, "WARNING: available timeout " in saloadtimeouts()