]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/mpage.c
nvme-pci: quiesce/unquiesce admin_q instead of start/stop its hw queues
[karo-tx-linux.git] / fs / mpage.c
index 28af984a3d96f11f8848d0c5e04911773a3cc0f8..d6d1486d6f9990d509fa4c929a86187a4ab58341 100644 (file)
@@ -50,7 +50,8 @@ static void mpage_end_io(struct bio *bio)
 
        bio_for_each_segment_all(bv, bio, i) {
                struct page *page = bv->bv_page;
-               page_endio(page, op_is_write(bio_op(bio)), bio->bi_error);
+               page_endio(page, op_is_write(bio_op(bio)),
+                               blk_status_to_errno(bio->bi_status));
        }
 
        bio_put(bio);
@@ -115,7 +116,7 @@ map_buffer_to_page(struct page *page, struct buffer_head *bh, int page_block)
                        SetPageUptodate(page);    
                        return;
                }
-               create_empty_buffers(page, 1 << inode->i_blkbits, 0);
+               create_empty_buffers(page, i_blocksize(inode), 0);
        }
        head = page_buffers(page);
        page_bh = head;
@@ -614,6 +615,7 @@ alloc_new:
                        goto confused;
 
                wbc_init_bio(wbc, bio);
+               bio->bi_write_hint = inode->i_write_hint;
        }
 
        /*