Rev 6321 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6321 | Rev 6938 | ||
---|---|---|---|
Line 342... | Line 342... | ||
342 | 342 | ||
343 | if (!persistent_swap_storage) { |
343 | if (!persistent_swap_storage) { |
344 | swap_storage = shmem_file_setup("ttm swap", |
344 | swap_storage = shmem_file_setup("ttm swap", |
345 | ttm->num_pages << PAGE_SHIFT, |
345 | ttm->num_pages << PAGE_SHIFT, |
346 | 0); |
346 | 0); |
347 | if (unlikely(IS_ERR(swap_storage))) { |
347 | if (IS_ERR(swap_storage)) { |
348 | pr_err("Failed allocating swap storage\n"); |
348 | pr_err("Failed allocating swap storage\n"); |
349 | return PTR_ERR(swap_storage); |
349 | return PTR_ERR(swap_storage); |
350 | } |
350 | } |
351 | } else |
351 | } else |
Line 356... | Line 356... | ||
356 | for (i = 0; i < ttm->num_pages; ++i) { |
356 | for (i = 0; i < ttm->num_pages; ++i) { |
357 | from_page = ttm->pages[i]; |
357 | from_page = ttm->pages[i]; |
358 | if (unlikely(from_page == NULL)) |
358 | if (unlikely(from_page == NULL)) |
359 | continue; |
359 | continue; |
360 | to_page = shmem_read_mapping_page(swap_space, i); |
360 | to_page = shmem_read_mapping_page(swap_space, i); |
361 | if (unlikely(IS_ERR(to_page))) { |
361 | if (IS_ERR(to_page)) { |
362 | ret = PTR_ERR(to_page); |
362 | ret = PTR_ERR(to_page); |
363 | goto out_err; |
363 | goto out_err; |
364 | } |
364 | } |
365 | copy_highpage(to_page, from_page); |
365 | copy_highpage(to_page, from_page); |
366 | set_page_dirty(to_page); |
366 | set_page_dirty(to_page); |