diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/buckets.c | 4 | ||||
-rw-r--r-- | fs/btrfs/extent_io.c | 20 | ||||
-rw-r--r-- | fs/fuse/file.c | 2 |
3 files changed, 11 insertions, 15 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index 97a8af31ded1..026851ed761e 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -1501,6 +1501,10 @@ void bch2_trans_fs_usage_apply(struct btree_trans *trans, } } +/* + * XXX account for compressed, uncompresed, incompressible sectors + */ + /* trans_mark: */ static struct btree_iter *trans_get_update(struct btree_trans *trans, diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 60278e52c37a..27ca6e53c693 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -4389,28 +4389,20 @@ void extent_readahead(struct readahead_control *rac) { struct bio *bio = NULL; unsigned long bio_flags = 0; - struct page *pagepool[16]; struct extent_map *em_cached = NULL; u64 prev_em_start = (u64)-1; - int nr; - while ((nr = readahead_page_batch(rac, pagepool))) { - u64 contig_start = page_offset(pagepool[0]); - u64 contig_end = page_offset(pagepool[nr - 1]) + PAGE_SIZE - 1; + u64 contig_start = (u64) rac->index << PAGE_SHIFT; + u64 contig_end = ((u64) (rac->index + rac->nr) << PAGE_SHIFT) - 1; - ASSERT(contig_start + nr * PAGE_SIZE - 1 == contig_end); - - contiguous_readpages(pagepool, nr, contig_start, contig_end, - &em_cached, &bio, &bio_flags, &prev_em_start); - } + contiguous_readpages(rac->pagevec, rac->nr, contig_start, contig_end, + &em_cached, &bio, &bio_flags, &prev_em_start); if (em_cached) free_extent_map(em_cached); - if (bio) { - if (submit_one_bio(bio, 0, bio_flags)) - return; - } + if (bio) + submit_one_bio(bio, 0, bio_flags); } /* diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 83d917f7e542..bc384cdca6b0 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -958,7 +958,7 @@ static void fuse_readahead(struct readahead_control *rac) return; ap = &ia->ap; nr_pages = __readahead_batch(rac, ap->pages, nr_pages); - for (i = 0; i < nr_pages; i++) { + for (i = 0; i < rac->nr; i++) { fuse_wait_on_page_writeback(inode, readahead_index(rac) + i); ap->descs[i].length = PAGE_SIZE; |