Lines Matching refs:f
1008 static int z_erofs_scan_folio(struct z_erofs_frontend *f, in z_erofs_scan_folio() argument
1011 struct inode *const inode = f->inode; in z_erofs_scan_folio()
1012 struct erofs_map_blocks *const map = &f->map; in z_erofs_scan_folio()
1024 z_erofs_pcluster_end(f); in z_erofs_scan_folio()
1050 if (!f->pcl) { in z_erofs_scan_folio()
1051 err = z_erofs_pcluster_begin(f); in z_erofs_scan_folio()
1054 f->pcl->besteffort |= !ra; in z_erofs_scan_folio()
1065 tight &= (f->mode >= Z_EROFS_PCLUSTER_FOLLOWED); in z_erofs_scan_folio()
1072 err = z_erofs_attach_page(f, &((struct z_erofs_bvec) { in z_erofs_scan_folio()
1080 if (f->pcl->length < offset + end - map->m_la) { in z_erofs_scan_folio()
1081 f->pcl->length = offset + end - map->m_la; in z_erofs_scan_folio()
1082 f->pcl->pageofs_out = map->m_la & ~PAGE_MASK; in z_erofs_scan_folio()
1086 f->pcl->length == map->m_llen) in z_erofs_scan_folio()
1087 f->pcl->partial = false; in z_erofs_scan_folio()
1485 struct z_erofs_frontend *f, in z_erofs_fill_bio_vec() argument
1496 int bs = i_blocksize(f->inode); in z_erofs_fill_bio_vec()
1561 page = __erofs_allocpage(&f->pagepool, gfp, true); in z_erofs_fill_bio_vec()
1565 erofs_pagepool_add(&f->pagepool, page); in z_erofs_fill_bio_vec()
1660 static void z_erofs_submit_queue(struct z_erofs_frontend *f, in z_erofs_submit_queue() argument
1664 struct super_block *sb = f->inode->i_sb; in z_erofs_submit_queue()
1684 q[JQ_SUBMIT]->head = next = f->head; in z_erofs_submit_queue()
1729 z_erofs_fill_bio_vec(&bvec, f, pcl, i++, mc); in z_erofs_submit_queue()
1795 static int z_erofs_runqueue(struct z_erofs_frontend *f, unsigned int rapages) in z_erofs_runqueue() argument
1798 struct erofs_sb_info *sbi = EROFS_I_SB(f->inode); in z_erofs_runqueue()
1802 if (f->head == Z_EROFS_PCLUSTER_TAIL) in z_erofs_runqueue()
1804 z_erofs_submit_queue(f, io, &force_fg, !!rapages); in z_erofs_runqueue()
1807 err = z_erofs_decompress_queue(&io[JQ_BYPASS], &f->pagepool); in z_erofs_runqueue()
1815 return z_erofs_decompress_queue(&io[JQ_SUBMIT], &f->pagepool) ?: err; in z_erofs_runqueue()
1822 static void z_erofs_pcluster_readmore(struct z_erofs_frontend *f, in z_erofs_pcluster_readmore() argument
1825 struct inode *inode = f->inode; in z_erofs_pcluster_readmore()
1826 struct erofs_map_blocks *map = &f->map; in z_erofs_pcluster_readmore()
1827 erofs_off_t cur, end, headoffset = f->headoffset; in z_erofs_pcluster_readmore()
1864 z_erofs_scan_folio(f, folio, !!rac); in z_erofs_pcluster_readmore()
1877 Z_EROFS_DEFINE_FRONTEND(f, inode, folio_pos(folio)); in z_erofs_read_folio()
1881 z_erofs_pcluster_readmore(&f, NULL, true); in z_erofs_read_folio()
1882 err = z_erofs_scan_folio(&f, folio, false); in z_erofs_read_folio()
1883 z_erofs_pcluster_readmore(&f, NULL, false); in z_erofs_read_folio()
1884 z_erofs_pcluster_end(&f); in z_erofs_read_folio()
1887 err = z_erofs_runqueue(&f, 0) ?: err; in z_erofs_read_folio()
1892 erofs_put_metabuf(&f.map.buf); in z_erofs_read_folio()
1893 erofs_release_pages(&f.pagepool); in z_erofs_read_folio()
1900 Z_EROFS_DEFINE_FRONTEND(f, inode, readahead_pos(rac)); in z_erofs_readahead()
1906 z_erofs_pcluster_readmore(&f, rac, true); in z_erofs_readahead()
1917 err = z_erofs_scan_folio(&f, folio, true); in z_erofs_readahead()
1922 z_erofs_pcluster_readmore(&f, rac, false); in z_erofs_readahead()
1923 z_erofs_pcluster_end(&f); in z_erofs_readahead()
1925 (void)z_erofs_runqueue(&f, nrpages); in z_erofs_readahead()
1926 erofs_put_metabuf(&f.map.buf); in z_erofs_readahead()
1927 erofs_release_pages(&f.pagepool); in z_erofs_readahead()