diff options
author | Qu Wenruo <wqu@suse.com> | 2025-03-17 17:40:48 +1030 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2025-05-15 14:30:42 +0200 |
commit | f45e538b0002bac23a1d2b27002088aa89279b74 (patch) | |
tree | b358124589b8569a00ac78c36ecf3ec915312157 /fs/btrfs/file.c | |
parent | a4a636a43741c2706868fb97dff9a83d398ac9e3 (diff) |
btrfs: prepare btrfs_page_mkwrite() for large data folios
The function btrfs_page_mkwrite() has an explicit ASSERT() checking the
folio order.
To make it support large data folios, we need to:
- Remove the ASSERT(folio_order(folio) == 0)
- Use folio_contains() to check if the folio covers the last page
Otherwise the code is already supporting large folios well.
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r-- | fs/btrfs/file.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index cbe98e825162..d024f31731dc 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1855,8 +1855,6 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf) u64 page_end; u64 end; - ASSERT(folio_order(folio) == 0); - reserved_space = fsize; sb_start_pagefault(inode->i_sb); @@ -1921,7 +1919,7 @@ again: goto again; } - if (folio->index == ((size - 1) >> PAGE_SHIFT)) { + if (folio_contains(folio, (size - 1) >> PAGE_SHIFT)) { reserved_space = round_up(size - page_start, fs_info->sectorsize); if (reserved_space < fsize) { end = page_start + reserved_space - 1; |