Lines Matching refs:ctl
1341 void ceph_readdir_cache_release(struct ceph_readdir_cache_control *ctl) in ceph_readdir_cache_release() argument
1343 if (ctl->page) { in ceph_readdir_cache_release()
1344 kunmap(ctl->page); in ceph_readdir_cache_release()
1345 page_cache_release(ctl->page); in ceph_readdir_cache_release()
1346 ctl->page = NULL; in ceph_readdir_cache_release()
1351 struct ceph_readdir_cache_control *ctl, in fill_readdir_cache() argument
1356 unsigned idx = ctl->index % nsize; in fill_readdir_cache()
1357 pgoff_t pgoff = ctl->index / nsize; in fill_readdir_cache()
1359 if (!ctl->page || pgoff != page_index(ctl->page)) { in fill_readdir_cache()
1360 ceph_readdir_cache_release(ctl); in fill_readdir_cache()
1361 ctl->page = grab_cache_page(&dir->i_data, pgoff); in fill_readdir_cache()
1362 if (!ctl->page) { in fill_readdir_cache()
1363 ctl->index = -1; in fill_readdir_cache()
1368 unlock_page(ctl->page); in fill_readdir_cache()
1369 ctl->dentries = kmap(ctl->page); in fill_readdir_cache()
1374 dout("readdir cache dn %p idx %d\n", dn, ctl->index); in fill_readdir_cache()
1375 ctl->dentries[idx] = dn; in fill_readdir_cache()
1376 ctl->index++; in fill_readdir_cache()
1379 ctl->index = -1; in fill_readdir_cache()