Lines Matching defs:rap

384 	struct cl_readahead	*rap;
388 if ((rap = ubc->cl_rahead) == NULL) {
389 MALLOC_ZONE(rap, struct cl_readahead *, sizeof *rap, M_CLRDAHEAD, M_WAITOK);
391 bzero(rap, sizeof *rap);
392 rap->cl_lastr = -1;
393 lck_mtx_init(&rap->cl_lockr, cl_mtx_grp, cl_mtx_attr);
398 ubc->cl_rahead = rap;
400 lck_mtx_destroy(&rap->cl_lockr, cl_mtx_grp);
401 FREE_ZONE((void *)rap, sizeof *rap, M_CLRDAHEAD);
402 rap = ubc->cl_rahead;
406 if (lck_mtx_try_lock(&rap->cl_lockr) == TRUE)
407 return(rap);
1716 cluster_read_ahead(vnode_t vp, struct cl_extent *extent, off_t filesize, struct cl_readahead *rap, int (*callback)(buf_t, void *), void *callback_arg,
1726 (int)extent->b_addr, (int)extent->e_addr, (int)rap->cl_lastr, 0, 0);
1728 if (extent->b_addr == rap->cl_lastr && extent->b_addr == extent->e_addr) {
1730 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 0, 0);
1733 if (rap->cl_lastr == -1 || (extent->b_addr != rap->cl_lastr && extent->b_addr != (rap->cl_lastr + 1))) {
1734 rap->cl_ralen = 0;
1735 rap->cl_maxra = 0;
1738 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 1, 0);
1749 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 6, 0);
1752 if (extent->e_addr < rap->cl_maxra) {
1753 if ((rap->cl_maxra - extent->e_addr) > ((max_prefetch / PAGE_SIZE) / 4)) {
1756 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 2, 0);
1760 r_addr = max(extent->e_addr, rap->cl_maxra) + 1;
1769 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 3, 0);
1775 rap->cl_ralen = rap->cl_ralen ? min(max_prefetch / PAGE_SIZE, rap->cl_ralen << 1) : 1;
1779 if (read_size > rap->cl_ralen) {
1781 rap->cl_ralen = max_prefetch / PAGE_SIZE;
1783 rap->cl_ralen = read_size;
1785 size_of_prefetch = cluster_read_prefetch(vp, f_offset, rap->cl_ralen * PAGE_SIZE, filesize, callback, callback_arg, bflag);
1788 rap->cl_maxra = (r_addr + size_of_prefetch) - 1;
1791 rap->cl_ralen, (int)rap->cl_maxra, (int)rap->cl_lastr, 4, 0);
3511 struct cl_readahead * rap;
3550 rap = NULL;
3563 if ((rap = cluster_get_rap(vp)) == NULL)
3570 if (rap != NULL && rap->cl_ralen && (rap->cl_lastr == extent.b_addr || (rap->cl_lastr + 1) == extent.b_addr)) {
3578 last_ioread_offset = (rap->cl_maxra * PAGE_SIZE_64) + PAGE_SIZE_64;
3661 cluster_read_ahead(vp, &extent, filesize, rap, callback, callback_arg, bflag);
3667 if (rap != NULL) {
3668 if (extent.e_addr < rap->cl_lastr)
3669 rap->cl_maxra = 0;
3670 rap->cl_lastr = extent.e_addr;
3791 if (rap) {
3792 if (extent.e_addr < rap->cl_maxra) {
3799 rap->cl_maxra = 0;
3872 cluster_read_ahead(vp, &extent, filesize, rap, callback, callback_arg, bflag);
3874 if (rap != NULL) {
3875 if (extent.e_addr < rap->cl_lastr)
3876 rap->cl_maxra = 0;
3877 rap->cl_lastr = extent.e_addr;
3971 if (rap != NULL)
3995 if (rap != NULL) {
3997 (int)uio->uio_offset, io_req_size, rap->cl_lastr, retval, 0);
3999 lck_mtx_unlock(&rap->cl_lockr);
5128 struct cl_readahead *rap;
5140 rap = ubc->cl_rahead;
5146 if ((rap = ubc->cl_rahead)) {
5147 lck_mtx_destroy(&rap->cl_lockr, cl_mtx_grp);
5148 FREE_ZONE((void *)rap, sizeof *rap, M_CLRDAHEAD);
5153 KERNEL_DEBUG((FSDBG_CODE(DBG_FSRW, 81)) | DBG_FUNC_END, ubc, rap, wbp, 0, 0);