@@ -2712,14 +2712,12 @@ int kiocb_write_and_wait(struct kiocb *iocb, size_t count)
27122712}
27132713EXPORT_SYMBOL_GPL (kiocb_write_and_wait );
27142714
2715- int kiocb_invalidate_pages (struct kiocb * iocb , size_t count )
2715+ int filemap_invalidate_pages (struct address_space * mapping ,
2716+ loff_t pos , loff_t end , bool nowait )
27162717{
2717- struct address_space * mapping = iocb -> ki_filp -> f_mapping ;
2718- loff_t pos = iocb -> ki_pos ;
2719- loff_t end = pos + count - 1 ;
27202718 int ret ;
27212719
2722- if (iocb -> ki_flags & IOCB_NOWAIT ) {
2720+ if (nowait ) {
27232721 /* we could block if there are any pages in the range */
27242722 if (filemap_range_has_page (mapping , pos , end ))
27252723 return - EAGAIN ;
@@ -2738,6 +2736,15 @@ int kiocb_invalidate_pages(struct kiocb *iocb, size_t count)
27382736 return invalidate_inode_pages2_range (mapping , pos >> PAGE_SHIFT ,
27392737 end >> PAGE_SHIFT );
27402738}
2739+
2740+ int kiocb_invalidate_pages (struct kiocb * iocb , size_t count )
2741+ {
2742+ struct address_space * mapping = iocb -> ki_filp -> f_mapping ;
2743+
2744+ return filemap_invalidate_pages (mapping , iocb -> ki_pos ,
2745+ iocb -> ki_pos + count - 1 ,
2746+ iocb -> ki_flags & IOCB_NOWAIT );
2747+ }
27412748EXPORT_SYMBOL_GPL (kiocb_invalidate_pages );
27422749
27432750/**
0 commit comments