Lines Matching refs:file_off
59 static int freader_get_folio(struct freader *r, loff_t file_off) in freader_get_folio() argument
62 if (r->folio && file_off >= r->folio_off && in freader_get_folio()
63 file_off < r->folio_off + folio_size(r->folio)) in freader_get_folio()
72 r->folio = filemap_get_folio(r->file->f_mapping, file_off >> PAGE_SHIFT); in freader_get_folio()
77 r->folio = read_cache_folio(r->file->f_mapping, file_off >> PAGE_SHIFT, in freader_get_folio()
95 static const void *freader_fetch(struct freader *r, loff_t file_off, size_t sz) in freader_fetch() argument
105 if (unlikely(file_off + sz < file_off)) { in freader_fetch()
112 if (file_off + sz > r->data_sz) { in freader_fetch()
116 return r->data + file_off; in freader_fetch()
120 r->err = freader_get_folio(r, file_off); in freader_fetch()
129 if (file_off + sz > r->folio_off + folio_sz) { in freader_fetch()
130 int part_sz = r->folio_off + folio_sz - file_off; in freader_fetch()
133 memcpy(r->buf, r->addr + (file_off - r->folio_off), part_sz); in freader_fetch()
147 return r->addr + (file_off - r->folio_off); in freader_fetch()