Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / fs / iomap / buffered-io.c
index 10a203515583542d231c17104f2b871fabee7cce..063133ec77f49ecb353739d0110f82144b1c85f5 100644 (file)
@@ -468,19 +468,12 @@ EXPORT_SYMBOL_GPL(iomap_is_partially_uptodate);
 struct folio *iomap_get_folio(struct iomap_iter *iter, loff_t pos)
 {
        unsigned fgp = FGP_WRITEBEGIN | FGP_NOFS;
-       struct folio *folio;
 
        if (iter->flags & IOMAP_NOWAIT)
                fgp |= FGP_NOWAIT;
 
-       folio = __filemap_get_folio(iter->inode->i_mapping, pos >> PAGE_SHIFT,
+       return __filemap_get_folio(iter->inode->i_mapping, pos >> PAGE_SHIFT,
                        fgp, mapping_gfp_mask(iter->inode->i_mapping));
-       if (folio)
-               return folio;
-
-       if (iter->flags & IOMAP_NOWAIT)
-               return ERR_PTR(-EAGAIN);
-       return ERR_PTR(-ENOMEM);
 }
 EXPORT_SYMBOL_GPL(iomap_get_folio);
 
@@ -911,7 +904,7 @@ static int iomap_write_delalloc_scan(struct inode *inode,
                /* grab locked page */
                folio = filemap_lock_folio(inode->i_mapping,
                                start_byte >> PAGE_SHIFT);
-               if (!folio) {
+               if (IS_ERR(folio)) {
                        start_byte = ALIGN_DOWN(start_byte, PAGE_SIZE) +
                                        PAGE_SIZE;
                        continue;