aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_buf.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_buf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c
index 81f4ef27de3e..bd111b7e1daa 100644
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -268,7 +268,8 @@ xfs_buf_free(
268 uint i; 268 uint i;
269 269
270 if (xfs_buf_is_vmapped(bp)) 270 if (xfs_buf_is_vmapped(bp))
271 vunmap(bp->b_addr - bp->b_offset); 271 vm_unmap_ram(bp->b_addr - bp->b_offset,
272 bp->b_page_count);
272 273
273 for (i = 0; i < bp->b_page_count; i++) { 274 for (i = 0; i < bp->b_page_count; i++) {
274 struct page *page = bp->b_pages[i]; 275 struct page *page = bp->b_pages[i];
@@ -388,8 +389,8 @@ _xfs_buf_map_pages(
388 bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset; 389 bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset;
389 bp->b_flags |= XBF_MAPPED; 390 bp->b_flags |= XBF_MAPPED;
390 } else if (flags & XBF_MAPPED) { 391 } else if (flags & XBF_MAPPED) {
391 bp->b_addr = vmap(bp->b_pages, bp->b_page_count, 392 bp->b_addr = vm_map_ram(bp->b_pages, bp->b_page_count,
392 VM_MAP, PAGE_KERNEL); 393 -1, PAGE_KERNEL);
393 if (unlikely(bp->b_addr == NULL)) 394 if (unlikely(bp->b_addr == NULL))
394 return -ENOMEM; 395 return -ENOMEM;
395 bp->b_addr += bp->b_offset; 396 bp->b_addr += bp->b_offset;