diff options
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index 0b2177a9fbdc..d71dc44e21ed 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c | |||
@@ -264,7 +264,7 @@ xfs_buf_free( | |||
264 | uint i; | 264 | uint i; |
265 | 265 | ||
266 | if ((bp->b_flags & XBF_MAPPED) && (bp->b_page_count > 1)) | 266 | if ((bp->b_flags & XBF_MAPPED) && (bp->b_page_count > 1)) |
267 | vunmap(bp->b_addr - bp->b_offset); | 267 | vm_unmap_ram(bp->b_addr - bp->b_offset, bp->b_page_count); |
268 | 268 | ||
269 | for (i = 0; i < bp->b_page_count; i++) { | 269 | for (i = 0; i < bp->b_page_count; i++) { |
270 | struct page *page = bp->b_pages[i]; | 270 | struct page *page = bp->b_pages[i]; |
@@ -386,8 +386,8 @@ _xfs_buf_map_pages( | |||
386 | bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset; | 386 | bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset; |
387 | bp->b_flags |= XBF_MAPPED; | 387 | bp->b_flags |= XBF_MAPPED; |
388 | } else if (flags & XBF_MAPPED) { | 388 | } else if (flags & XBF_MAPPED) { |
389 | bp->b_addr = vmap(bp->b_pages, bp->b_page_count, | 389 | bp->b_addr = vm_map_ram(bp->b_pages, bp->b_page_count, |
390 | VM_MAP, PAGE_KERNEL); | 390 | -1, PAGE_KERNEL); |
391 | if (unlikely(bp->b_addr == NULL)) | 391 | if (unlikely(bp->b_addr == NULL)) |
392 | return -ENOMEM; | 392 | return -ENOMEM; |
393 | bp->b_addr += bp->b_offset; | 393 | bp->b_addr += bp->b_offset; |