inode.c (9d6b0cd7579844761ed68926eb3073bab1dca87b) inode.c (fe5ddf6b21c7b9b2c6e29ef6fd38d827ced55e6e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/inode.c
4 *
5 * Copyright (C) 1992, 1993, 1994, 1995
6 * Remy Card (card@masi.ibp.fr)
7 * Laboratoire MASI - Institut Blaise Pascal
8 * Universite Pierre et Marie Curie (Paris VI)

--- 3166 unchanged lines hidden (view full) ---

3175
3176 if (err)
3177 return 0;
3178 }
3179
3180 return iomap_bmap(mapping, block, &ext4_iomap_ops);
3181}
3182
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/inode.c
4 *
5 * Copyright (C) 1992, 1993, 1994, 1995
6 * Remy Card (card@masi.ibp.fr)
7 * Laboratoire MASI - Institut Blaise Pascal
8 * Universite Pierre et Marie Curie (Paris VI)

--- 3166 unchanged lines hidden (view full) ---

3175
3176 if (err)
3177 return 0;
3178 }
3179
3180 return iomap_bmap(mapping, block, &ext4_iomap_ops);
3181}
3182
3183static int ext4_readpage(struct file *file, struct page *page)
3183static int ext4_read_folio(struct file *file, struct folio *folio)
3184{
3184{
3185 struct page *page = &folio->page;
3185 int ret = -EAGAIN;
3186 struct inode *inode = page->mapping->host;
3187
3188 trace_ext4_readpage(page);
3189
3190 if (ext4_has_inline_data(inode))
3191 ret = ext4_readpage_inline(inode, page);
3192

--- 410 unchanged lines hidden (view full) ---

3603static int ext4_iomap_swap_activate(struct swap_info_struct *sis,
3604 struct file *file, sector_t *span)
3605{
3606 return iomap_swapfile_activate(sis, file, span,
3607 &ext4_iomap_report_ops);
3608}
3609
3610static const struct address_space_operations ext4_aops = {
3186 int ret = -EAGAIN;
3187 struct inode *inode = page->mapping->host;
3188
3189 trace_ext4_readpage(page);
3190
3191 if (ext4_has_inline_data(inode))
3192 ret = ext4_readpage_inline(inode, page);
3193

--- 410 unchanged lines hidden (view full) ---

3604static int ext4_iomap_swap_activate(struct swap_info_struct *sis,
3605 struct file *file, sector_t *span)
3606{
3607 return iomap_swapfile_activate(sis, file, span,
3608 &ext4_iomap_report_ops);
3609}
3610
3611static const struct address_space_operations ext4_aops = {
3611 .readpage = ext4_readpage,
3612 .read_folio = ext4_read_folio,
3612 .readahead = ext4_readahead,
3613 .writepage = ext4_writepage,
3614 .writepages = ext4_writepages,
3615 .write_begin = ext4_write_begin,
3616 .write_end = ext4_write_end,
3617 .dirty_folio = ext4_dirty_folio,
3618 .bmap = ext4_bmap,
3619 .invalidate_folio = ext4_invalidate_folio,
3620 .releasepage = ext4_releasepage,
3621 .direct_IO = noop_direct_IO,
3622 .migratepage = buffer_migrate_page,
3623 .is_partially_uptodate = block_is_partially_uptodate,
3624 .error_remove_page = generic_error_remove_page,
3625 .swap_activate = ext4_iomap_swap_activate,
3626};
3627
3628static const struct address_space_operations ext4_journalled_aops = {
3613 .readahead = ext4_readahead,
3614 .writepage = ext4_writepage,
3615 .writepages = ext4_writepages,
3616 .write_begin = ext4_write_begin,
3617 .write_end = ext4_write_end,
3618 .dirty_folio = ext4_dirty_folio,
3619 .bmap = ext4_bmap,
3620 .invalidate_folio = ext4_invalidate_folio,
3621 .releasepage = ext4_releasepage,
3622 .direct_IO = noop_direct_IO,
3623 .migratepage = buffer_migrate_page,
3624 .is_partially_uptodate = block_is_partially_uptodate,
3625 .error_remove_page = generic_error_remove_page,
3626 .swap_activate = ext4_iomap_swap_activate,
3627};
3628
3629static const struct address_space_operations ext4_journalled_aops = {
3629 .readpage = ext4_readpage,
3630 .read_folio = ext4_read_folio,
3630 .readahead = ext4_readahead,
3631 .writepage = ext4_writepage,
3632 .writepages = ext4_writepages,
3633 .write_begin = ext4_write_begin,
3634 .write_end = ext4_journalled_write_end,
3635 .dirty_folio = ext4_journalled_dirty_folio,
3636 .bmap = ext4_bmap,
3637 .invalidate_folio = ext4_journalled_invalidate_folio,
3638 .releasepage = ext4_releasepage,
3639 .direct_IO = noop_direct_IO,
3640 .is_partially_uptodate = block_is_partially_uptodate,
3641 .error_remove_page = generic_error_remove_page,
3642 .swap_activate = ext4_iomap_swap_activate,
3643};
3644
3645static const struct address_space_operations ext4_da_aops = {
3631 .readahead = ext4_readahead,
3632 .writepage = ext4_writepage,
3633 .writepages = ext4_writepages,
3634 .write_begin = ext4_write_begin,
3635 .write_end = ext4_journalled_write_end,
3636 .dirty_folio = ext4_journalled_dirty_folio,
3637 .bmap = ext4_bmap,
3638 .invalidate_folio = ext4_journalled_invalidate_folio,
3639 .releasepage = ext4_releasepage,
3640 .direct_IO = noop_direct_IO,
3641 .is_partially_uptodate = block_is_partially_uptodate,
3642 .error_remove_page = generic_error_remove_page,
3643 .swap_activate = ext4_iomap_swap_activate,
3644};
3645
3646static const struct address_space_operations ext4_da_aops = {
3646 .readpage = ext4_readpage,
3647 .read_folio = ext4_read_folio,
3647 .readahead = ext4_readahead,
3648 .writepage = ext4_writepage,
3649 .writepages = ext4_writepages,
3650 .write_begin = ext4_da_write_begin,
3651 .write_end = ext4_da_write_end,
3652 .dirty_folio = ext4_dirty_folio,
3653 .bmap = ext4_bmap,
3654 .invalidate_folio = ext4_invalidate_folio,

--- 2536 unchanged lines hidden ---
3648 .readahead = ext4_readahead,
3649 .writepage = ext4_writepage,
3650 .writepages = ext4_writepages,
3651 .write_begin = ext4_da_write_begin,
3652 .write_end = ext4_da_write_end,
3653 .dirty_folio = ext4_dirty_folio,
3654 .bmap = ext4_bmap,
3655 .invalidate_folio = ext4_invalidate_folio,

--- 2536 unchanged lines hidden ---