]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - mm/page_io.c
xfrm: add and use xfrm_state_afinfo_get_rcu
[mirror_ubuntu-artful-kernel.git] / mm / page_io.c
index eafe5ddc2b54ce969eebcff3c06729b4525ac339..23f6d0d3470fb3a92e7932890c340055540baf55 100644 (file)
@@ -264,7 +264,7 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
        int ret;
        struct swap_info_struct *sis = page_swap_info(page);
 
-       BUG_ON(!PageSwapCache(page));
+       VM_BUG_ON_PAGE(!PageSwapCache(page), page);
        if (sis->flags & SWP_FILE) {
                struct kiocb kiocb;
                struct file *swap_file = sis->swap_file;
@@ -320,10 +320,7 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
                ret = -ENOMEM;
                goto out;
        }
-       if (wbc->sync_mode == WB_SYNC_ALL)
-               bio_set_op_attrs(bio, REQ_OP_WRITE, REQ_SYNC);
-       else
-               bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
+       bio->bi_opf = REQ_OP_WRITE | wbc_to_write_flags(wbc);
        count_vm_event(PSWPOUT);
        set_page_writeback(page);
        unlock_page(page);
@@ -338,7 +335,7 @@ int swap_readpage(struct page *page)
        int ret = 0;
        struct swap_info_struct *sis = page_swap_info(page);
 
-       BUG_ON(!PageSwapCache(page));
+       VM_BUG_ON_PAGE(!PageSwapCache(page), page);
        VM_BUG_ON_PAGE(!PageLocked(page), page);
        VM_BUG_ON_PAGE(PageUptodate(page), page);
        if (frontswap_load(page) == 0) {
@@ -388,7 +385,8 @@ int swap_set_page_dirty(struct page *page)
 
        if (sis->flags & SWP_FILE) {
                struct address_space *mapping = sis->swap_file->f_mapping;
-               BUG_ON(!PageSwapCache(page));
+
+               VM_BUG_ON_PAGE(!PageSwapCache(page), page);
                return mapping->a_ops->set_page_dirty(page);
        } else {
                return __set_page_dirty_no_writeback(page);