> @@ -1181,8 +1258,22 @@ page_ok: > * When a sequential read accesses a page several times, > * only mark it as accessed the first time. > */ > - if (prev_index != index || offset != prev_offset) > - mark_page_accessed(page); > + if (prev_index != index || offset != prev_offset) { > + int mode; > + > + mode = filemap_get_cache(mapping, index); > + switch (mode) { > + case FILEMAP_CACHE_NORMAL: > + mark_page_accessed(page); > + break; > + case FILEMAP_CACHE_ONCE: > + mark_page_usedonce(page); > + break; > + default: > + WARN_ON_ONCE(1); > + break; Here is generic_file_read, right? Why don't you care write and page fault? ÿôèº{.nÇ+?·ÿ±éÝjg¬±¨Â+aþéì¹»®&Þ?)îÇù¦þ)í?æèw+h?¨èÚ&£ù/iÉÿ¢¸ÿ?梷¢?ú(?¸§»þÇ?þm§ÿÿÃÿ?)îÇù¦þ?àÿñb?n?ö¢®×¥yÊ&?{^®wr«?ë"?&§iÖÿ²('?Ûiÿÿì¶?m?é?µêÿq¯Ã¢ízf¢?ÿÚ?·??ÚÿýÚ'·ù/iÉÿ¢¸ÿýé??_佧$þ?àÿöÿ