Lines Matching refs:zpool
20 struct zpool { struct
154 struct zpool *zpool_create_pool(const char *type, const char *name, gfp_t gfp, in zpool_create_pool()
158 struct zpool *zpool; in zpool_create_pool() local
174 zpool = kmalloc(sizeof(*zpool), gfp); in zpool_create_pool()
175 if (!zpool) { in zpool_create_pool()
181 zpool->driver = driver; in zpool_create_pool()
182 zpool->pool = driver->create(name, gfp, ops, zpool); in zpool_create_pool()
183 zpool->ops = ops; in zpool_create_pool()
184 zpool->evictable = driver->shrink && ops && ops->evict; in zpool_create_pool()
186 if (!zpool->pool) { in zpool_create_pool()
189 kfree(zpool); in zpool_create_pool()
196 list_add(&zpool->list, &pools_head); in zpool_create_pool()
199 return zpool; in zpool_create_pool()
213 void zpool_destroy_pool(struct zpool *zpool) in zpool_destroy_pool() argument
215 pr_debug("destroying pool type %s\n", zpool->driver->type); in zpool_destroy_pool()
218 list_del(&zpool->list); in zpool_destroy_pool()
220 zpool->driver->destroy(zpool->pool); in zpool_destroy_pool()
221 zpool_put_driver(zpool->driver); in zpool_destroy_pool()
222 kfree(zpool); in zpool_destroy_pool()
235 const char *zpool_get_type(struct zpool *zpool) in zpool_get_type() argument
237 return zpool->driver->type; in zpool_get_type()
256 int zpool_malloc(struct zpool *zpool, size_t size, gfp_t gfp, in zpool_malloc() argument
259 return zpool->driver->malloc(zpool->pool, size, gfp, handle); in zpool_malloc()
276 void zpool_free(struct zpool *zpool, unsigned long handle) in zpool_free() argument
278 zpool->driver->free(zpool->pool, handle); in zpool_free()
298 int zpool_shrink(struct zpool *zpool, unsigned int pages, in zpool_shrink() argument
301 return zpool->driver->shrink ? in zpool_shrink()
302 zpool->driver->shrink(zpool->pool, pages, reclaimed) : -EINVAL; in zpool_shrink()
327 void *zpool_map_handle(struct zpool *zpool, unsigned long handle, in zpool_map_handle() argument
330 return zpool->driver->map(zpool->pool, handle, mapmode); in zpool_map_handle()
343 void zpool_unmap_handle(struct zpool *zpool, unsigned long handle) in zpool_unmap_handle() argument
345 zpool->driver->unmap(zpool->pool, handle); in zpool_unmap_handle()
356 u64 zpool_get_total_size(struct zpool *zpool) in zpool_get_total_size() argument
358 return zpool->driver->total_size(zpool->pool); in zpool_get_total_size()
374 bool zpool_evictable(struct zpool *zpool) in zpool_evictable() argument
376 return zpool->evictable; in zpool_evictable()