Messages in this thread | | | Date | Mon, 04 Aug 2008 16:28:39 +1000 | From | Lachlan McIlroy <> | Subject | Re: [rfc][patch 3/3] xfs: use new vmap API |
| |
Looks good to me.
Nick Piggin wrote: > Implement XFS's large buffer support with the new vmap APIs. See the vmap > rewrite patch for some numbers. > > Signed-off-by: Nick Piggin <npiggin@suse.de> > --- > > Index: linux-2.6/fs/xfs/linux-2.6/xfs_buf.c > =================================================================== > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_buf.c > +++ linux-2.6/fs/xfs/linux-2.6/xfs_buf.c > @@ -265,7 +265,7 @@ xfs_buf_free( > uint i; > > if ((bp->b_flags & XBF_MAPPED) && (bp->b_page_count > 1)) > - vunmap(bp->b_addr - bp->b_offset); > + vm_unmap_ram(bp->b_addr - bp->b_offset, bp->b_page_count); > > for (i = 0; i < bp->b_page_count; i++) { > struct page *page = bp->b_pages[i]; > @@ -387,8 +387,8 @@ _xfs_buf_map_pages( > bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset; > bp->b_flags |= XBF_MAPPED; > } else if (flags & XBF_MAPPED) { > - bp->b_addr = vmap(bp->b_pages, bp->b_page_count, > - VM_MAP, PAGE_KERNEL); > + bp->b_addr = vm_map_ram(bp->b_pages, bp->b_page_count, > + -1, PAGE_KERNEL); > if (unlikely(bp->b_addr == NULL)) > return -ENOMEM; > bp->b_addr += bp->b_offset; > > >
| |