diff options
Diffstat (limited to 'libbcachefs/fs-io.c')
-rw-r--r-- | libbcachefs/fs-io.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libbcachefs/fs-io.c b/libbcachefs/fs-io.c index a2455b42..1d9464af 100644 --- a/libbcachefs/fs-io.c +++ b/libbcachefs/fs-io.c @@ -678,7 +678,7 @@ static void bch2_clear_page_bits(struct page *page) if (!PagePrivate(page)) return; - s = xchg(page_state(page), (struct bch_page_state) { .v = 0 }); + s.v = xchg(&page_state(page)->v, 0); ClearPagePrivate(page); if (s.dirty_sectors) @@ -1020,12 +1020,12 @@ static void bchfs_read(struct bch_fs *c, struct btree_iter *iter, if (bkey_extent_is_data(k.k)) { struct bkey_s_c_extent e = bkey_s_c_to_extent(k); - const struct bch_extent_ptr *ptr; struct bch_extent_crc_unpacked crc; + const union bch_extent_entry *i; - extent_for_each_ptr_crc(e, ptr, crc) - want_full_extent |= !!crc.csum_type | - !!crc.compression_type; + extent_for_each_crc(e, crc, i) + want_full_extent |= ((crc.csum_type != 0) | + (crc.compression_type != 0)); } readpage_bio_extend(readpages_iter, @@ -1850,8 +1850,7 @@ err_wait_io: dio->loop = true; if (!dio->sync) { - continue_at_noreturn(&dio->cl, - bch2_dio_write_loop_async, NULL); + continue_at(&dio->cl, bch2_dio_write_loop_async, NULL); return -EIOCBQUEUED; } |