summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-12-25 06:45:11 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:08:19 +0300
commita6d90385e6915429a891408824b8c72219a139f2 (patch)
tree4fc2ba535438791c7cd56706ef52d00d07bf068c
parent3a0e06db71f65ae0e7a98a1db170339d40abacdc (diff)
downloadlinux-a6d90385e6915429a891408824b8c72219a139f2.tar.xz
bcachefs: (invalidate|release)_folio fixes
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/fs-io.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c
index d865081d4a21..c8f6104553aa 100644
--- a/fs/bcachefs/fs-io.c
+++ b/fs/bcachefs/fs-io.c
@@ -736,9 +736,6 @@ out:
void bch2_invalidate_folio(struct folio *folio, size_t offset, size_t length)
{
- EBUG_ON(!PageLocked(&folio->page));
- EBUG_ON(folio_test_writeback(folio));
-
if (offset || length < folio_size(folio))
return;
@@ -751,7 +748,7 @@ bool bch2_release_folio(struct folio *folio, gfp_t gfp_mask)
EBUG_ON(!PageLocked(&folio->page));
EBUG_ON(folio_test_writeback(folio));
- if (folio_test_dirty(folio))
+ if (folio_test_dirty(folio) || folio_test_writeback(folio))
return false;
bch2_clear_page_bits(&folio->page);