Lines Matching refs:offset

73 								PrecacheIO(file_cache_ref* ref, off_t offset,
99 typedef status_t (*cache_func)(file_cache_ref* ref, void* cookie, off_t offset,
119 PrecacheIO::PrecacheIO(file_cache_ref* ref, off_t offset, generic_size_t size)
125 fOffset(offset),
262 push_access(file_cache_ref* ref, off_t offset, generic_size_t bytes,
265 TRACE(("%p: push %lld, %ld, %s\n", ref, offset, bytes,
273 if (offset != ref->LastAccess(previous, isWrite))
276 ref->SetLastAccess(index, offset + bytes, isWrite);
334 read_pages_and_clear_partial(file_cache_ref* ref, void* cookie, off_t offset,
340 status_t status = vfs_read_pages(ref->vnode, cookie, offset, vecs, count,
345 if (offset + (off_t)bytesEnd > ref->cache->virtual_end)
346 bytesEnd = ref->cache->virtual_end - offset;
375 read_into_cache(file_cache_ref* ref, void* cookie, off_t offset,
379 TRACE(("read_into_cache(offset = %lld, pageOffset = %ld, buffer = %#lx, "
380 "bufferSize = %lu\n", offset, pageOffset, buffer, bufferSize));
398 cache->InsertPage(page, offset + pos);
405 push_access(ref, offset, bufferSize, false);
410 status_t status = read_pages_and_clear_partial(ref, cookie, offset, vecs,
459 read_from_file(file_cache_ref* ref, void* cookie, off_t offset,
463 TRACE(("read_from_file(offset = %lld, pageOffset = %ld, buffer = %#lx, "
464 "bufferSize = %lu\n", offset, pageOffset, buffer, bufferSize));
473 push_access(ref, offset, bufferSize, false);
478 status_t status = vfs_read_pages(ref->vnode, cookie, offset + pageOffset,
496 write_to_cache(file_cache_ref* ref, void* cookie, off_t offset,
526 ref->cache->InsertPage(page, offset + pos);
532 push_access(ref, offset, bufferSize, true);
544 status = vfs_read_pages(ref->vnode, cookie, offset, &readVec, 1,
557 if ((off_t)(offset + pageOffset + bufferSize) == ref->cache->virtual_end) {
568 PAGE_ALIGN(offset + pageOffset + bufferSize) - B_PAGE_SIZE,
606 status_t status = vfs_write_pages(ref->vnode, cookie, offset, vecs,
632 write_zeros_to_file(struct vnode* vnode, void* cookie, off_t offset,
654 status = vfs_write_pages(vnode, cookie, offset,
659 offset += length;
669 write_to_file(file_cache_ref* ref, void* cookie, off_t offset, int32 pageOffset,
673 push_access(ref, offset, bufferSize, true);
680 status = write_zeros_to_file(ref->vnode, cookie, offset + pageOffset,
687 status = vfs_write_pages(ref->vnode, cookie, offset + pageOffset,
702 off_t offset, addr_t buffer, bool useBuffer, int32 &pageOffset,
720 lastOffset = offset;
729 cache_io(void* _cacheRef, void* cookie, off_t offset, addr_t buffer,
739 TRACE(("cache_io(ref = %p, offset = %lld, buffer = %p, size = %lu, %s)\n",
740 ref, offset, (void*)buffer, *_size, doWrite ? "write" : "read"));
742 int32 pageOffset = offset & (B_PAGE_SIZE - 1);
744 offset -= pageOffset;
746 // "offset" and "lastOffset" are always aligned to B_PAGE_SIZE,
754 off_t lastOffset = offset;
781 vm_page* page = cache->LookupPage(offset);
787 status_t status = satisfy_cache_io(ref, cookie, function, offset,
796 page = cache->LookupPage(offset);
805 TRACE(("lookup page from offset %lld: %p, size = %lu, pageOffset "
806 "= %lu\n", offset, page, bytesLeft, pageOffset));
870 lastOffset = offset + B_PAGE_SIZE;
880 offset += B_PAGE_SIZE;
884 status_t status = satisfy_cache_io(ref, cookie, function, offset,
954 cache_prefetch_vnode(struct vnode* vnode, off_t offset, size_t size)
970 if ((off_t)(offset + size) > fileSize)
971 size = fileSize - offset;
973 // "offset" and "size" are always aligned to B_PAGE_SIZE,
974 offset = ROUNDDOWN(offset, B_PAGE_SIZE);
981 if (offset >= fileSize || vm_page_num_unused_pages() < 2 * reservePages
988 off_t lastOffset = offset;
998 vm_page* page = cache->LookupPage(offset);
1000 offset += B_PAGE_SIZE;
1030 lastOffset = offset;
1039 cache_prefetch(dev_t mountID, ino_t vnodeID, off_t offset, size_t size)
1050 cache_prefetch_vnode(vnode, offset, size);
1298 file_cache_read(void* _cacheRef, void* cookie, off_t offset, void* buffer,
1303 TRACE(("file_cache_read(ref = %p, offset = %lld, buffer = %p, size = %lu)\n",
1304 ref, offset, buffer, *_size));
1307 if (offset < 0)
1310 if (offset >= fileSize || *_size == 0) {
1314 if ((off_t)(offset + *_size) > fileSize)
1315 *_size = fileSize - offset;
1322 status_t error = vfs_read_pages(ref->vnode, cookie, offset, &vec, 1, 0,
1328 return cache_io(ref, cookie, offset, (addr_t)buffer, _size, false);
1333 file_cache_write(void* _cacheRef, void* cookie, off_t offset,
1349 status_t error = vfs_write_pages(ref->vnode, cookie, offset, &vec,
1354 return write_zeros_to_file(ref->vnode, cookie, offset, _size);
1357 status_t status = cache_io(ref, cookie, offset,
1360 TRACE(("file_cache_write(ref = %p, offset = %lld, buffer = %p, size = %lu)"
1361 " = %ld\n", ref, offset, buffer, *_size, status));