Lines Matching refs:offset

54 	off_t			offset;
72 void Invalidate(off_t offset, off_t size);
75 status_t Translate(off_t offset, size_t size,
88 file_extent* _FindExtent(off_t offset, uint32* _index);
92 status_t _Cache(off_t offset, off_t size);
93 void _InvalidateAfter(off_t offset);
157 FileMap::_FindExtent(off_t offset, uint32 *_index)
166 if (extent->offset > offset) {
169 } else if (extent->offset + extent->disk.length <= offset) {
238 off_t offset = 0;
247 offset = lastExtent->offset + lastExtent->disk.length;
252 if (lastExtent->disk.offset + lastExtent->disk.length
253 == vecs[i].offset
254 || (lastExtent->disk.offset == -1 && vecs[i].offset == -1)) {
257 offset += vecs[i].length;
271 extent->offset = offset;
274 offset += extent->disk.length;
281 TRACE("[%ld] extent offset %lld, disk offset %lld, length %lld\n",
282 i, extent->offset, extent->disk.offset, extent->disk.length);
286 lastOffset = offset;
292 FileMap::_InvalidateAfter(off_t offset)
295 file_extent* extent = _FindExtent(offset, &index);
299 if (extent->offset + extent->disk.length > offset) {
300 extent->disk.length = offset - extent->offset;
313 FileMap::Invalidate(off_t offset, off_t size)
317 // TODO: honour size, we currently always remove everything after "offset"
318 if (offset == 0) {
323 _InvalidateAfter(offset);
350 FileMap::_Cache(off_t offset, off_t size)
358 mapEnd = lastExtent->offset + lastExtent->disk.length;
360 off_t end = offset + size;
407 FileMap::Translate(off_t offset, size_t size, file_io_vec* vecs, size_t* _count,
410 if (offset < 0)
418 if (offset >= Size()) {
422 if ((off_t)(offset + size) > fSize) {
425 if ((off_t)(offset + size) >= alignedSize)
428 size = fSize - offset;
434 status_t status = _Cache(offset, size);
442 file_extent* fileExtent = _FindExtent(offset, &index);
444 offset -= fileExtent->offset;
445 if (fileExtent->disk.offset != -1)
446 vecs[0].offset = fileExtent->disk.offset + offset;
448 vecs[0].offset = -1;
449 vecs[0].length = fileExtent->disk.length - offset;
518 kprintf(" [%" B_PRIu32 "] offset %" B_PRIdOFF ", disk offset %"
519 B_PRIdOFF ", length %" B_PRIdOFF "\n", i, extent->offset,
520 extent->disk.offset, extent->disk.length);
556 mapSize += extent->offset + extent->disk.length;
642 file_map_invalidate(void* _map, off_t offset, off_t size)
648 map->Invalidate(offset, size);
664 file_map_translate(void* _map, off_t offset, size_t size, file_io_vec* vecs,
667 TRACE("file_map_translate(map %p, offset %lld, size %ld)\n",
668 _map, offset, size);
674 return map->Translate(offset, size, vecs, _count, align);