diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index e3f1d1dd06ae..42c5719155e6 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -830,11 +830,7 @@ vm_fault_t bch2_page_mkwrite(struct vm_fault *vmf) goto out; } - /* page is wholly or partially inside EOF */ - if (((page->index + 1) << PAGE_SHIFT) <= isize) - len = PAGE_SIZE; - else - len = offset_in_page(isize); + len = min_t(loff_t, PAGE_SIZE, isize - page_offset(page)); if (bch2_page_reservation_get(c, inode, page, &res, 0, len, true)) { unlock_page(page);