]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@2005 29311d96-e01e-0410-9327-a35deaa...
authorpatiencew <patiencew@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 31 Oct 2007 16:14:49 +0000 (16:14 +0000)
committerpatiencew <patiencew@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 31 Oct 2007 16:14:49 +0000 (16:14 +0000)
trunk/ceph/kernel/bufferlist.c

index 5b8dda45a689bb31945483c39593792308ed97fe..fbe2c7915bededebac60c30c1196f71d8de2896b 100644 (file)
@@ -28,7 +28,19 @@ void ceph_bl_clear(struct ceph_bufferlist *bl)
                bl->b_append.iov_base = 0;
        }       
 }
-
+void * ceph_buffer_create(u32 size)
+{
+       void *buf;
+       unsigned order = get_order(size);
+       size_t numpages = (size + PAGE_SIZE -1) >> PAGE_SHIFT; 
+
+       if (PAGE_SIZE && numpages) {
+               buf = (void *)__get_free_pages(GFP_KERNEL, order);
+       } else {
+               buf = kmalloc(size, GFP_KERNEL);
+       }
+       return(buf);
+}
 
 /*
  * add referenced memory to the bufferlist.