]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/nvpair/nvpair_alloc_spl.c
cstyle: Resolve C style issues
[mirror_zfs.git] / module / nvpair / nvpair_alloc_spl.c
index 63d57a19ab2bbbf9597ed6d280522764367d3a67..a75b4a6c7fd7365d0aef7138397b56386df7474f 100644 (file)
@@ -33,6 +33,12 @@ nv_alloc_sleep_spl(nv_alloc_t *nva, size_t size)
        return (kmem_alloc(size, KM_SLEEP | KM_NODEBUG));
 }
 
+static void *
+nv_alloc_pushpage_spl(nv_alloc_t *nva, size_t size)
+{
+       return (kmem_alloc(size, KM_PUSHPAGE | KM_NODEBUG));
+}
+
 static void *
 nv_alloc_nosleep_spl(nv_alloc_t *nva, size_t size)
 {
@@ -46,19 +52,27 @@ nv_free_spl(nv_alloc_t *nva, void *buf, size_t size)
 }
 
 const nv_alloc_ops_t spl_sleep_ops_def = {
-       NULL,                   /* nv_ao_init() */
-       NULL,                   /* nv_ao_fini() */
-       nv_alloc_sleep_spl,     /* nv_ao_alloc() */
-       nv_free_spl,            /* nv_ao_free() */
-       NULL                    /* nv_ao_reset() */
+       NULL,                   /* nv_ao_init() */
+       NULL,                   /* nv_ao_fini() */
+       nv_alloc_sleep_spl,     /* nv_ao_alloc() */
+       nv_free_spl,            /* nv_ao_free() */
+       NULL                    /* nv_ao_reset() */
+};
+
+const nv_alloc_ops_t spl_pushpage_ops_def = {
+       NULL,                   /* nv_ao_init() */
+       NULL,                   /* nv_ao_fini() */
+       nv_alloc_pushpage_spl,  /* nv_ao_alloc() */
+       nv_free_spl,            /* nv_ao_free() */
+       NULL                    /* nv_ao_reset() */
 };
 
 const nv_alloc_ops_t spl_nosleep_ops_def = {
-       NULL,                   /* nv_ao_init() */
-       NULL,                   /* nv_ao_fini() */
-       nv_alloc_nosleep_spl,   /* nv_ao_alloc() */
-       nv_free_spl,            /* nv_ao_free() */
-       NULL                    /* nv_ao_reset() */
+       NULL,                   /* nv_ao_init() */
+       NULL,                   /* nv_ao_fini() */
+       nv_alloc_nosleep_spl,   /* nv_ao_alloc() */
+       nv_free_spl,            /* nv_ao_free() */
+       NULL                    /* nv_ao_reset() */
 };
 
 nv_alloc_t nv_alloc_sleep_def = {
@@ -66,10 +80,16 @@ nv_alloc_t nv_alloc_sleep_def = {
        NULL
 };
 
+nv_alloc_t nv_alloc_pushpage_def = {
+       &spl_pushpage_ops_def,
+       NULL
+};
+
 nv_alloc_t nv_alloc_nosleep_def = {
        &spl_nosleep_ops_def,
        NULL
 };
 
 nv_alloc_t *nv_alloc_sleep = &nv_alloc_sleep_def;
+nv_alloc_t *nv_alloc_pushpage = &nv_alloc_pushpage_def;
 nv_alloc_t *nv_alloc_nosleep = &nv_alloc_nosleep_def;