kern_return_t vnode_pager_data_request( memory_object_t mem_obj, memory_object_offset_t offset, __unused vm_size_t length, __unused vm_prot_t desired_access, memory_object_fault_info_t fault_info) { register vnode_pager_t vnode_object; vm_size_t size; #if MACH_ASSERT memory_object_offset_t original_offset = offset; #endif /* MACH_ASSERT */ vnode_object = vnode_pager_lookup(mem_obj); size = MAX_UPL_TRANSFER * PAGE_SIZE; if (memory_object_cluster_size(vnode_object->control_handle, &offset, &size, fault_info) != KERN_SUCCESS) size = PAGE_SIZE; assert(original_offset >= offset && original_offset < offset + size); return vnode_pager_cluster_read(vnode_object, offset, size); }
kern_return_t vnode_pager_data_request( memory_object_t mem_obj, memory_object_offset_t offset, __unused memory_object_cluster_size_t length, __unused vm_prot_t desired_access, memory_object_fault_info_t fault_info) { vnode_pager_t vnode_object; memory_object_offset_t base_offset; vm_size_t size; uint32_t io_streaming = 0; vnode_object = vnode_pager_lookup(mem_obj); size = MAX_UPL_TRANSFER * PAGE_SIZE; base_offset = offset; if (memory_object_cluster_size(vnode_object->control_handle, &base_offset, &size, &io_streaming, fault_info) != KERN_SUCCESS) size = PAGE_SIZE; assert(offset >= base_offset && offset < base_offset + size); return vnode_pager_cluster_read(vnode_object, base_offset, offset, io_streaming, size); }