@@ -1788,7 +1788,9 @@ static int __block_write_full_page(struct inode *inode, struct page *page,
do {
struct buffer_head *next = bh->b_this_page;
if (buffer_async_write(bh)) {
- submit_bh_wbc(write_op, bh, 0, wbc);
+ submit_bh_wbc(write_op, bh,
+ streamid_to_flags(inode_streamid(inode)),
+ wbc);
nr_underway++;
}
bh = next;
@@ -1842,7 +1844,9 @@ recover:
struct buffer_head *next = bh->b_this_page;
if (buffer_async_write(bh)) {
clear_buffer_dirty(bh);
- submit_bh_wbc(write_op, bh, 0, wbc);
+ submit_bh_wbc(write_op, bh,
+ streamid_to_flags(inode_streamid(inode)),
+ wbc);
nr_underway++;
}
bh = next;
@@ -281,6 +281,7 @@ alloc_new:
min_t(int, nr_pages, BIO_MAX_PAGES), gfp);
if (bio == NULL)
goto confused;
+ bio_set_streamid(bio, inode_streamid(inode));
}
length = first_hole << blkbits;
Pass on the inode stream ID to the bio allocation. Signed-off-by: Jens Axboe <axboe@fb.com> --- fs/buffer.c | 8 ++++++-- fs/mpage.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-)