]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/swap_state.c
pnfs/blocklayout: plug block queues
[karo-tx-linux.git] / mm / swap_state.c
index 2972eee184a44c1dc1df3eeed766d7d3140e353b..3e0ec83d000cdf3f7a65e620dc6696f039dc8d98 100644 (file)
@@ -39,6 +39,7 @@ static struct backing_dev_info swap_backing_dev_info = {
 struct address_space swapper_spaces[MAX_SWAPFILES] = {
        [0 ... MAX_SWAPFILES - 1] = {
                .page_tree      = RADIX_TREE_INIT(GFP_ATOMIC|__GFP_NOWARN),
+               .i_mmap_writable = ATOMIC_INIT(0),
                .a_ops          = &swap_aops,
                .backing_dev_info = &swap_backing_dev_info,
        }
@@ -176,7 +177,7 @@ int add_to_swap(struct page *page, struct list_head *list)
 
        if (unlikely(PageTransHuge(page)))
                if (unlikely(split_huge_page_to_list(page, list))) {
-                       swapcache_free(entry, NULL);
+                       swapcache_free(entry);
                        return 0;
                }
 
@@ -202,7 +203,7 @@ int add_to_swap(struct page *page, struct list_head *list)
                 * add_to_swap_cache() doesn't return -EEXIST, so we can safely
                 * clear SWAP_HAS_CACHE flag.
                 */
-               swapcache_free(entry, NULL);
+               swapcache_free(entry);
                return 0;
        }
 }
@@ -225,7 +226,7 @@ void delete_from_swap_cache(struct page *page)
        __delete_from_swap_cache(page);
        spin_unlock_irq(&address_space->tree_lock);
 
-       swapcache_free(entry, page);
+       swapcache_free(entry);
        page_cache_release(page);
 }
 
@@ -386,7 +387,7 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
                 * add_to_swap_cache() doesn't return -EEXIST, so we can safely
                 * clear SWAP_HAS_CACHE flag.
                 */
-               swapcache_free(entry, NULL);
+               swapcache_free(entry);
        } while (err != -ENOMEM);
 
        if (new_page)