@@ -2712,14 +2712,12 @@ int kiocb_write_and_wait(struct kiocb *iocb, size_t count)
2712
2712
}
2713
2713
EXPORT_SYMBOL_GPL (kiocb_write_and_wait );
2714
2714
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 )
2716
2717
{
2717
- struct address_space * mapping = iocb -> ki_filp -> f_mapping ;
2718
- loff_t pos = iocb -> ki_pos ;
2719
- loff_t end = pos + count - 1 ;
2720
2718
int ret ;
2721
2719
2722
- if (iocb -> ki_flags & IOCB_NOWAIT ) {
2720
+ if (nowait ) {
2723
2721
/* we could block if there are any pages in the range */
2724
2722
if (filemap_range_has_page (mapping , pos , end ))
2725
2723
return - EAGAIN ;
@@ -2738,6 +2736,15 @@ int kiocb_invalidate_pages(struct kiocb *iocb, size_t count)
2738
2736
return invalidate_inode_pages2_range (mapping , pos >> PAGE_SHIFT ,
2739
2737
end >> PAGE_SHIFT );
2740
2738
}
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
+ }
2741
2748
EXPORT_SYMBOL_GPL (kiocb_invalidate_pages );
2742
2749
2743
2750
/**
0 commit comments