diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-06-21 02:55:13 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-06-21 03:28:19 -0400 |
commit | faa974df646ce2a4b3b328ac91731524d107cc90 (patch) | |
tree | 20822da3b0e1c31cb2d9279e94dafd0f7b99317d /fs/bcachefs/fs-io.c | |
parent | e86999fe02e3cb66a43de11ef24b77c1e3df1289 (diff) |
bcachefs: fixups for 6.5bcachefs-for-upstream-merged-next
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/fs-io.c')
-rw-r--r-- | fs/bcachefs/fs-io.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index a27f3749df5a..c7b70e1677e3 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -2497,12 +2497,7 @@ static __always_inline void bch2_dio_write_end(struct dio_write *dio) mutex_unlock(&inode->ei_quota_lock); } - if (likely(!bio_flagged(bio, BIO_NO_PAGE_REF))) { - struct folio_iter fi; - - bio_for_each_folio_all(fi, bio) - folio_put(fi.folio); - } + bio_release_pages(bio, false); if (unlikely(dio->op.error)) set_bit(EI_INODE_ERROR, &inode->ei_flags); @@ -2621,12 +2616,7 @@ out: err: dio->op.error = ret; - if (!bio_flagged(bio, BIO_NO_PAGE_REF)) { - struct folio_iter fi; - - bio_for_each_folio_all(fi, bio) - folio_put(fi.folio); - } + bio_release_pages(bio, false); bch2_quota_reservation_put(c, inode, &dio->quota_res); goto out; @@ -2752,7 +2742,6 @@ ssize_t bch2_write_iter(struct kiocb *iocb, struct iov_iter *from) } /* We can write back this queue in page reclaim */ - current->backing_dev_info = inode_to_bdi(&inode->v); inode_lock(&inode->v); ret = generic_write_checks(iocb, from); @@ -2772,7 +2761,6 @@ ssize_t bch2_write_iter(struct kiocb *iocb, struct iov_iter *from) iocb->ki_pos += ret; unlock: inode_unlock(&inode->v); - current->backing_dev_info = NULL; if (ret > 0) ret = generic_write_sync(iocb, ret); |